Tudo o que você precisa saber sobre as anotações TestNG no Selenium



Este artigo sobre as anotações do TestNG no Selenium ajudará você a entender as várias anotações que o TestNG suporta no Selenium com a ajuda de exemplos.

Desde o conceito de foi introduzido, muitas metodologias de teste evoluíram, paradigmas mudaram, mas os requisitos de alguma forma triunfaram para permanecerem constantes. Uma dessas metodologias é TestNG o que nos ajuda a agrupar os casos de teste em diferentes seções de código com a ajuda de Anotações. Mas como isso funciona? Vamos entender esse conceito por meio deste artigo nas anotações TestNG em .

Estarei cobrindo os tópicos mencionados abaixo neste artigo:





Introdução ao TestNG

TestNG apoia Teste de próxima geração e é uma estrutura de automação de teste de código aberto inspirada em JUnit e NUnit. Bem, TestNG não é apenas inspirado, mas é uma versão atualizada dessas duas estruturas. Então, qual é a atualização aqui? A atualização com TestNG é que ele fornece funcionalidades adicionais como anotações de teste, agrupamento, priorização, parametrização e técnicas de sequenciamento no código que não eram possíveis anteriormente.

Introdução ao TestNG - Anotações TestNG - EdurekaEle não apenas gerencia casos de teste, mas até mesmo relatórios detalhados de testes também podem ser obtidos usando TestNG. Haverá um resumo detalhado que exibirá o número de casos de teste que falharam. Além disso, os bugs podem ser localizados com precisão e corrigidos o mais cedo possível. Agora que você sabe o que é TestNG, vamos ver por que usar TestNG no Selenium.



Por que usar TestNG no Selênio?

Os desenvolvedores de software de todo o mundo concordarão unanimemente que escrever código em casos de teste economiza uma boa parte do tempo de depuração. Por quê? Isso ocorre porque os casos de teste ajudam a criar código robusto e sem erros, dividindo o código inteiro em casos de teste menores e, em seguida, avaliando cada um desses casos de teste para condições de aprovação / reprovação, você pode criar código sem erros. Desde a não suporta a execução de código em casos de teste, TestNG entra em cena o que ajudará na execução dos casos de teste.

TestNG também oferece suporte aos seguintes recursos:

você pode usar a classe printwriter para abrir um arquivo para gravar e gravar dados nele.
  • Ele gera o relatório em um formato adequado que inclui vários casos de teste executados, o número de casos de teste com falha e casos de teste que foram ignorados.
  • Vários casos de teste podem ser agrupados mais facilmente, convertendo-os em um arquivo TestNG.xml. Aqui, você pode definir as prioridades para executar os casos de teste.
  • Usando TestNG, você pode executar vários casos de teste em vários navegadores, ou seja, teste cross-browser .
  • A estrutura de teste pode ser facilmente integrada com ferramentas como Maven, Jenkins, etc.

Agora que você sabe o que é TestNG e por que é usado, vamos prosseguir e conhecer as várias anotações que o TestNG oferece suporte no Selenium.

Anotações TestNG

As anotações TestNG no Selenium são usadas para controlar o próximo método a ser executado. As anotações de teste são definidas antes de cada método no código de teste. Caso algum método não seja prefixado com anotações, então esse método será ignorado e não será executado como parte do código de teste. Para defini-los, os métodos precisam ser simplesmente anotados com ' @Teste ‘.



Tipos de anotações TestNG:

Abaixo está a lista de anotações que o TestNG suporta em selênio.

  • @BeforeMethod: Um método com esta anotação será executado antes de cada @teste método anotado.
  • @AfterMethod: This a anotação será executada após cada @teste método anotado.
  • @Antes da aula: Esta anotação será executada antes primeiro teste execução do método. Funciona apenas uma vez por aula.
  • @AfterClass: T sua anotação será executada após todos os métodos de teste na classe atual terem sido executados
  • @BeforeTest: Um método com esta anotação será executado antes primeiro teste método anotado.
  • @AfterTest: Um método com esta anotação será executado quando todos @Teste métodos anotados completam a execução dessas classes que estão inseridas em TestNG.xml Arquivo.
  • @BeforeSuite: Esta anotação será executada apenas uma vez antes todos os testes do pacote foram executados
  • @AfterSuite: Um método com esta anotação será executado uma vez depois a execução de todos os testes do pacote foram executados
  • @BeforeGroups: Este método anotado será executado antes do primeiro teste desse grupo específico.
  • @AfterGroups: Este método anotado será executado depois de todos os métodos de teste desse grupo conclui sua execução.

Portanto, isso é tudo sobre anotações no TestNG. Agora, vamos prosseguir e entender como escrever um primeiro caso de teste usando TestNG.

Criação de casos de teste usando anotações TestNG

As várias etapas envolvidas na criação de casos de teste usando a anotação TestNG são as seguintes:

  1. Crie um projeto e adicione a Biblioteca TestNG.
  2. Crie um arquivo de classe e codifique o programa
  3. Por fim, escreva o arquivo XML e execute-o no TestNG Suite.

Se você deseja obter mais detalhes sobre como escrever um caso de teste usando TestNG, por favor, verifique este artigo em Tutorial TestNG . Agora, vamos prosseguir e entender como as anotações TestNG irão ajudá-lo a agrupar os casos de teste e configurar seu programa.

Caso de teste 1:

Neste caso de teste, usarei três anotações diferentes e codificarei o programa. Vamos entender como fazer isso com o exemplo abaixo.

package co.edureka.pages import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.Assert import org.testng.annotations.AfterTest import org.testng.annotations.BeforeTest import org.testng .annotations.Test public class AnnotationExample {public String baseUrl = 'https://www.edureka.co/' String driverPath = 'C: //Users//Neha_Vaidya//Desktop//chromedriver_win32//chromedriver.exe' public WebDriver driver @BeforeTest public void launchBrowser () {System.out.println ('iniciando o navegador Chrome') System.setProperty ('webdriver.chrome.driver', driverPath) driver = new ChromeDriver () driver.get (baseUrl)} @Test public void verifyHomepageTitle () String expectedTitle = 'Treinamento online conduzido por instrutor com suporte vitalício 24 horas por dia, 7 dias por semana @AfterTest public void terminateBrowser () {driver.close ()}}

Basicamente, quero verificar se o título real da página da Web da Edureka corresponde ao título esperado ou não. Então, estou usando primeiro @BeforeTest ’ Anotação e criação de uma instância do driver do navegador e navegação no site da Edureka usando o driver.get () método. Portanto, essas são as etapas que devem ser realizadas antes do teste.

Em seguida, durante este teste, quero verificar se o título esperado e o título real correspondem ou não. É por isso que estou especificando todas as etapas com @Test Annotation. Por fim, desejo fechar o driver e encerrar o navegador após o teste. É por isso que estou usando @AfterTest Anotação e fechamento do driver. É assim que estou agrupando todo o código em várias anotações e executando o caso de teste. Vamos executar o programa como TestNG Test e verificar a saída.

Você pode ver no instantâneo que o caso de teste foi executado com sucesso em um teste e suíte padrão. Além disso, o caso de teste foi aprovado e não houve falha.

Agora vamos ver mais um exemplo para entender o fluxo de execução de várias anotações em profundidade. É muito necessário conhecer o fluxo de execução das anotações. Então, vamos dar uma olhada no instantâneo abaixo para saber sobre isso.

O fluxo de execução das anotações será conforme mostrado no instantâneo acima. Agora vamos ver mais um exemplo para entender o mesmo.

Caso de teste 2:

package co.edureka.pages import org.testng.annotations.AfterClass import org.testng.annotations.AfterMethod import org.testng.annotations.AfterSuite import org.testng.annotations.AfterTest import org.testng.annotations.BeforeClass import org.testng .annotations.BeforeMethod import org.testng.annotations.BeforeSuite import org.testng.annotations.BeforeTest import org.testng.annotations.Test public class testngAnnotations {// Caso de Teste 1 @Test public void testCase1 () {System.out.println ('Caso de teste 1')} // Caso de teste 2 @Test public void testCase2 () {System.out.println ('Caso de teste 2')} @BeforeMethod public void beforeMethod () {System.out.println ('Antes Método ')} @AfterMethod public void afterMethod () {System.out.println (' After Method ')} @BeforeClass public void beforeClass () {System.out.println (' Before Class ')} @AfterClass public void afterClass ( ) {System.out.println ('Após a aula')} @BeforeTest public void beforeTest () {System.out.println ('Before Test')} @AfterTest public void afterTest () {System.out.println ('After Test')} @BeforeSuite public void beforeSuite () {System.out.println ('Before Suite')} @AfterSuite public void afterSuite () {System.out.println ( 'After Suite')}}

No código acima, estou escrevendo aleatoriamente todos os métodos com Anotações. Não estou seguindo a seqüência disso. Mas, quando eu executar o programa, ele seguirá a mesma ordem. Vamos agora verificar a saída.

[RemoteTestNG] detectado TestNG versão 6.14.2 Antes da Suite Antes do Teste Antes da Classe Antes do Método Caso de Teste 1 Depois do Método Antes do Método Caso de Teste 2 Depois do Método Depois da Aula Após o Teste PASSADO: testCase1 PASSADO: testCase2 =========== ========================================== Teste padrão Testes executados: 2, Falhas: 0, Saltos: 0 ===================================================== Depois da Suite = ====================================================== Conjunto padrão Total de testes executar: 2, Falhas: 0, Ignorar: 0 =============================================== ========

A partir da saída acima, você pode notar que ele executou os casos de teste e Before Suite e After Suite executados apenas uma vez. Além disso, o teste foi executado com sucesso no teste e suíte padrão. É assim que você precisa executar os casos de teste usando Anotações.Isso nos leva ao final deste artigo sobre Anotações TestNG no Selenium.

Espero que você tenha entendido os conceitos e tenha agregado valor ao seu conhecimento. Agora, se você quiser obter mais informações sobre o Selenium, consulte o artigo sobre .

Se você encontrou este “TestNG Annotations in Selenium ' relevante, Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo.

como terminar um programa java

Tem alguma questão para nós? Mencione isso na seção de comentários de Anotações TestNG em Selênio artigo e entraremos em contato com você.