Integração Maven e Jenkins com Selenium Tutorial

Em que está Jenkins Selenium?

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 Solaris ambientes. Jenkins está 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.
  • Integração de e-mail: Jenkins pode ser configurado para enviar por e-mail o conteúdo do status da construção.
  • Configuração fácil: Configurar várias tarefas no Jenkins é fácil.
  • TestNG teste: 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 os detalhes 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 Selenium?

  • Corrida Selenium Os testes no Jenkins permitem 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 Ensaios um projeto em integração contínua.

Em que Maven está 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. Integrando Maven com Selenium fornece os seguintes 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 para configurar Selenium Projeto WebDriver. Além disso, precisamos adicionar o plugin m2eclipse para Eclipse para facilitar o processo de construção e criar o arquivo pom.xml.
Vamos adicionar o plugin m2eclipse a Eclipse com os seguintes passos:

Passo 1) In Eclipse IDE, selecione Suporte | 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 na captura de tela a seguir:

Instale o Maven e use-o com TestNG Selenium

Passo 3) Clique em Next 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 a seguinte 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 caixa de diálogo, certifique-se 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) Adicionar o 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 um novo TestNG Aula. Insira o nome do pacote como “exemplo” e “NewTest” no campo Nome: caixa de texto e clique no Acabamento botão conforme mostrado na captura de tela a seguir:

Instale o Maven e use-o com TestNG Selenium

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

Instale o Maven e use-o com TestNG Selenium

Passo 11) Adicione o seguinte código ao Novo teste classe:

Este código irá verificar o título de Guru99 Selenium Página

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 TestNG | Converter para TestNG.
Eclipse criará testng.xml que diz que você precisa executar apenas um teste com o nome Novo teste conforme mostrado na seguinte 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 TestNG, 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 TestNG testar 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 no trecho de código a seguir ao 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 a integração do Jenkins com Selenium webdriver

Aqui estão as etapas para instalar o Jenkins e configurá-lo para executar o Maven com o 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 do Jenkins com Selenium webdriver

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

Integração do Jenkins com Selenium webdriver

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

Integração do Jenkins com Selenium webdriver

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

Integração do 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 do Jenkins com Selenium webdriver

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

Integração do Jenkins com Selenium webdriver

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

Integração do 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 do Jenkins com Selenium webdriver

Passo 9) Acesse Gerenciar Jenkins => Configurar sistema como mostrado na imagem a seguir.

Integração do Jenkins com Selenium webdriver

Clique em instalações do JDK e configure o JDK como na captura de tela a seguir:

Integração do Jenkins com Selenium WebDrive

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

  • De acordo com o relatório POM raiz caixa de texto, insira o caminho completo para pom.xml
  • Na seção Metas e opções, insira “teste limpo”
  • Integração do Jenkins com Selenium webdriver

Passo 11) Clique em Aplicar botão.

Integração do Jenkins com Selenium webdriver

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

Integração do Jenkins com Selenium webdriver

Maven construirá o projeto. Terá entã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 do 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 na captura de tela a seguir:

Integração do Jenkins com Selenium webdriver

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

Integração do 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 do Jenkins com Selenium webdriver

Agendando Jenkins para execução automática.

Agendamento de compilações (Selenium Testes) é um dos recursos importantes do Jenkins onde aciona automaticamente a construçã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 * * * na caixa de texto Agendar, conforme mostrado na captura de tela a seguir. 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 seguinte em build

D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG testeng.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 por e-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.