- O documento apresenta o framework de automação de testes Robot Framework, descrevendo suas principais características como ser open source, ter suporte a múltiplas linguagens de programação e bibliotecas genéricas. Também compara o Robot Framework com o Cucumber, outro framework popular.
Joomla Day Brasil 2010: Customizações para grandes portais
Robot Framework: Uma introdução ao framework de automação de testes
1.
2. NEM TUDO É PEPINO:
CUCUMBER
x
ROBOT FRAMEWORK
Rodrigo Matola - QA na Concrete
3. Meteorologista de formação, cursando e fã de
computação, curioso e fuçador, adora saber como o
mundo funciona. Estudioso de coisas e pessoas,
também tenta cuidar de um blog sobre física e
matemática, o Matemática na Real, aprender japonês
e a desenhar.
github.com/rodmatola
rodmatola@gmail.com
https://www.linkedin.com/in/rodrigomatola/
QUEM SOU EU
4. SUMÁRIO
•Agradecimentos
•Sobre o Robot Framework
•Bibliotecas
•Por que não é difundido?
•Quem usa
•Cucumber x Robot
•Comparações gerais
•Estrutura
•Extensões para browsers
•Para saber mais
•Outros frameworks
•Demonstração
7. SOBRE O ROBOT FRAMEWORK
•Criado por Pekka Klärck como parte de sua dissertação. Usado
originalmente pela Nokia.
•É um FW de automação genérico. Utiliza tabulação e é
keyword-driven.
•Implementado para Python ou Java, independente do sistema.
Também roda em Jython (JVM) e IronPython (.NET).
•RF provavelmente é o FW que mais vale a pena disponível no
mercado.
11. POR QUE NÃO É DIFUNDIDO?
algumas opiniões da internet
•Falta de popularidade. Talvez falte divulgação.
•Medo do desconhecido e acomodação por tempo de uso de outro FW.
•Conforme a suíte de testes cresce, fica mais difícil manter o código.
Ótima para iniciantes mas não muito bom para usuários avançados.
•Fácil de aprender, difícil de usar. O time desiste muito cedo, antes de
descobrir o real potencial do Robot.
18. *** Settings ***
Library importar bibliotecas (SeleniumLibrary,
AppiumLibrary)
Resource arquivos de recursos
Documentation descrição do arquivo
Suite Setup/Teardown Before/After
Test Setup/Teardown Contexto
Test Template Esquema de cenário
Test Timeout duração máxima
20. *** Test Cases ***
● local onde vamos escrever nossos cenários, casos, passos…
● equivalente ao arquivo .feature do Cucumber
21. *** Test Cases ***
@remover
Cenário: Remover checkbox
Dado que estou na página "dynamic_controls"
Quando clico no botão "Remove"
Então o checkbox é removido
E a mensagem "It's gone!" aparece
Cenário: Remover checkbox
[Tags] remover
Dado que estou na página <dynamic_controls>
Quando clico no botão Remove
Então o checkbox é removido
E a mensagem "It's gone!" aparece
Cucumber Robot Framework
22. *** Keywords ***
● onde vamos implementar os cenários, casos, passos…
● equivalente à implementação dos snippets no Cucumber.
● no Robot é ctrl+c ctrl+v do que está escrito no *** Test Case ***, mais a
implementação com os comandos da biblioteca usada.
23. *** Keywords ***
Given("que estou na página {string}") do |string|
visit "https://the-internet.herokuapp.com/"+string
end
When("clico no botão {string}") do |string|
click_on string
end
Then("o checkbox é removido") do
page.has_no_field?('checkbox')
end
And("a mensagem {string} aparece") do |string|
page.has_content?(string)
end
Dado que estou na página <${url}>
Open browser
https://the-internet.herokuapp.com/${url} chrome
Quando clico no botão ${botão}
click button ${botão}
Então o checkbox é removido
Page should not contain id=checkbox
E a mensagem "${mensagem}" aparece
Page should contain ${mensagem}
Cucumber Robot Framework
24. *** Keywords ***
Dado que estou na página <${url}>
Quando clico no botão ${botão}
Então o checkbox é removido
E a mensagem "${mensagem}" aparece
Test Case Keywords
Dado que estou na página <dynamic_controls>
Quando clico no botão Remove
Então o checkbox é removido
E a mensagem "It's gone!" aparece
25. Test Cases Tags
[Documentation] descrição dos cenários
[Tags] rótulo do cenário
[Setup] roda um comando antes do teste
[Teardown] roda um comando depois do teste
[Template] especifica um template de palavras-chave (esq. cenário)
[Timeout] tempo limite do cenário
26. Tabela de dados (Esquema de cenário)
Cucumber Robot Framework
30. Extensões (Chrome e Firefox)
Tidy and Pretty Gherkin
● editor que converte em tempo
real as features em snippets
para Java, Ruby e JS (inglês)
Capycorder
● point and click recorder
Chrome Robot
● Selenium IDE “like” para o Robot
● gera um script Robot
Robocorder
● point and click recorder
36. Centro
Av. Presidente Wilson,
231 - 29º andar
(21) 2240-2030
Cidade Monções
Av. Nações Unidas,
11.541 - 3º andar
(11) 4119-0449
Savassi
Av. Getúlio Vargas, 671
Sala 800 - 8º andar
(31) 3360-8900
www.concrete.com.br