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.
- Anotações Java
- Instale o TestNG
- Teste de unidade AngularJS
- Teste de compatibilidade