Robot Framework
Conteúdo básico do curso (Udemy) + testes adicionais.
- Nome do Curso: Testes Automatizados Usando Robot Framework – Módulo 1
---- Pré-Requisitos Robot com Selenium Library ----
- Sistema Operacional Windows
- Download da Linguagem Python (https://www.python.org/downloads/)
- Marcar opção de instalar o PIP durante instalação do Python
- python --version
- pip --version
- Download do Robot Framework via linha de comando no terminal: pip install robotframework
- robot --version
- Download do Selenium Library: pip install robotframework-seleniumlibrary
- Download do Geckodriver: https://github.com/mozilla/geckodriver/releases
- Download do chrome driver (https://chromedriver.chromium.org/downloads)
- Salvar ambos os arquivos executáveis (geckodriver e chrome driver), dentro da pasta scripts onde foi instalado o Python na sua máquina.
---- Pré-Requisitos Robot com Appium Library ----
---- Pré-Requisitos Robot com Desktop Library (Zoomba) ----
- Sistema Operacional Windows
- Download da Linguagem Python (https://www.python.org/downloads/)
- Marcar opção de instalar o PIP durante instalação do Python
- python --version
- pip --version
- Download do Robot Framework via linha de comando no terminal: pip install robotframework
- robot --version
- Download do Desktop Library (Zoomba): pip install robotframework-zoomba
Na versão 2.1 foi adicionado uma nova Biblioteca chamada ScreenCapLibrary.
Por favor, instale usando o comando via terminal.
pip install --upgrade robotframework-screencaplibrary
Página e APP usados durante os testes:
Bibliotecas do Robot:
- Selenium Library
- Appium Library
- Desktop Library (Zoomba)
---- Lista de Testes com Selenium ----
- Criar uma conta
- Login inválido (esquema de cenário)
- CRUD de movimentações/transações
---- Lista de Testes com Appium ----
- Interação com abas, alertas, accordion, cliques longo e normal, scroll (up, down, left, right), swipe de elementos, formulário.
- Exemplo usando e2e usando uma aplicação nativa (a apk está na pasta resources - ctAppium)
- Exemplo acessando aplicação híbrida (troca de contexto para webview)
- Obs: Talvez precise atualizar a versão do chromedrive de acordo com a versão do seu navegador no device simulado
-
Drag and Drop, não funcionou 😔
---- Lista de Testes com Desktop ----
- Operações na calculadora do Windows
- Escrever no bloco de notas
---- Diferenciais no projeto ----
- Page Object
- Robot Framework
- Selenium Library
- Appium Library
- Desktop Library (Zoomba)
- Massa de Dados / Data Driven
- Geração de Report
- Contexto Webview para mobile (aplicação híbrida)
---- Lista de Comandos: ----
Instalar dependências via node
npm i
Executar todos os testes de exemplo do robot framework
npm run robot:exemplos
---- Comandos para rodar os testes com Selenium: ----
Executar todos os testes com selenium webdriver
npm run robot:selenium
Executar todos os testes com massa de dados
npm run robot:selenium-login_invalido
Acesse o arquivo package.json para ver todos os comandos disponíveis.
---- Comandos para rodar testes com Appium: ----
Observação: Para executar os testes com appium é preciso antes inicializar o device pelo AVD Manager no Android Studio.
Iniciar o appium
appium
Iniciar o ADB
adb start-server
Executar todos testes com appium
npm run robot:appium
Executar teste e2e com aplicação nativa
npm run robot:appium-aplicacao-nativa
Executar teste com aplicação híbrida
npm run robot:appium-aplicacao-hibrida
Acesse o arquivo package.json para ver todos os comandos disponíveis.
Comando para visualizar a tela e inspecionar elementos
uiautomatorviewer
---- Comandos para rodar testes com Zoomba (desktop): ----
Observação: Para executar os testes com zoomba é preciso antes ter instalado o WinAPPDriver e habilitar modo desenvolver do Windows
Executar todos testes com appium
npm run robot:desktop
Executar teste na calculadora do Windows
npm run robot:desktop-calculadora
Executar teste no bloco de notas do Windows
npm run robot:desktop-notepad
Como inspecionar elementos no Windows?
Baixar o programa https://docs.microsoft.com/en-us/windows/win32/winauto/inspect-objects
ou https://accessibilityinsights.io/