Neste tutorial, você aprenderá como integrar o Cucumber ao Selenium Webdriver.
O que é pepino?
Cucumber é uma abordagem de teste que oferece suporte ao Behavior Driven Development (BDD). Ele explica o comportamento do aplicativo em um texto simples em inglês usando a linguagem Gherkin.
Saiba mais em - https://www.guru99.com/cucumber-tutorials.html
O que é selênio?
Selenium é uma ferramenta de automação para testes funcionais de aplicativos baseados na web. Selenium oferece suporte a linguagens diferentes, como java, ruby, python C #, etc.
Saiba mais em - https://www.guru99.com/selenium-tutorial.html
Neste tutorial do pepino, aprenderemos
- Por que usar pepino com selênio?
- Pré-requisito para usar pepino com selênio.
- Teste de automação usando pepino com selênio.
- Cenário 1: imprimir texto no console.
- Cenário 2: insira a credencial de login e redefina o valor.
- Cenário 3: Insira a credencial de login no Guru99 e redefina o valor. Faça isso para 3 conjuntos de dados.
Por que usar pepino com selênio?
Pepino e selênio são duas tecnologias populares.
A maioria das organizações usa Selenium para testes funcionais. Essas organizações que estão usando Selenium desejam integrar Selenium com Cucumber, pois Cucumber facilita a leitura e o entendimento do fluxo do aplicativo.
A ferramenta Cucumber é baseada na estrutura Behavior Driven Development que atua como uma ponte entre as seguintes pessoas:
- Engenheiro de Software e Analista de Negócios.
- Testador manual e testador de automação.
- Testador manual e desenvolvedores.
A estrutura Cucumber BDD também beneficia o cliente para entender o código do aplicativo, pois ele usa a linguagem Gherkin que está em texto simples. Qualquer pessoa na organização pode entender o comportamento do software. A sintaxe do Gherkin está em um texto simples que é legível e compreensível.
Pré-requisito para usar pepino com selênio
Antes de iniciarmos a integração do Cucumber Selenium, precisamos dos seguintes itens:
- Arquivos jar de selênio:
- Selenium-server-standalone
Pode ser baixado em http://www.seleniumhq.org/download/
Arquivos jar para pepino:
- Caroço de pepino
- Pepino-html
- cobertura de código de cobertura
- Pepino-java
- Pepino-junit
- Cucumber-jvm-deps
- Relatório de pepino
- Hemcrest-core
- Maxixe
- Junit
Pode ser baixado em https://mvnrepository.com/search?q=Cucumber
Você precisa pesquisar os arquivos e baixá-los um por um individualmente.
Por exemplo, mostraremos para você baixar um dos arquivos jar, ou seja, "Cucumber-core".
Clique no link de download acima. Ele redireciona para o site abaixo. Agora pesquise o frasco específico, ou seja, 'Cucumber Core', como mostrado na captura de tela abaixo:
Na próxima página, clique na versão 1.2.2,
Na próxima tela, clique em download para obter o arquivo jar 'Cucumber Core'.
Observação : para sua facilidade, agrupamos os arquivos jar necessários para download do Maven aqui. Com o tempo, esses jars podem ser atualizados e se tornarem incompatíveis. Você é solicitado a baixá-los usando o método ilustrado acima.
Teste de automação usando pepino com selênio.
Vamos estudar os passos para usar o pepino com selênio passo a passo. Aqui, cobriremos 3 cenários:
- Cenário 1: imprimir texto no console.
- Cenário 2: insira a credencial de login e redefina o valor.
- Cenário 3: Insira a credencial de login no Guru99 e redefina o valor. Faça isso para 3 conjuntos de dados.
Cenário 1: imprimir texto no console.
Nesse cenário, apenas imprimimos o texto no console usando o Cucumber.
Etapa 1) Criar projeto no eclipse.
Crie um projeto Java com o nome "CucumberWithSelenium", conforme mostrado na captura de tela abaixo.
Etapa 2) Adicionar arquivos Jar no projeto.
Clique com o botão direito do mouse em Projeto> Selecionar propriedades> Ir para o caminho de construção Java. Adicione todas as bibliotecas baixadas anteriormente.
Etapa 3) Criação de arquivo de característica
Para criar o arquivo de feições, primeiro crie a pasta de feições como mostrado na imagem abaixo.
Agora digite o nome da pasta 'Recursos' e clique no botão 'Concluir'.
Agora, crie um arquivo de feição na pasta 'Features' com o nome de "MyTest.feature" - o processo é semelhante à criação de uma pasta
Nota: Pode ser necessário instalar o Plug-in Cucumber Eclipse para que isso funcione. Vá para - Ajuda-> Instalar Novo Software-> copiar, colar o link http://cucumber.github.io/cucumber-eclipse/update-site/ e instalar
Etapa 4) Escreva cenários.
As linhas abaixo são escritas no arquivo 'MyTest.feature' usando a linguagem Gherkin, conforme mostrado abaixo:
Recurso: Redefina a funcionalidade na página de login do aplicativo
Cenário: Verificação do botão Reset
Dado Abra o Firefox e execute o aplicativo
Quando digite o nome de usuário e a senha
Em seguida, redefina a credencial
Explicação do código
Linha 1) Nesta linha, escrevemos a funcionalidade de negócios.
Linha 2) Nesta linha, escrevemos um cenário para teste.
Linha 3) Nesta linha definimos a pré-condição.
Linha 4) Nesta linha, definimos a ação que precisamos realizar.
Linha 4) Nesta linha, definimos o resultado ou resultado esperado.
Etapa 5) Escrever o script do testrunner de selênio para o design da estrutura Selenium Cucumber
Aqui, criamos o pacote 'TestRunner' e o arquivo de classe 'Runner.java' sob ele.
package TestRunner;import org.junit.runner.RunWith;import cucumber.api.CucumberOptions;import cucumber.api.junit.Cucumber;@RunWith (Cucumber.class)@CucumberOptions (features = "Features", glue = {"StepDefinition"})corredor de classe pública{}
No código de exemplo Java Cucumber acima, executamos o teste do pepino usando as seguintes anotações:
A anotação @RunWith () informa sobre a classe do executor de teste para iniciar a execução de nossos testes.
A anotação @CucmberOptions () é usada para definir algumas propriedades para nosso teste do pepino, como arquivo de recurso, definição de etapa, etc.
Captura de tela do arquivo TestRunner.
Etapa 6) Criação do script de definição da etapa.
Agora aqui nós criamos o pacote 'StepDefinition' e então o arquivo de script 'Steps.java' sob ele. Aqui, na verdade, escrevemos um script de selênio para realizar o teste nos métodos Cucumber.
package StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps {@Given ("Abra o Firefox e execute o aplicativo $")public void open_the_Firefox_and_launch_the_application () throws Throwable{System.out.println ("Esta etapa abre o Firefox e inicia o aplicativo.");}@When ("Digite o nome de usuário e a senha $")public void enter_the_Username_and_Password () throws Throwable{System.out.println ("Esta etapa insere o nome de usuário e a senha na página de login.");}@Então ("Redefinir a credencial $")public void Reset_the_credential () throws Throwable{System.out.println ("Esta etapa, clique no botão Redefinir.");}}
No código acima, a classe é criada com o nome 'Passos'. A anotação de pepino é usada para mapear com arquivo de feição. Cada método de anotação é definido:
A anotação @Given define o método para abrir o Firefox e lançar o aplicativo
@Quando a anotação define o método para inserir o nome de usuário e a senha
@Então a anotação define o método para redefinir a credencial
Em cada método, estamos apenas imprimindo uma mensagem.
Abaixo está a captura de tela do script 'Steps.java' e da árvore do projeto, como se parece.
Nota: A definição da etapa nada mais é do que as etapas que você deseja executar neste método pepino.
Etapa 7) Executando o Script.
O usuário pode executar este script a partir do script do executor de teste, ou seja, 'Runner.java', conforme mostrado na captura de tela abaixo.
Etapa 8) Analise a saída.
Ao executar o script 'Runner.java', ele exibe o texto no console. É o mesmo texto definido no script 'Steps.java'.
Cenário 2: insira a credencial de login e redefina o valor.
Aqui, apenas inseriremos a credencial na página de login de demonstração do Guru99 e redefiniremos o valor
Para o Cenário 2, precisamos atualizar apenas o script 'Steps.java'. Aqui, realmente escrevemos o script de selênio conforme as etapas abaixo. Primeiro, precisamos adicionar o arquivo jar Selenium a este projeto.
Etapa 1) Aqui, atualizamos o script 'Steps.java' conforme mostrado no código e na captura de tela abaixo.
package StepDefinition;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps {Driver WebDriver;@Given ("Abra o Firefox e execute o aplicativo $")public void open_the_Firefox_and_launch_the_application () throws Throwable{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");driver = novo FirefoxDriver ();driver.manage (). window (). maximize ();driver.get ("http://demo.guru99.com/v4");}@When ("Digite o nome de usuário e a senha $")public void enter_the_Username_and_Password () throws Throwable{driver.findElement (By.name ("uid")). sendKeys ("username12");driver.findElement (By.name ("senha")). sendKeys ("senha12");}@Então ("Redefinir a credencial $")public void Reset_the_credential () throws Throwable{driver.findElement (By.name ("btnReset")). click ();}}
Captura de tela do script de selênio acima.
Etapa 2) Execute o script.
Após a atualização, executamos o Runner.java.
Etapa 3) Analise a saída.
Na saída, você pode ver o seguinte:
- Navegador lançado.
- O site de demonstração do banco Guru99 é aberto.
- O nome de usuário e a senha são colocados na página de login.
- Reinicialize os valores.
Cenário 3: Insira a credencial de login no Guru99 e redefina o valor. Faça isso para 3 conjuntos de dados.
Aqui, precisamos atualizar o 'Step.java' e o arquivo de recursos.
Etapa 1) Atualize o arquivo de feições conforme mostrado abaixo:
Aqui, atualizamos o arquivo de feições com a sintaxe 'Esboço do cenário' e 'exemplos'.
Recurso: Redefina a funcionalidade na página de login do aplicativo
Esboço do cenário: Verificação do botão de redefinição com números de credenciais
Dado Abra o Firefox e execute o aplicativo
Ao inserir o nome de usuário
e a senha Em seguida, redefina a credencial
Exemplos:
| nome de usuário | senha |
| Usuário1 | senha1 |
| Usuário2 | senha2 |
| Usuário3 | senha3 |
// Nesta linha definimos o conjunto de dados.
Etapa 2) Agora atualize o script Step.java.
Aqui nós atualizamos os métodos para passar os parâmetros, script atualizado mostrado abaixo:
package StepDefinition;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps {Driver WebDriver;@Given ("Abra o Firefox e execute o aplicativo $")public void open_the_Firefox_and_launch_the_application () throws Throwable{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");driver = novo FirefoxDriver ();driver.manage (). window (). maximize ();driver.get ("www.demo.guru99.com/v4");}@When ("Digite o nome de usuário \" (. *) \ "E a senha \" (. *) \ "$")public void enter_the_Username_and_Password (String nome de usuário, String senha) throws Throwable{driver.findElement (By.name ("uid")). sendKeys (nome de usuário);driver.findElement (By.name ("senha")). sendKeys (senha);}@Então ("Redefinir a credencial $")public void Reset_the_credential () throws Throwable{driver.findElement (By.name ("btnReset")). click ();}}
Etapa 3) Agora execute o script atualizado.
A tela abaixo mostra a execução bem-sucedida do script e o tempo gasto por cada conjunto de dados.
Etapa 4) Analise a saída.
Na saída, você pode ver o seguinte:
A saída abaixo é repetida para o número de conjuntos de dados, ou seja, 3 conjuntos.
- Navegador lançado.
- O site de demonstração do banco Guru99 é aberto.
- O nome de usuário e a senha são colocados na página de login.
- Reinicialize os valores.
Conclusão.
O pepino é uma ferramenta de BDD muito popular. É fácil de ler e pode ser compreendido por todas as partes interessadas, incluindo técnicos e não técnicos.
O pepino pode ser integrado ao Selênio usando as 3 etapas seguintes
- Crie um arquivo de feições no qual define as feições e cenários passo a passo usando a linguagem Gherkin.
- Crie o arquivo Testrunner. Neste arquivo, integramos o Cucumber com o framework BDD no Selenium. Executamos este script.
- Definição da etapa de criação, o script de selênio real definido neste pacote.