Introdução às anotações TestNG

Como sabemos, o TestNG é uma estrutura de automação de teste usada junto com a estrutura Selenium para facilitar o processo de automação de teste. Mas surge a pergunta: o que é anotação e por que eles são usados? As anotações no TestNG são uma instrução / código que é adicionado no código para instruir o compilador a controlar o fluxo de execução de caso de teste de acordo com os requisitos específicos. Como existe uma sequência de métodos, variáveis ​​e funções que precisam ser seguidas para executar os casos de teste corretamente. As anotações TestNG guiam isso para o compilador com as anotações simples e fáceis de entender e, portanto, não há necessidade de usar o método principal estático no programa que especifica o início da execução do código.

Anotações TestNG

Existem várias anotações TestNG e cada anotação é usada para uma finalidade diferente. As anotações com suas explicações são mencionadas abaixo:

1. @BeforeSuite: esse método anotado é executado antes da execução de todos os testes em um conjunto de testes.

2. @AfterSuite: esse método anotado é executado após a execução de todos os testes em um determinado conjunto de testes.

3. @BeforeTest: este método anotado é executado antes de qualquer método de teste relacionado à classe definida dentro da tag.

4. @AfterTest: Este método anotado é executado após a execução de todo método de teste relacionado à classe definida dentro da tag.

5. @BeforeClass: este método anotado é executado apenas uma vez e é executado antes do primeiro método de teste da classe mencionada.

6. @AfterClass: Este método anotado é executado apenas uma vez e é executado após a execução de todos os métodos de teste da classe mencionada / atual.

7. @Test: Este método anotado marca qualquer classe ou método como parte de um teste que precisa ser testado. Possui vários parâmetros mencionados abaixo:

  • alwaysRun: O método de teste sempre é executado se for definido como verdadeiro, independentemente do caso de teste do qual depende falhar.
  • dataProvider: define o nome do provedor de dados para o caso de teste.
  • depende dos métodos: define a lista de métodos dos quais esse método específico depende.
  • DependOnGroups : define a lista de grupos dos quais esse método específico depende.
  • Descrição : define a descrição do método
  • Ativado : define se o método está ativado ou não. Se for definido como false, esse método não será executado ou será considerado não presente.
  • Prioridade : define a prioridade do método de teste específico após o qual ele deve ser executado. Os valores de prioridade mais baixa são agendados primeiro e se os casos de teste não tiverem definido nenhum valor de prioridade, o TestNG atribui um valor de prioridade padrão (0).
  • successPercentage : define a porcentagem de sucesso esperada desse método.
  • invocationCount : como o nome sugere, ele especifica o número de vezes que o método é chamado.
  • timeOut : define o número máximo de vezes que um caso de teste específico deve levar para ser executado. É definido em milissegundos.
  • InvocationTimeOut : como timeOut, especifica o número de milissegundos que um método deve levar para concluir todas as contagens de chamadas. Seus valores são sempre fornecidos em milissegundos.

8. @BeforeMethod: este método anotado é executado antes de cada método de teste.

9. @AfterMethod: este método anotado será executado após cada método de teste.

10. @BeforeGroups: este método anotado será executado antes do primeiro método de teste do respectivo grupo que faz parte da execução.

11. @AfterGroups: Este método anotado será executado após todos os métodos de teste ou após a invocação do último método do respectivo grupo, que faz parte da execução.

12. @DataProvider: este método anotado é usado para fornecer os dados ao método de teste. Pode ser usado com qualquer método @test para fornecer a entrada. É usado para fornecer parâmetros complexos aos métodos @test que não podem ser fornecidos no arquivo XML. Todo @DataProvider deve retornar Object () () onde cada Object () recebe a lista de parâmetros do método de teste. Ele tem um atributo como 'nome' que precisa ser fornecido, se não for mencionado pelo programador, seu valor será definido como o nome do método. Ele tem um atributo com o nome 'paralelo', que é por padrão 'falso'. Se definido como true, todos os casos de teste

13. @Listeners: esta anotação é usada para definir os ouvintes em um método de teste.

14. @Parameters: esta anotação é usada para definir os parâmetros em um método de teste. O atributo 'Value' é usado contendo todos os nomes de variáveis ​​que são usados ​​como parâmetros.

15. @Factory: Esta anotação é usada para marcar qualquer método de teste como uma fábrica e retorna o objeto (Object ()) usado como classe TestNG pelo arquivo TestNG.

Vantagens das anotações TestNG

Abaixo estão algumas das vantagens das anotações TestNG:

  • O TestNG é uma estrutura usada com o Selenium com anotações que fornecem uma maneira fácil e simples de controlar o fluxo de execução de casos de teste automatizados.
  • O TestNG ajuda a executar / executar os casos de teste de maneira paralela.
  • O TestNG fornece a facilidade de priorização de casos de teste de acordo com os requisitos do programador.
  • O TestNG ajuda no agrupamento de casos de teste e na sua execução.
  • O TestNG fornece uma excelente maneira de gerar relatórios de acordo com os resultados do teste.
  • O TestNG é fortemente tipado, o que define a capacidade de forte verificação de erros.
  • Ele fornece uma maneira fácil de passar parâmetros e fornecer entradas para os casos de teste.
  • O TestNG também pode se conectar a fontes de dados externas.
  • Não há necessidade de um padrão ou formato que precise ser seguido para a execução de casos de teste. As anotações fornecem a facilidade de chamar os métodos de acordo com os requisitos específicos.
  • O TestNG gera relatórios baseados em HTML, representando os dados em um formato gráfico que é fácil e mais conveniente de entender.

Conclusão

A descrição acima explica claramente as várias anotações do TestNG e o objetivo de cada anotação no controle do fluxo. Embora as anotações do TestNG sejam muito fáceis de usar, podemos usá-las de acordo com os requisitos, mas uma profunda compreensão de cada anotação deve ser reunida antes de serem utilizadas na automação de teste.

Artigos recomendados

Este é um guia para as anotações do TestNG. Aqui discutimos várias anotações do TestNG com vantagens. Você também pode ler nossos outros artigos relacionados para saber mais.

  1. Anotações Java
  2. Instale o TestNG
  3. Teste de unidade AngularJS
  4. Teste de compatibilidade