Season Tutoriais - Ep. 02: Escolhendo e instalando a(s) biblioteca(s) que irá usar no seu teste [Library]
Olááá robotizadores que irão fazer lindos testes cheios de funcionalidade utilizando as bibliotecas disponíveis para o Robot!!!! Neste post explicarei como pesquisar, instalar, entender e usar uma biblioteca (Library). Preparado?
Passo 01: Escolhendo e instalando a(s) biblioteca(s) que irá usar no seu teste (Library)
A biblioteca é um conjunto de keywords que executam uma determinada função no Robot Framework.
Antes de começar a testar algo, pesquise e descubra a library que tem as funções que você precisará para o objetivo do seu teste. O Robot Framework disponibiliza 03 opções:
Como exemplo falarei sobre a SeleniumLibrary, que é a biblioteca para quem tem como objetivo automatizar testes WEB.
A SeleniumLibrary é uma external library e aqui está a sua documentação [https://github.com/robotframework/SeleniumLibrary].
Ela disponibiliza keywords tais como: Open Browser, Click Element, Wait Until Element is Visible, Page Should Contain, Close Browser, entre diversas outras keywords para testar uma página web.
Antes de começar a testar algo, pesquise e descubra a library que tem as funções que você precisará para o objetivo do seu teste. O Robot Framework disponibiliza 03 opções:
- Standard Libraries (nativas)
- External Libraries (bibliotecas open source)
- Criar suas próprias bibliotecas
Como exemplo falarei sobre a SeleniumLibrary, que é a biblioteca para quem tem como objetivo automatizar testes WEB.
A SeleniumLibrary é uma external library e aqui está a sua documentação [https://github.com/robotframework/SeleniumLibrary].
Ela disponibiliza keywords tais como: Open Browser, Click Element, Wait Until Element is Visible, Page Should Contain, Close Browser, entre diversas outras keywords para testar uma página web.
#FICAADICA: É de extrema importância você estudar sua external library, mas estudar as standard libraries é mais importante ainda, pois são nelas que constam as diversas keywords nativas do Robot Framework que com certeza você irá usar muito!!
Passo 01.1: Instalando uma library
Toda library (exceto as nativas) você precisará instalar antes de utilizá-las. Comumente instalamos via pip do python. Para instalar a SeleniumLibrary, por exemplo, entre no prompt de comando e digite:CORREÇÃO: A library seleniumLibrary disponibilizou recentemente uma versão beta. Em alguns casos usar a versão antiga gera erros de compilação, então ela precisará ser atualizada, para isso rode o comando:
pip install --pre --upgrade robotframework-seleniumlibrary
Depois confira a versão que deve ser 3.0.0b1:
Versão beta SeleniumLibrary |
Passo EXTRA: Para testes que envolvem o Selenium, você também precisará baixar os drivers que simulam os browsers
Baixe os drivers abaixo e os coloque em C:\Python27\Scripts:
- Chrome driver [https://sites.google.com/a/chromium.org/chromedriver/downloads]
- Firefox driver [https://github.com/mozilla/geckodriver/releases]
Se for utilizar outros browsers, baixe os seus respectivos drivers e também coloque-os na pasta Scripts.
Passo 02: Instanciando a library no seu teste
Na seção *** Settings *** do seu arquivo Resource.robot você precisará instanciar a(s) biblioteca(s) que deseja usar, é simples assim:
*** Settings ***
Library SeleniumLibrary
Library SeleniumLibrary
Passo 03: Pesquisando e utilizando keywords da library
Toda library tem sua documentação e é nela que você irá pesquisar e ver as keywords existentes e como elas funcionam.
Segue documentação da SeleniumLibrary: [http://robotframework.org/SeleniumLibrary/SeleniumLibrary.html]
#FICAADICA: Seção Shortcuts. Nessa seção da documentação você pode pesquisar todas as keywords existentes e clicar na que você quer ver o detalhe/funcionamento.
Passo 03.1: Especificação e uso de uma keyword
Como exemplo, vamos usar a Click Element. Na segunda coluna são os parâmetros que ela precisa para executar e a terceira coluna explica o que ela faz. Então no Robot essa keyword usaríamos assim:
Click Element ${BOTAO_LUPA}
Onde ${BOTAO_LUPA} é o locator que pode ser um id/css/xpath/etc que identifica o elemento web que estamos querendo clicar.
#FICAADICA: No Robot Framework é necessário dar pelo menos 02 espaços entre uma keyword e outra, entre uma keyword e um parâmetro, entre um parâmetro e outro, entre uma variável e seu valor atribuído, etc. Tudo que está separado apenas por 01 espaço, o python identificará como uma string única.
E aí?? Gostaram? Prontos para pesquisar e utilizar todo o poder das várias bibliotecas existentes para o Robot Framework? Até mais robotizadores...
Como resolver quando da esse erro de Element
ResponderExcluirrobot -d ./log tests\login_form.robot
==============================================================================
Login Form
==============================================================================
Login com sucesso
DevTools listening on ws://127.0.0.1:56720/devtools/browser/80a6895f-ebe8-4814-a4b1-52c9a1f9f303
Login com sucesso | FAIL |
ElementNotInteractableException: Message: element not interactable: element has zero size
(Session info: chrome=84.0.4147.105)
------------------------------------------------------------------------------
Login Form | FAIL |
1 critical test, 0 passed, 1 failed
1 test total, 0 passed, 1 failed
Olá!!! Talvez falte um Wait Until Element is Visible ou Enabled antes de interagir com ele. Aparentemente o Chrome tentou interagir, mas ele ainda estava sendo renderizado.
ExcluirOlá Mayara, gostaria de inserir caracter por caracter em um input (simular forma que o usuário digita), tem alguma lib pra indicar? Obrigado!
ResponderExcluirtenho uma dúvida may, estou fazendo o curso iniciante de robot framework e minhas tags dão esse erro:
ResponderExcluir[ ERROR ] Suite 'Amazon Test Gherkin Bdd' contains no tests matching tag 'menus'.
então não consigo rodar o teste por tag como faz nos videos.
poderia me ajudar?