Tutorial de integração Maven e Jenkins com Selenium

O que é Jenkins em Selênio?

Jenkins é a ferramenta líder de integração contínua de código aberto desenvolvida pelo laboratório Hudson. É multiplataforma e pode ser usado em Windows, Linux, Mac OS e ambientes Solaris. Jenkins é escrito em Java. O principal uso do Jenkin é monitorar qualquer trabalho que possa ser checkout SVN, cron ou qualquer estado de aplicativo. Ele dispara ações pré-configuradas quando ocorre uma determinada etapa nos trabalhos.

Recursos importantes do Jenkins

  • Suporte para alterações: Jenkins gera a lista de todas as alterações feitas em repositórios como SVN.
  • Links permanentes: Jenkins fornece links diretos para a versão mais recente ou versão com falha que pode ser usada para facilitar a comunicação
  • Instalação: Jenkins é fácil de instalar usando o arquivo de instalação direta (exe) ou o arquivo war para implantar usando o servidor de aplicativos.
  • Email integração: Jenkins pode ser configurado para email o conteúdo do status da construção.
  • Configuração fácil: Configurar várias tarefas no Jenkins é fácil.
  • Teste TestNG: Jenkins pode ser configurado para executar o teste de automação baseado em Teste após cada construção do SVN.
  • Várias VMs: Jenkins pode ser configurado para distribuir a compilação em várias máquinas.
  • Construção do projeto: Jenkins documenta o details do jar, versão do jar e mapeamento dos números de compilação e jar.
  • plugins: 3rd O plugin party pode ser configurado no Jenkins para usar recursos e funcionalidades adicionais.

Por que Jenkins e Selênio?

  • A execução de testes Selenium no Jenkins permite que você execute seus testes sempre que o software for alterado e implante o software em um novo ambiente quando os testes forem aprovados.
  • Jenkins pode agendar seus testes para serem executados em horários específicos.
  • Você pode salvar o histórico de execução e os relatórios de teste.
  • Jenkins oferece suporte ao Maven para construção e ensaio um projeto em integração contínua.

O que é Maven no Selenium?

Maven é uma poderosa ferramenta de gerenciamento de projeto/construção, baseada no conceito de POM (Project Object Model) que inclui informações de projeto e informações de configuração para Maven, como diretório de construção, diretório de origem, dependência, diretório de origem de teste, metas, plug-ins, etc. .

Por que Maven e Jenkins

Selenium WebDriver é ótimo para automação de navegador. Mas, ao usá-lo para testar e construir uma estrutura de teste, parece fraco. A integração do Maven com o Selenium fornece o seguintewing Benefícios
Apache Maven fornece suporte para gerenciar todo o ciclo de vida de um projeto de teste.

  • Maven é usado para definir estrutura do projeto, dependências, construção e gerenciamento de testes.
  • Usando pom.xml(Maven) você pode configurar as dependências necessárias para construir testes e executar código.
  • O Maven baixa automaticamente os arquivos necessários do repositório durante a construção do projeto.

Como instalar o Maven e usá-lo com TestNG Selenium

Aqui estão as etapas para instalar o Maven e usá-lo com TestNG Selenium

Para este tutorial, usaremos Eclipse (Juno) IDE para Java Desenvolvedores devem configurar o projeto Selenium WebDriver. Além disso, precisamos adicionar m2eclipse ligar a Eclipse para facilitar o processo de construção e criar o arquivo pom.xml.
Vamos adicionar m2eclipse ligar a Eclipse com o seguintewing passos:

Passo 1) In Eclipse IDE, selecione Ajuda | Instale um novo software da Eclipse Menu principal.

Passo 2) Na caixa de diálogo Instalar, insira o URL https://www.eclipse.org/m2e/. Selecione Trabalhar com e plugin m2e conforme mostrado a seguirwing captura de tela:

Instale o Maven e use-o com TestNG Selenium

Passo 3) Clique em Próximo botão e conclua a instalação.

configurar Eclipse com Maven

Com o plugin m2e instalado, agora precisamos criar o projeto Maven.

Passo 1) In Eclipse IDE, crie um novo projeto selecionando Envie o | Novo | Outros da Eclipse menu.

Passo 2) No Novo diálogo, selecione Maven | Projeto Maven e clique em Avançar

Instale o Maven e use-o com TestNG Selenium

Passo 3) No Novo projeto Maven caixa de diálogo selecione o Crie um projeto simples e clique em Avançar

Instale o Maven e use-o com TestNG Selenium

Passo 4) Digite WebdriverTest em ID do grupo: e ID do artefato: e clique em finalizar

Instale o Maven e use-o com TestNG Selenium

Passo 5) Eclipse irá criar WebdriverTest com o seguintewing estrutura:

Instale o Maven e use-o com TestNG Seleniuml

Passo 6) Clique com o botão direito do mouse em Biblioteca do Sistema JRE e selecione o Propriedades opção do menu.

Instale o Maven e use-o com TestNG Selenium

No Propriedades da Biblioteca do Sistema JRE diálogo box, certificar-se de que JRE padrão do espaço de trabalho está selecionado e clique em OK

Instale o Maven e use-o com TestNG Selenium

Passo 7). Selecionar pom.xml da Explorador de Projetos..

Instale o Maven e use-o com TestNG Selenium

O arquivo pom.xml será aberto na seção Editor

Instale o Maven e use-o com TestNG Selenium

Passo 8) Adicione Selenium, Maven, TestNG, Junito dependências para pom.xml no nó:

	<dependencies>			
        <dependency>				
             <groupId>junit</groupId>								
             <artifactId>junit</artifactId>								
             <version>3.8.1</version>								
             <scope>test</scope>								
        </dependency>				
        <dependency>				
            <groupId>org.seleniumhq.selenium</groupId>								
            <artifactId>selenium-java</artifactId>								
            <version>2.45.0</version>								
		</dependency>				
        <dependency>				
            <groupId>org.testng</groupId>								
            <artifactId>testng</artifactId>								
            <version>6.8.8</version>								
            <scope>test</scope>							  			
       </dependency>				
</dependencies>

Passo 9) Crie uma nova classe TestNG. Insira o nome do pacote como “exemplo” e “NewTest” no campo Nome: textobox e clique no Acabamento botão conforme mostrado a seguirwing captura de tela:

Instale o Maven e use-o com TestNG Selenium

Passo 10). Eclipse criará a classe NewTest conforme mostrado a seguirwing captura de tela:

Instale o Maven e use-o com TestNG Selenium

Passo 11) Adicione o seguintewing código para o Novo teste classe:

Este código irá verificar o título da página Guru99 Selenium

package example;		

import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.firefox.FirefoxDriver;		
import org.testng.Assert;		
import org.testng.annotations.Test;	
import org.testng.annotations.BeforeTest;	
import org.testng.annotations.AfterTest;		
public class NewTest {		
	    private WebDriver driver;		
		@Test				
		public void testEasy() {	
			driver.get("http://demo.guru99.com/test/guru99home/");  
			String title = driver.getTitle();				 
			Assert.assertTrue(title.contains("Demo Guru99 Page")); 		
		}	
		@BeforeTest
		public void beforeTest() {	
		    driver = new FirefoxDriver();  
		}		
		@AfterTest
		public void afterTest() {
			driver.quit();			
		}		
}	

Passo 12) Clique com o botão direito em WebdriverTest e selecione TesteNG | Converter para TestNG.
Eclipse criará testng.xml que diz que você precisa executar apenas um teste com o nome Novo teste como mostrado a seguirwing captura de tela:

Instale o Maven e use-o com TestNG Selenium

Atualize o projeto e certifique-se de que o arquivo apareça na árvore Explorador de Pacotes (clique com o botão direito no projeto – Atualizar).

Instale o Maven e use-o com TestNG Selenium

Passo 13) Agora você precisa executar o teste através deste testeng.xml.

Então, vá para o Configurações de execução e crie um novo lançamento TesteNG, selecione o projeto e o campo suíte as testeng.xml e clique em Executar

Instale o Maven e use-o com TestNG Selenium

Certifique-se de que a construção foi concluída com sucesso.

Passo 14). Além disso, precisamos adicionar

  1. plug-in do compilador maven
  2. plugin-maven-surefire
  3. testeng.xml

para pom.xml.

O plugin maven-surefire é usado para configurar e executar testes. Aqui o plugin é usado para configurar o testing.xml para teste TestNG e gerar relatórios de teste.

O maven-compiler-plugin é usado para ajudar na compilação do código e no uso da versão específica do JDK para compilação. Adicione todas as dependências a seguirwing trecho de código, para pom.xml no nó:

Instale o Maven e use-o com TestNG Selenium

Passo 15) Para executare testes no ciclo de vida do Maven, clique com o botão direito no WebdriverTest e selecione Correr como | Teste de especialista. Maven executará o teste do projeto.

Instale o Maven e use-o com TestNG Selenium

Certifique-se de que a construção foi concluída com sucesso.

Como fazer integração do Jenkins com Selenium WebDriver

Aqui estão as etapas para instalar o Jenkins e configurá-lo para executar o Maven com TestNg Selenium

Instalação

Passo 1) Acesse http://jenkins-ci.org/ e baixe o pacote correto para o seu sistema operacional. Instale o Jenkins.

Integração de Jenkins com Selenium WebDriver

Passo 2) Descompacte o Jenkins na pasta especificada. Execute o arquivo exe conforme mostrado a seguirwing captura de tela:

Integração de Jenkins com Selenium WebDriver

Passo 3) In Configuração do Jenkins 1.607 clique na janela Próximo botão.

Integração de Jenkins com Selenium WebDriver

Passo 4) Clique em Instale botão no final.

Integração de Jenkins com Selenium WebDriver

Passo 5) Assim que a instalação estiver concluída, navegue até o Painel Jenkins (http://localhost:8080 por padrão) na janela do navegador.

Integração de Jenkins com Selenium WebDriver

Passo 6) Clique no Novo Item link para criar um trabalho de CI.

Integração de Jenkins com Selenium WebDriver

Passo 7) Selecione o botão de opção do projeto Maven conforme mostrado a seguirwing captura de tela:

Integração de Jenkins com Selenium WebDriver

Usando o Construir um Projeto Maven opção, Jenkins oferece suporte à construção e teste de projetos Maven.

Passo 8) Clique no botão OK. Um novo trabalho com o nome “WebdriverTest” é criado no Jenkins Dashboard.

Integração de Jenkins com Selenium WebDriver

Passo 9) Acesse Gerenciar Jenkins => Configurar sistema como mostrado a seguirwing captura de tela.

Integração de Jenkins com Selenium WebDriver

Clique em instalações do JDK e configure o JDK como no seguintewing captura de tela:

Integração de Jenkins com Selenium WebDrive

Passo 10) Vou ao Construa seção do novo trabalho.

  • Na série POM raiz textobox, insira o caminho completo para pom.xml
  • Na seção Metas e opções, insira “teste limpo”
  • Integração de Jenkins com Selenium WebDriver

Passo 11) Clique em Inscreva-se botão.

Integração de Jenkins com Selenium WebDriver

Passo 12) Na página do projeto WebdriverTest, clique no botão Construir Agora link.

Integração de Jenkins com Selenium WebDriver

Maven construirá o projeto. Em seguida, o TestNG executará os casos de teste.

Passo 13) Assim que o processo de construção for concluído, no Jenkins Dashboard, clique no botão WebdriverTest projeto

Integração de Jenkins com Selenium WebDriver

Passo 14) A página do projeto WebdriverTest exibe o histórico de construção e links para os resultados conforme mostrado a seguirwing captura de tela:

Integração de Jenkins com Selenium WebDriver

Passo 15) Clique no link “Resultado do teste mais recente” para visualizar os resultados do teste conforme mostrado a seguirwing captura de tela:

Integração de Jenkins com Selenium WebDriver

Passo 16). Selecione uma compilação específica e você verá o status atual clicando em “saída do console".

Integração de Jenkins com Selenium WebDriver

Agendando Jenkins para execução automática.

Agendar compilações (testes Selenium) é um dos recursos importantes do Jenkins onde aciona automaticamente a compilação, com base em critérios definidos. Jenkins fornece várias maneiras de acionar o processo de construção na configuração Build Trigger.

Por exemplo:
Digite 0 23 * * * no texto do cronogramabox como mostrado a seguirwing captura de tela. Isso acionará o processo de construção todos os dias às 11h

Jenkins para execução automática

Usando Jenkings sem Maven

Para executar o script TestNg puro no Jenkins, insira o seguintewing em construção

D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG testng.xml

Jenkins para execução automática

  • Clique no botão Salvar.
  • Nota: O caminho real da pasta lib e bin precisa ser adicionado ao comando acima.
  • Após salvar o comando, Jenkins irá construir o projeto em um tempo predefinido, e este comando será executado usando TestNG.
  • O resultado será armazenado em um arquivo HTML de relatório personalizado que pode ser enviado via e-mail.mail com uma configuração Jenkin
  • A saída do código será

Jenkins para execução automática

Benefícios de usar Jenkins

  1. Localização antecipada de problemas – Bug pode ser detectado na fase inicial do desenvolvimento de software
  2. Integração automática – não é necessário nenhum esforço separado para integrar todas as alterações
  3. Instalador – um sistema implantável disponível em qualquer ponto de desenvolvimento
  4. Registros – registros de construção de peças mantidos
  5. Suporte e plug-ins: uma das razões da popularidade do Jenkin é a disponibilidade de grande suporte da comunidade. Além disso, muitos plug-ins prontos estão disponíveis para ajudá-lo a expandir sua funcionalidade.