TestNG-rapportgeneratie in Selenium WebDriver

Anonim

Het genereren van rapporten is erg belangrijk wanneer u zowel de automatiseringstests uitvoert als voor handmatige tests.

  • Door naar het resultaat te kijken, kunt u gemakkelijk zien hoeveel testcases zijn geslaagd, mislukt en overgeslagen.
  • Door naar het rapport te kijken, kom je te weten wat de status van het project is.

Selenium web driver wordt gebruikt om de webapplicatie te automatiseren, maar genereert geen rapportages.

  • De TestNG genereert het standaardrapport.
  • Wanneer u het bestand testng.xml uitvoert en het project vernieuwt. U krijgt de map met testuitvoer in die map.
  • Klik met de rechtermuisknop op e-mailable-report.html en selecteer de optie. Open met de webbrowser.

In deze tutorial leer je-

  • Methode-1: e-mailbaar-rapport.html
  • Methode 2: index.html
  • Methode-3: Reporter-klasse

Methode-1: e-mailbaar-rapport.html

  1. Klik op optie "e-mailbaar-rapport.html"
  2. Klik op optie webbrowser

Het uitvoerrapport van testng ziet er als volgt uit als beide klassen zijn geslaagd:

Overweeg het scenario waarin u opzettelijk faalt in de testcase, dwz de DemoB-klasse. Converteer vervolgens beide klassen naar het testng.xml-suite-bestand en voer het uit. Dan ziet het resultaat er als volgt uit. Het toont de mislukte testgevallen.

Dit is het resultaat voor de DemoB-klasse:

Evenzo ziet het resultaat voor de Class DemoA er als volgt uit:

Methode-2 index.html

  1. Klik met de rechtermuisknop op de index.html vanuit de projectdirectory.
  2. Selecteer optie openen met webbrowseroptie. Het resultaat wordt in de volgende volgorde weergegeven.

Het resultaat ziet er als volgt uit:

Method-3 Reporter Class

Naast deze door rapporten gegenereerde methoden kunt u het bestand object.properties gebruiken om zowel de door het systeem gegenereerde logboeken als door de gebruiker gegenereerde logboeken op te slaan. Maar een van de eenvoudigste manieren om logboekinformatie op te slaan tijdens het testen, is door Reporter Class te gebruiken .

Reporter is een klas die aanwezig is in TestNG. Het biedt 4 verschillende methoden om logboekinformatie op te slaan, dit zijn:

  1. Reporter.log (String-s);
  2. Reporter.log (String s, Boolean logToStandardOut);
  3. Reporter.log (String s, int-niveau);
  4. Reporter.log (String s, int level, Boolean logToStandardOut);

Voorbeeld :

Maak twee klassen, zoals DemoA en DemoB, en schrijf de volgende code in de klassen.

Voor Klasse DemoA;

  • De code voor DemoA is hierboven al uitgelegd. Hier gebruik je de log-methode van de Reporter-klasse. (Voor het implementeren van een rapporteringsklasse moet de klasse een org.testng.IReporter-interface implementeren).
  • De log-methode is een statische methode van de Reporter-klasse. U hebt dus toegang tot die methode via de klasse Reporter.
  • De log-methode wordt gebruikt om log-informatie op te slaan die in het programma is geschreven. Door naar de loginformatie te kijken, kom je gemakkelijk te weten waar de uitvoering van het programma precies wordt gestopt.

Voor klassendemoB:

  • Maak nu een testng.xml-bestand door deze twee klassen te selecteren en
  • Selecteer uitvoeren als en
  • Klik op converteren naar testng.
  • Voer vervolgens dit testng.xml-bestand uit door uitvoeren als te selecteren en testng-suite te selecteren.
  • Vernieuw vervolgens het project en open de map met testuitvoer.
  1. Open in de test-output-map het e-mailable-report.html. Het zal er als volgt uitzien:

Op dezelfde manier heb je ook een Output voor Demo B-project.

2. Open in de map test-output de index.html. Het zal er als volgt uitzien:

Klik op reporteroutput. Het zal logboekinformatie openen, wat er ook in de testmethoden is geschreven.

Klik op de tijden. Het zal laten zien hoeveel tijd het kostte om de testmethode in de klas uit te voeren.