Slides e exercícios do tutorial ministrado em 08/04/2018 no Python Sul 2018 edição Floripa.
Correção: Link SLACK https://join.slack.com/t/robotframeworkbrasil/shared_invite/enQtMjg4ODUwNjkxNTcyLTliZDEyNGZhZDA0MDkyYWUxOGMyMmJhZDlhYmRhZTlhMDMwYTljODllYTdlZThjYTQxYzlhNGQ0ZTA5N2UwMjk
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Framework
1. Automação de Testes com
Robot Framework
Framework Python para testes automatizados
com linguagem mais humana
2. Quem somos
nós?
Mayara “May” Fernandes
Bacharel em Ciência da
Computação. Mais de 07 anos
de experiência com Testes de
Software, certificada CTAL-
TA. Foco em automação de
testes funcionais e
performance de serviços
(APIs).
#ROBOTIZADORES
Ambos trabalham
atualmente com o Robot
Framework!
Johnatha Felix
Bacharel em Sistemas de
Informação. Mais de 03
anos de experiência com
Testes de Software. Foco
em automação web.
4. O que é o Robot
Framework?
#ABRANGENTE
Teste o que quiser e
ainda colabore com a
comunidade fazendo ele
crescer com novas
libraries...
- Framework genérico que permite
automação de qualquer tipo de
sistema (web, API, mobile,
desktop, etc)
- Baseado em keyword-driven
- Estendido através de libraries
implementadas em Python ou
Java
- Não necessita IDE, possui
sintaxe tabular fácil de
utilizar em qualquer editor de
código
- Compatível com o Python 2 e 3
- Imagem docker
- Compatível com CI e cross-
browser
7. Keyword-driven
#PRODUTIVIDADE
Pule a parte complexa do
desenvolvimento com uma
linguagem de
programação! Parta para
a ação!
- Encapsula o desenvolvimento
em baixo nível das ações
- Proporciona melhor
entendimento e manutenção,
pois a linguagem é mais
natural
- PROCEDURAL: Sequência de
keywords formam o seu caso
de teste
- BDD: As keywords podem ser
escritas em Gherkin e já
são a sua documentação, não
necessitando de frameworks
auxiliares (Cucumber,
Behave, etc)
8. Exemplo: Abrir o browser já com uma URL carregada
Open Browser https://www.facebook.com/ firefox
Keyword (RobotFramework com SeleniumLibrary):
def open_browser(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(20)
self.base_url = "https://www.facebook.com/"
self.verificationErrors = []
self.accept_next_alert = True
Script (Python com Selenium WebDriver):
10. Libraries
#CORE
Dicionários de keywords
prontas para usar!
- Conjunto de keywords
para uma determinada
funcionalidade
- Bem documentadas
- Standard e External
- Colabore com a
comunidade: corrija,
amplie e crie novas
libraries
12. - Python 2.7 (c/ pip)
- Configure as variáveis de
ambiente
- Instale o Robot Framework
- pip install robotframework
- Escolha um editor e
instale (Visual Code,
ATOM, PyCharm, Eclipse)
- Baixe e configure os
plugins/extensões necessárias
para o Robot Framework do seu
editor escolhido
- Baixe os drivers
- chromedriver e geckodriver
- Instale a Selenium Library
- pip install robotframework-
seleniumlibrary
Instalações
#CHECKLIST
Instale os pré-requisitos
para iniciarmos nosso
hands on!
13. - Vamos falar um pouco de
HTML e locators
- Escrever os
cenários/casos de teste
- Implementar os testes
- Executar os testes
- Analisar os LOGs e
REPORTS
- Mão na massa: Faça o
desafio, tire dúvidas e
discuta soluções!!
Hands on
Case: Loja E-commerce
#WEBTESTING
Para nossa prática vamos
utilizar um exemplo de
automação de um website.
14. Estratégias Básicas de HTML Locators
Extras:
https://www.swtestacademy.com/xpath-selenium/
https://www.swtestacademy.com/css-selenium/
15. Tutorial - Automação de Testes com Robot Framework - Web Testing
Case: Loja e-commerce
Casos de Teste
Caso de uso Passos Resultado esperado
Pesquisar Produtos
Existentes
1 Acessar página home do site. Página home deve ser exibida.
2 Digitar o nome de produto "Blouse" no campo de pesquisa.
3 Clicar no botão de pesquisa. O sistema deve exibir a tela com o resultado da pesquisa, listando o produto pesquisado.
Pesquisar Produtos não
Existentes
1 Acessar página home do site. Página home deve ser exibida.
2
Digitar o nome de produto "produtoNãoExistente" no campo de
pesquisa.
3 Clicar no botão de pesquisa.
O sistema deve exibir a mensagem "No results were found for your search
"produtoNãoExistente""
Listar Produtos
1 Acessar página home do site. Página home deve ser exibida.
2
Passar o mouse por cima da categoria "Women" no menu principal
superior de categorias.
As sub categorias devem ser exibidas.
3 Clicar na sub categoria "Summer Dresses" Uma página com os produtos da categoria selecionada deve ser exibida.
Adicionar Produtos no
Carrinho
1 Acessar página home do site. Página home deve ser exibida.
2 Digitar o nome de produto "t-shirt" no campo de pesquisa.
3 Clicar no botão de pesquisa. O sistema deve exibir a tela com o resultado da pesquisa, listando o produto pesquisado.
4 Clicar no botão "Add to cart" do produto. Uma tela de confirmação deve ser exibida.
5 Clicar no botão "Proceed to checkout"
A tela do carrinho de compras deve ser exibido, juntamente com os dados do produto
adicionado e os devidos valores.
Remover Produtos
1 Acessar página home do site. Página home deve ser exibida.
2 Clicar no ícone carrinho de compras no menu superior direito. A tela do carrinho de compras deve ser exibido.
3
Clicar no botão de remoção de produtos (delete) no produto do
carrinho.
O sistema deve exibir a mensagem "Your shopping cart is empty."
Adicionar Cliente
1 Acessar página home do site. Página home deve ser exibida.
2 Clicar no botão superior direito “Sign in”. A página para fazer login deve ser exibida.
3 Inserir um e-mail válido.
3 Clicar no botão "Create na account". A página com os campos de cadastro deve ser exibida.
4 Preencher os campos obrigatórios.
5 Clicar em "Register"para finalizar o cadastro. A página de gerenciamento da conta deve ser exibida.
16. - http://robotframework.org
- http://robotframework.org/
robotframework/#user-guide
- https://robotizandotestes.
blogspot.com.br/
- https://github.com/mayribe
irofernandes/testesrobotfr
amework
- SLACK:
https://github.com/mayribe
irofernandes/testesrobotfr
amework
- WHATSAPP:
https://chat.whatsapp.com/
GpbMka6NxEeLvk479JKXoJ
Referências e
Comunidade
#APRENDAMAIS
Agora é com você, explore
mais o poder do Robot
Framework e se junte a
comunidade!