Pepino - Opções de linha de comando

O pepino pode ser usado para testar quase qualquer sistema de computador. Até agora, vimos como executar um teste usando Eclipse IDE. Existe mais uma maneira pela qual podemos executar o teste Cucumber que é por meio da interface de linha de comando. Então, qual é a vantagem de fazer isso?

A execução de qualquer estrutura de teste no Terminal tem suas próprias vantagens, como substituir as configurações de execução mencionadas no código.

Para executar o teste Cucumber com prompt de comando, use as seguintes etapas após a configuração do sistema.

Step 1- Crie um projeto de teste Maven chamado commandLine.

  • Vá para Arquivo → Novo → Outros → Maven → Projeto Maven → Avançar.

  • Forneça a ID do grupo (a ID do grupo identificará seu projeto exclusivamente em todos os projetos).

  • Forneça a Id do artefato (a Id do artefato é o nome do jar sem versão. Você pode escolher qualquer nome que esteja em minúsculas).

  • Clique em Concluir.

  • Abra pom.xml -

    • Vá para o explorador de pacotes no lado esquerdo do Eclipse.

    • Expanda o projeto CucumberTest.

    • Localizar pom.xml Arquivo.

    • Clique com o botão direito e selecione a opção Abrir com “Editor de Texto”.

  • Adicionar dependência para Selenium - Isso indicará Maven, quais arquivos jar Selenium devem ser baixados do repositório central para o repositório local.

    • Abra pom.xml está no modo de edição, crie a tag de dependências (<dependencies> </dependencies>), dentro da tag do projeto.

    • Dentro da tag dependencies, crie a tag dependency. (<dependency> </dependency>).

    • Forneça as seguintes informações na tag de dependência.

<dependency> 
   <groupId>org.seleniumhq.selenium</groupId> 
   <artifactId>selenium-java</artifactId> 
   <version>2.47.1</version> 
</dependency>
  • Adicionar dependência para Cucumber-Java - Isso indicará Maven, quais arquivos Cucumber devem ser baixados do repositório central para o repositório local.

    • Crie mais uma tag de dependência.

    • Forneça as seguintes informações na tag de dependência.

<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-java</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
  • Adicionar dependência para Cucumber-JUnit - Isso indicará Maven, quais arquivos Cucumber JUnit devem ser baixados do repositório central para o repositório local.

    • Crie mais uma tag de dependência.

    • Forneça as seguintes informações na tag de dependência.

<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-junit</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
  • Adicionar dependência para JUnit - Isso indicará Maven, quais arquivos JUnit devem ser baixados do repositório central para o repositório local.

    • Crie mais uma tag de dependência.

    • Forneça as informações a seguir na tag de dependência.

<dependency> 
   <groupId>junit</groupId> 
   <artifactId>junit</artifactId> 
   <version>4.10</version> 
   <scope>test</scope> 
</dependency>
  • Verifique os binários.

    • Depois que pom.xml for editado com sucesso, salve-o.

    • Vá para Projeto → Limpar - levará alguns minutos.

Step 2 - Crie um pacote denominado “esboço” em src / test / java

Step 3 - Crie um arquivo de recurso denominado “commandLine.feature”.

  • Selecione e clique com o botão direito no esboço do pacote.

  • Clique em 'Novo' arquivo.

  • Dê ao arquivo um nome como “commandLine.feature”

  • Escreva o texto abaixo dentro do arquivo e salve-o.

    Feature - Esboço do cenário

    Scenario Outline - Funcionalidade de login para um site de rede social.

    Dado que o usuário navega para o Facebook

    Quando eu insiro o nome de usuário como "<username>" e a senha como "<senha>"

    Então o login deve ser malsucedido

Exemplos

| username  | password  | 
| username1 | password1 | 
| username2 | password2 |

Note- Aqui, a anotação de exemplo descreve a faixa de entrada a ser fornecida na execução do cenário. O cenário de teste será executado para cada uma das entradas fornecidas. Portanto, no exemplo fornecido, o cenário de teste será executado três vezes.

Step 4 - Crie um arquivo de definição de etapa.

  • Selecione e clique com o botão direito no esboço do pacote.

  • Clique em 'Novo' arquivo.

  • Nomeie o arquivo como commandLine.java

  • Escreva o seguinte texto dentro do arquivo e salve-o.

package Outline;
 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

import cucumber.annotation.en.Given; 
import cucumber.annotation.en.Then; i
import cucumber.annotation.en.When; 

public class stepdefinition { 
   WebDriver driver = null; 
	
   @Given("^user navigates to facebook$") 
   public void goToFacebook() { 
      driver = new FirefoxDriver(); 
      driver.navigate().to("https://www.facebook.com/"); 
   } 
	
   @When("^I enter Username as \"([^\"]*)\" and Password as \"([^\"]*)\"$") 
   public void I_enter_Username_as_and_Password_as(String arg1, String arg2) {
      driver.findElement(By.id("email")).sendKeys(arg1);
      driver.findElement(By.id("pass")).sendKeys(arg2);
      driver.findElement(By.id("u_0_v")).click(); 
   } 
	
   @Then("^login should be unsuccessful$") 
   public void validateRelogin() { 
      if(driver.getCurrentUrl().equalsIgnoreCase(
         "https://www.facebook.com/login.php?login_attempt=1&lwv=110")){ 
            System.out.println("Test Pass"); 
      } else { 
         System.out.println("Test Failed"); 
      } 
      driver.close(); 
   } 
}

Note- No código, temos que definir uma função com dois argumentos de entrada: um nome de usuário e outro será para senha. Portanto, para cada conjunto de entrada fornecido no tag de exemplo, o conjunto de GIVEN, WHEN e THEN será executado.

Step 5 - Crie um arquivo de classe de corredor.

  • Selecione e clique com o botão direito no esboço do pacote.

  • Clique em 'Novo' arquivo.

  • Dê ao arquivo um nome como, runTest.java

  • Escreva o seguinte texto dentro do arquivo e salve-o.

package Outline;
 
import org.junit.runner.RunWith; 
import cucumber.junit.Cucumber; 

@RunWith(Cucumber.class) 
@Cucumber.Options(format = {"pretty", "html:target/cucumber"}) 

public class runTest { }
  • Abra um prompt de comando.

  • Vá para o diretório onde reside o pacote “commandLine”. e: \ Workspace \ LoginTest \ src> cd test \ java

  • Execute o comando mvn test: Você verá que todos os cenários descritos no arquivo de feições foram executados (se não houver erro). Finalmente, na parte inferior você encontrará as seguintes informações.

Resultado

This describes the total test run, along with failure if any.

O comando anterior executa tudo conforme mencionado na classe JUnit Runner. No entanto, se quisermos substituir as configurações mencionadas no Runner, a seguir estão alguns exemplos para fazer isso.

  • Agora execute o comando mvn test - Dcucumber.options = "- help" no prompt de comando. Executar isso imprimirá todas as opções disponíveis.

  • Para executar apenas as tags específicas, execute o comando mvn test -Dcucumber.options = "- tags @SmokeTest" no prompt de comando. Ele executará apenas tags, que são marcadas com @SmokeTest.

  • Para alterar o formato do resultado, execute o comando E: \ Workspace \ LoginTest> mvn test -Dcucumber.options = "- plugin junit: target / cucumber-junit-report.xml" no prompt de comando. Ele altera o relatório formato para o gerador de relatórios JUnit.