cucumber selenium tutorial
Integração Cucumber Selenium WebDriver Java com exemplo:
No último tutorial, discutimos a ferramenta pepino , seu uso e diferentes recursos.
Seguindo em frente no nosso Treinamento online Selenium série, vamos discutir como configurar um projeto pepino e irá discutir a integração do Selenium WebDriver com o pepino.
Vamos configurar um projeto Cucumber com Maven. Para configurar o Maven em seu sistema, por favor consulte este tutorial no Maven da mesma série.
como adicionar valores a uma matriz
O que você aprenderá:
- Configuração do projeto pepino
- Integração com Cucumber Selenium WebDriver
- Conclusão:
- Leitura recomendada
Configuração do projeto pepino
Passo 1: Crie um novo projeto Maven:
Clique com o botão direito -> Novo -> Outros -> Maven -> Projeto Maven -> Próximo
Passo 2: Agora o projeto ficará assim:
Etapa 3 : Adicione as dependências abaixo em pom.xml
info.cukes cucumber-java 1.0.2 test info.cukes cucumber-junit 1.0.2 test junit junit 4.10 test
Passo 4 : Crie um arquivo sample.feature em src / test / resources.
@teste de fumaça
Recurso : Para testar meu pepino teste está em execução
Eu quero executar um arquivo de recurso de amostra.
Cenário : configuração de pepino
Dado arquivo de recurso de amostra está pronto
Quando Eu executo o arquivo de recurso
Então corrida deve ser bem sucedida
Etapa 5 : Crie uma classe em src / test / java que implementará todas as etapas.
public class stepDefinition { @Given('^sample feature file is ready$') public void givenStatment(){ System.out.println('Given statement executed successfully'); } @When('^I run the feature file$') public void whenStatement(){ System.out.println('When statement execueted successfully'); } @Then('^run should be successful$') public void thenStatment(){ System.out.println('Then statement executed successfully'); } }
Etapa # 6 : Crie um executor JUnit para executar o teste.
@RunWith(Cucumber.class) @Cucumber.Options(format={'pretty','html:reports/test-report'},tags= '@smokeTest') public class CucumberRunner { }
Forneça o caminho do relatório conforme fornecido aqui. Os relatórios serão armazenados na pasta 'relatório de teste' na pasta do projeto e o formato 'bonito' especifica o tipo de relatório.
Etapa # 7 : Resultado Junit e Relatório de Teste:
Abaixo está o relatório quando o teste do pepino foi bem-sucedido. A barra verde em Junit descreve que o teste foi aprovado. Da mesma forma, a barra vermelha descreve que o teste falhou.
Se quisermos usar o relatório padrão, navegue pelo caminho mencionado no Junit Runner. Neste caso, demos o caminho como relatórios-> relatórios de teste-> index.html.
Abra este relatório no Internet Explorer ou no Firefox para verificar o resultado. Abaixo está a amostra do relatório:
Integração com Cucumber Selenium WebDriver
A estrutura Cucumber pode ser usada para testar os aplicativos baseados na web junto com o Selenium WebDriver. Os casos de teste são escritos em arquivos de recursos simples que são facilmente compreendidos por gerentes, partes interessadas não técnicas e analistas de negócios. E essas etapas do arquivo de recursos são implementadas no arquivo de definição de etapas. Se você estiver usando o maven, será necessário adicionar dependências para Cucumber e WebDriver.
Então, aqui está o caso de teste de amostra que implementamos usando Cucumber e WebDriver. Conforme mostrado abaixo, o cenário no arquivo de recursos é autoexplicativo.
Recurso: Arquivo de recurso de login
@selênio
Cenário : Teste de cenário de login para Gmail
Dado navegue para a página do Gmail
Quando usuário conectado usando nome de usuário como “userA” e senha como “senha”
Então a página inicial deve ser exibida
Implementação do WebDriver no Cucumber stepDefinitions:
public class stepDefinition { WebDriver dr; @Given('^navigate to gmail page$') public void navigate(){ dr=new FirefoxDriver(); dr.get('http://www.gmail.com'); } @When ('^user logged in using username as '(.*)' and password as '(.*)'$') public void login(String username,String password){ dr.findElement(By.xpath('//*(@id='Email')')).sendKeys(username); dr.findElement(By.xpath('//*(@id='Passwd')')).sendKeys(password); dr.findElement(By.xpath('//*(@id='signIn')')).click(); dr.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); } @Then('^home page should be displayed$') public void verifySuccessful(){ String expectedText='Gmail'; String actualText= dr.findElement(By.xpath('//*(@id='gbq1')/div/a/span')).getText(); Assert.assertTrue('Login not successful',expectedText.equals(actualText)); } }
Neste teste, usamos o Firefox como navegador para testar a funcionalidade de login do Gmail.
Claramente, o objeto WebDriver é uma variável de classe e usado em toda a classe.
Dado declaração inicializa o navegador e navega para a página.
Quando declaração faz login no aplicativo usando o nome de usuário como “userA” e a senha como “senha”. Ambos os valores ‘nome de usuário’ e ‘senha’ são passados do arquivo de recursos e ambos os valores a serem usados na mesma ordem.
Então A instrução só valida as condições após o login no aplicativo.
Este é um teste de amostra que descreve o uso de pepino e selênio. Você pode criar arquitetura multicamadas dependendo dos requisitos do projeto.
Conclusão:
Neste Tutorial de integração do Cucumber Selenium Java, cobrimos a maioria dos conceitos do Cucumber que incluem recursos do Cucumber e seu uso junto com o WebDriver.
Isso reduz a complexidade do código que é escrito para projetar as estruturas tradicionais, como Keyword Driven e Hybrid Framework. O pepino é usado na maior parte do projeto, onde as pessoas seguem a metodologia ágil, pois o desenvolvimento orientado por comportamento é uma prática de software ágil.
Próximo Tutorial # 32 : Concluímos agora todos os tutoriais técnicos desta série de treinamento Selenium. A seguir, postaremos sobre alguns tópicos gerais importantes, como ‘Estimativa de esforço para projetos Selenium’ e ‘perguntas da entrevista Selenium com respostas’.
Por favor, poste suas dúvidas sobre o Tutorial do Cucumber Selenium.
Leitura recomendada
- Introdução ao Selenium WebDriver - Selenium Tutorial # 8
- Teste de automação usando a ferramenta Cucumber e Selenium - Selenium Tutorial # 30
- Integração de Selenium com JMeter
- Integração do Jenkins com o Selenium WebDriver: tutorial passo a passo
- Implementação do nosso primeiro script WebDriver - Selenium WebDriver Tutorial # 10
- Como lidar com alertas / pop-ups no Selenium WebDriver - Tutorial do Selenium nº 16
- Configuração e instalação completas do WebDriver com Eclipse - Selenium Tutorial # 9
- Spock para integração e testes funcionais com selênio