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
- Por que usar TestNG com Selenium?
- Anotações TestNG em Selênio
- Criação de casos de teste usando anotações TestNG
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.
Ele 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:
- Crie um projeto e adicione a Biblioteca TestNG.
- Crie um arquivo de classe e codifique o programa
- 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ê.