O Cucumber não é uma ferramenta de automação do navegador, mas funciona bem com as seguintes ferramentas de automação do navegador.
O WebDriver foi projetado para fornecer uma ferramenta mais simples , interface de programação mais concisa do que algumas outras ferramentas. O Selenium-WebDriver oferece melhor suporte a páginas da web dinâmicas onde os elementos de uma página podem mudar sem que a própria página seja recarregada. O objetivo do WebDriver é fornecer uma API orientada a objetos bem projetada que forneça suporte aprimorado para problemas modernos de teste de aplicativos da web avançados.
Selenium-WebDriver pode ser usado em várias linguagens de programação, incluindo Java, JavaScript, Ruby e Kotlin.
Vejamos um exemplo de Cucumber usando Selenium-WebDriver em testes de IU, convertendo o driver Selenium-Web por exemplo.
Podemos expressar o exemplo como o seguinte cenário:
Mais informações sobre o Selenium Webdriver.
Ferramentas de automação do navegador para JVM
Serenity BDD é uma biblioteca de relatórios de código aberto que ajuda você a escrever critérios de aceitação automatizados mais bem estruturados e mais fáceis de manter. O Serenity também produz relatórios de teste ricos e significativos (ou “documentação viva”) que relatam não apenas os resultados do teste, mas também quais recursos foram testados.
Um tutorial detalhado sobre como usar o Cucumber-JVM com o Serenity pode ser encontrado aqui, e mais informações sobre o Serenity podem ser encontradas em seu site oficial.
O Serenity BDD é uma biblioteca de relatórios de código aberto que ajuda você a escrever critérios de aceitação automatizados mais bem estruturados e sustentáveis. O Serenity também produz relatórios de teste significativos e ricos (ou “documentação viva ”) Que relatam não apenas os resultados do teste, mas também quais recursos foram testados.
Um tutorial detalhado sobre como usar o Cucumber-JVM com o Serenity pode ser encontrado aqui, e mais informações sobre o Serenity podem ser encontradas em seu site oficial .
Serenity só funciona com linguagens JVM. Serenity só funciona com linguagens JVM.
Ferramentas de automação de navegador para Ruby
Watir (pronuncia-se água), é uma família de código aberto (BSD) de bibliotecas Ruby para automatizar o navegador da web s. Ele permite que você escreva testes que são mais fáceis de ler e manter. É simples e flexível.
O Watir dirige os navegadores da mesma forma que as pessoas. Ele clica em links, preenche formulários, pressiona botões. Watir também verifica os resultados, como se o texto esperado aparece na página.
Watir é uma família de bibliotecas Ruby, mas oferece suporte ao seu aplicativo, independentemente da tecnologia em que foi desenvolvido. Enquanto o Watir oferece suporte apenas ao Internet Explorer em Janelas; Watir-WebDriver resolve o teste de um único navegador e oferece suporte para Chrome, Firefox, Internet Explorer, Opera e também executando no modo headless (HTMLUnit).
Agora, vamos pular para um programa de teste de IU de amostra usando o Watir:
Agora vamos incorporar Cucumber a este teste:
Mais informações sobre Watir.
Watir só funciona com Ruby.Watir só funciona com Ruby.Watir só funciona com Ruby.
Capybara
Cucumber-Rails é pré-configurado com suporte para teste de integração de visão usando Capybara (script/generate cucumber --capybara
).
A menos que seja instruído de outra forma, o gerador de instalação do Cucumber-Rails configurará os arquivos de suporte necessários para Capybara.
Embora Capybara seja o método de teste preferido para visualizações HTML em cucumber-rails, ele não jogar bem com o próprio MiniTest/Test::Unit
do Rails. Em particular, sempre que Capivara é necessária para um mundo do pepino, o response.body
método de Rails Test::Unit
é removido. Capivara depende de Nokogiri e Nokogiri prefere usar XML em vez de tags CSS. Esse comportamento pode ser substituído em ./features/support/env.rb
.
Mais informações sobre Capivara.
Capybara só funciona com Ruby.Capybara só funciona com Ruby.Capybara só funciona com Ruby.
Captura de tela em caso de falha
Fazer uma captura de tela quando um cenário falha pode ajudá-lo a descobrir o que deu errado. Para fazer uma captura de tela em caso de falha, você pode configurar um after hook.
Abaixo está um exemplo de como fazer uma captura de tela com o WebDriver para cenários de falha e incorporá-los ao relatório do Cucumber.
Abaixo está um exemplo de como fazer uma captura de tela com o WebDriver para cenários de falha e incorporá-los ao relatório do Cucumber.
Abaixo está um exemplo de como fazer uma captura de tela com o WebDriver para cenários de falha e incorporá-los ao relatório do Cucumber.
Abaixo está um exemplo de como fazer uma captura de tela com o Capybara para cenários de falha e incorporá-los ao relatório do Cucumber.
Vários navegadores
Cucumber pode executar seus cenários com diferentes navegadores, com base em uma propriedade de configuração carregada em tempo de execução:
Em seguida, defina a propriedade browser
ao executar o Cucumber:
Se você estiver usando o Serenity, passe a driver
propriedade do sistema (sem necessidade de codificação extra):
Se você estiver usando o Serenity, passe a driver
propriedade do sistema (sem necessidade de codificação extra):