O documento discute o Robot Framework, um framework de automação de testes open source baseado em Python. Explica que ele permite testar qualquer tipo de sistema através de uma abordagem keyword-driven e é composto por libraries, variáveis, keywords e casos de teste. Demonstra como ele pode ser usado para testes web através da SeleniumLibrary.
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
1. O que é? Onde vive? Do que se
alimenta?
#1 Robot Floripa
Robot Framework:
2. Quem sou eu?
Mayara “May” Fernandes
Bacharel em Ciência da
Computação. Mais de 08
anos de experiência com
Testes de Software,
certificada CTAL-TAE. Foco
em automação de testes de
serviços (APIs).
#ROBOTIZADORES
Trabalho com o Robot
Framework já a mais de 01
ano e meio!
4. O que é? Onde
vive? Do que se
alimenta?
#ABRANGENTE
Teste o que quiser e ainda
colabore com a comunidade
fazendo ele crescer com
novas libraries...
- O que é? → Framework genérico que
permite automação de qualquer tipo
de sistema (web, API, mobile, desktop,
etc). Baseado em keyword-driven que
abstrai a camada de programação em
baixo nível.
- Onde vive? → Open Source,
desenvolvido em Python e é
multiplataforma.
- Do que se alimenta? → Estendido
através de libraries implementadas em
Python ou Java.
5. Por que o Robot
é um framework
e não apenas
uma ferramenta
de automação de
testes?
O Robot foi construído para
ter tudo necessário para
atender toda uma
arquitetura de automação:
- Camada de Modelagem
- Camada de Definição
- Camada de Execução
- Camada de Adaptação
Fonte:
syllabus_ctal_tae_2016br
8. 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 ferramentas
auxiliares (Cucumber, Behave,
etc)
9. 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):
14. 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
15. Libraries de
Interação
#CORE
Libraries para os diversos
tipos de testes!
- SeleniumLibrary (web testing)
- RequestsLibrary (REST testing)
- AppiumLibrary (mobile testing)
- AutoIt (desktop testing)
- SudsLibrary (SOAP testing)
- WhiteLibrary (desktop testing)
- SwingLibrary (JAVA desktop
testing)
- SapGuiLibrary (SAP desktop
testing)
- Entre outras...
Veja mais:
https://robotframework.org/#libraries
16. Libraries de
Utilidade
#CORE
Libraries com recursos úteis
que complementam as
libraries de interação.
- BuiltIn (utilidades do robot)
- Collections (dicionários e listas)
- XML
- DatabaseLibrary
- String
- DateTime
- OperatingSystem (arquivos e
diretórios do S.O.)
- Process (processos do S.O.)
- IMAPLibary (e-mail)
- FakerLibrary (geração de massa
de dados)
- Entre outras...
Veja mais:
https://robotframework.org/#libraries