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:
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
Passo 3) No Novo projeto Maven caixa de diálogo selecione o Crie um projeto simples e clique em Avançar
Passo 4) Digite WebdriverTest em ID do grupo: e ID do artefato: e clique em finalizar
Passo 5) Eclipse irá criar WebdriverTest com a seguinte estrutura:
Passo 6) Clique com o botão direito do mouse em Biblioteca do Sistema JRE e selecione o Propriedades opção do menu.
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
Passo 7). Selecionar pom.xml da Explorador de Projetos..
O arquivo pom.xml será aberto na seção Editor
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:
Passo 10). Eclipse criará a classe NewTest conforme mostrado na captura de tela a seguir:
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:
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).
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
Certifique-se de que a construção foi concluída com sucesso.
Passo 14). Além disso, precisamos adicionar
- plug-in do compilador maven
- plugin-maven-surefire
- 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ó:
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.
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.
Passo 2) Descompacte o Jenkins na pasta especificada. Execute o arquivo exe conforme mostrado na captura de tela a seguir:
Passo 3) In Configuração do Jenkins 1.607 clique na janela Next botão.
Passo 4) Clique em Instale botão no final.
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.
Passo 6) Clique no Novo Item link para criar um trabalho de CI.
Passo 7) Selecione o botão de opção do projeto Maven conforme mostrado na captura de tela a seguir:
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.
Passo 9) Acesse Gerenciar Jenkins => Configurar sistema como mostrado na imagem a seguir.
Clique em instalações do JDK e configure o JDK como na captura de tela a seguir:
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”
Passo 11) Clique em Aplicar botão.
Passo 12) Na página do projeto WebdriverTest, clique no botão Construir Agora link.
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
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:
Passo 15) Clique no link “Resultado do teste mais recente” para visualizar os resultados do teste conforme mostrado na captura de tela a seguir:
Passo 16). Selecione uma compilação específica e você verá o status atual clicando em “saída do console".
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
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
- 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á
Benefícios de usar Jenkins
- Localização antecipada de problemas – Bug pode ser detectado na fase inicial do desenvolvimento de software
- Integração automática – não é necessário nenhum esforço separado para integrar todas as alterações
- Instalador – um sistema implantável disponível em qualquer ponto de desenvolvimento
- Registros – registros de construção de peças mantidos
- 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.