Fala pessoal,
Fiz um compilado para quem está começando em Cucumber ou para servir de referência pra quem já trabalha com o framework. Possui quase tudo que já pesquisei e que vem me ajudando na escrita dos meus projetos. Têm posts de muitos dos meus mestres da QANinja Fernando Papini e Thiago Marques, Samanta Cicília (Concrete Solutions), entre outros. É simples, e apresenta uma curva de aprendizado alta e nos dias de hoje é imprescindível na carreira de qa. Tentei pôr os post por ordem de precisão.
Configurando o GIT:
- http://gabsferreira.com/instalando-o-git-e-configurando-github/
- http://rogerdudler.github.io/git-guide/index.pt_BR.html
- https://tableless.com.br/tudo-que-voce-queria-saber-sobre-git-e-github-mas-tinha-vergonha-de-perguntar/
Passo a passo, leitura obrigatória - Capybara for all - do Thiago Marques
Configurando ambiente Cucumber no Windows:
Configurando ambiente Cucumber no Mac e Linux:
Desenvolvam no Atom, gente (é 0800, comunidade bem ativa e tem ótimos plugins):
Escreva tudo usando page objects, teremos um código limpo e fácil para dar manutenção:
Magneton, gem que facilita a criação estrutural de novos projetos:
Capybara, comandos básicos:
visit ‘https://google.com.br’ – Para visitar alguma url.
page.find(:id, “id do elemento”).click – Clica em um elemento definido por ID.
page.find(:css, “css do elemento”).click – Clica em um elemento definido por CSS.
page.find(:xpath, “xpath do elemento”).click – Clica em um elemento definido por XPATH.
page.all(:id, “id do elemento”)[0].click – Clica no primeiro elemento dentro de uma lista definido por ID.
page.all(:css, “css do elemento”)[0].click – Clica no primeiro elemento dentro de uma lista definido por CSS.
page.all(:xpath, “xpath do elemento”)[0].click – Clica no primeiro elemento dentro de uma lista definido por XPATH.
PS: Quando nos depararmos com um checkbox, radiobutton, utilizar da seguinte forma:
page.find(:radio_button, ‘nome do radiobutton’).set(true) – Nesse caso, ele vai selecionar aquele radiobutton.
page.find(:checkbox, ‘nome do checkbox’).set(true) – Nesse caso, ele vai selecionar aquele checkbox.
fill_in ‘nome do elemento para inserir valor’, :with => “Aprendendo Capybara” – Irá inserir no elemento a string Aprendendo Capybara.
select ‘Nome do item no Drop Down’, from: ‘nome do elemento drop down’ – Seleciona um item de um drop down.
ex: select ‘Apto’, from ‘tipo_moradia’
click_button ‘Cadastrar’ – Clic no botão cadastrar.
click_link ‘Home’ – Clica no link Home caso haja algum na página.
expect(page).to have_content ‘Cadastro efetuado com sucesso’ – Procura a mensagem e caso tenha, será sucesso.
Mais comandos Capybara:
Geração de massa aleatória, utilização do faker:
Adicionem a extensão Eskry no Chrome para buscar elementos xpath e CSS de um jeito bem elegante:
Jeito fácil de usar jQuery hehehe!!
RSPEC:
- https://github.com/rspec/rspec-expectations
- http://www.rubydoc.info/gems/rspec-expectations/RSpec/Expectations
- https://gist.github.com/steveclarke/2353100
Integração contínua de projetos com Jenkins:
- https://medium.com/@fernandosqa/um-poquito-de-devops-com-jenkins-docker-cucumber-tests-e-reports-parte-1-a179b84fc227#.f91u6xu9q
- https://medium.com/@fernandosqa/um-poquito-de-devops-com-jenkins-docker-cucumber-tests-e-reports-parte-2-39653b23fc00#.m5empj7le
e Circle Ci:
Compartilho com vocês o que tenho na minha barra de favoritos para referências rápidas das documentações. O passo a passo vocês vêem nos links. Estou sempre incluindo novos projetos, forks e referências no meu git também:
Se precisar marcamos uns hangouts. Qualquer coisa é só chamar! hehe.
Abraço.