integration maven with testng using maven surefire plugin
Este tutorial explica como usar o plug-in Maven Surefire para gerenciar nossas dependências e selecionar e executar scripts de teste ou suítes específicos usando TestNG:
Aqui está um guia perfeito para você sobre a integração do Maven e TestNG usando o plugin Maven Surefire e how para executar o script usando este plugin.
Vamos continuar!!
=> Verifique TODOS os tutoriais do TestNG aqui.
O que você aprenderá:
implementação de c ++ de tabela hash de encadeamento separada
O que é o plug-in Maven Surefire?
- O plugin Surefire é projetado para executar os testes de unidade de um aplicativo e pode gerar os relatórios usando o formato HTML.
- Podemos integrar plug-ins Surefire com outras estruturas de teste, como TestNG, Junit e POJO Tests, etc.
- Ele também oferece suporte a outras linguagens como C #, Ruby, Scala, etc.
Terminologias Básicas
Vamos atualizar / entender melhor as terminologias mais básicas usadas neste tutorial.
# 1) Maven: É uma ferramenta de automação de construção usada principalmente para projetos Java. Ele faz download dinamicamente de bibliotecas Java e plug-ins Maven do repositório Maven Central, que é chamado de Gerenciamento de dependência.
# 2) Repositório Central Maven : É um local onde todos os jars, bibliotecas e plug-ins do projeto são armazenados e podem ser acessados pelo Maven facilmente.
# 3) POM (Modelo de Objeto de Projeto): É um arquivo XML que contém informações sobre o projeto e detalhes de configuração usados pelo maven para construir o projeto.
# 4) TestNG : É uma estrutura de teste de código aberto que nos ajuda a executar testes antes / depois, agrupando os testes por meio de anotações e pode gerar relatórios. Ele também oferece suporte a testes orientados a dados, execução paralela e parametrização. É mais fácil de usar.
Essas são as terminologias básicas do Maven e do TestNG. Agora, vamos ver o propósito do plug-in Surefire e o procedimento de integração.
Por que precisamos do Maven com a integração TestNG?
- Sempre que estamos executando scripts de teste ou suítes usando o projeto Maven, nossas dependências são gerenciadas no arquivo POM.xml. No entanto, um conjunto de testes específico não pode ser selecionado para execução em uma lista de conjuntos disponíveis.
- No TestNG, não podemos gerenciar nossas dependências, mas podemos selecionar e executar scripts ou suítes de teste específicos.
- Dado que o Maven e o TestNG têm recursos diferentes, estamos integrando os dois usando o plugin Maven Surefire.
Fluxo de trabalho usando o plug-in Maven Surefire

- Aqui, a execução começa a partir do projeto Maven usando POM.xml. Inicialmente, ele se conecta ao Repositório Online Maven e baixa a versão mais recente das dependências.
- Como o TestNG tem a capacidade de selecionar e executar scripts ou suítes de teste específicos, estamos integrando isso ao Maven usando o plugin Maven Surefire.
Configuração do plugin Maven Surefire
Passo 1: Selecione o arquivo POM.xml do projeto Maven. Clique com o botão direito e selecione Maven => Adicionar Plugin

Passo 2: A janela Add the Plugin será exibida.

Para inserir os detalhes do plug-in:
- Vá para o Google e digite o plugin Maven Surefire.
- Clique no link maven.apache.org/surefire/maven-surefire-plugin e selecione o link ‘Usando TestNg’ no painel esquerdo da janela.
- Selecione o código XML que é exibido no cabeçalho ‘Using Suite XML Files’.
- Insira a ID do grupo, a ID do artefato e os detalhes da versão na janela Adicionar plug-in usando o trecho de código XML abaixo e clique em OK.
Código fonte:
org.maven.plugins maven-surefire-plugin 2.20 testng.xml 
Etapa 3: Ao clicar no botão OK, o Plugin é adicionado ao arquivo POM.xml.

Passo 4: Copie o snippet de código xml e adicione-o abaixo da tag.
Etapa 5: Finalmente, a configuração do código POM.xml se parece com a mostrada abaixo.
org.maven.plugins maven-surefire-plugin 2.20 testng.xml Executando Test Suite Usando Maven Surefire Plugin
Passo 1: Selecione qualquer script (LoginLogoutTest), clique com o botão direito e selecione TestNG-> Teste . Aqui, estamos tentando executar a execução em lote usando TestNG.

Passo 2: O arquivo XML será gerado na pasta Temp. Renomeie o arquivo como fullRegressionsuite.xml (renomeie-o para nossa conveniência).

Etapa 3: Crie um nome de classe para cada script e adicione na tag.

Passo 4: No arquivo POM.xml, nomeie fullRegressionsuite.xml na tag.
- É o conjunto de testes que contém um arquivo XML do TestNG que deve ser acionado pelo Maven.
- Podemos ter qualquer número de suítes de teste na tag. Para que sejam executados os Scripts que temos em cada suite.

Etapa 5 : Clique com o botão direito em POM.xml => Executar => teste Maven .

Etapa 6: O Regression Test Suite foi executado com sucesso e podemos ver a saída na janela do console.

Etapa 7: Atualize todo o projeto e o relatório do conjunto de testes pode ser visto na pasta de destino da janela Project Explorer.

Etapa 8: O relatório de execução mostrando todas as informações sobre o conjunto de testes é exibido.

Conclusão
O plugin Maven Surefire nos ajuda a gerenciar nossas dependências e selecionar e executar scripts ou suítes de teste específicos usando TestNG.
Assim, neste tutorial, conseguimos a integração do Maven com o TestNg.
Leitura feliz!!
=> Visite aqui para ver a série de treinamento TestNG para todos.
Leitura recomendada
- 20 perguntas e respostas mais populares da entrevista TestNG
- Aprenda a usar anotações TestNG no Selenium (com exemplos)
- Anotações e ouvintes do TestNG
- Exemplo de TestNG: como criar e usar o arquivo TestNG.xml
- Instalação do TestNG, programa básico e relatórios
- Tutorial TestNG: Introdução ao Framework TestNG
- Configurando o Maven com Eclipse Java IDE
- Uso da ferramenta Maven Build Automation e configuração do projeto Maven para Selenium - Selenium Tutorial # 24