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:

Standard Libraries (nativas)
External Libraries (bibliotecas open source)
- Criar suas próprias bibliotecas

Veja mais sobre elas em [http://robotframework.org/#libraries].

Como exemplo falarei sobre a SeleniumLibrary, que é a biblioteca para quem tem como objetivo automatizar testes WEB.

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:

pip install robotframework-seleniumlibrary

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:

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

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...

Comentários

  1. Como resolver quando da esse erro de Element

    robot -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

    ResponderExcluir
    Respostas
    1. 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.

      Excluir
  2. Olá Mayara, gostaria de inserir caracter por caracter em um input (simular forma que o usuário digita), tem alguma lib pra indicar? Obrigado!

    ResponderExcluir
  3. tenho uma dúvida may, estou fazendo o curso iniciante de robot framework e minhas tags dão esse erro:
    [ 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?

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

[ATUALIZADO] Season Libraries - Ep. 01: Library Faker para informações aleatórias e fakes

Novo Curso: Robot Framework com Playwright e GitHub Actions

Season WEB Testing - Ep. 03: Open Browser - Chrome Options