Unboxing TestNG parametrar och DataProvider Annotations

Till skillnad från den gamla & tillförlitlig JUnit test Framework, är TestNG den moderna testautomatiseringsverktyg. Den har inbyggt stöd för datadriven testning och ger två sätt att leverera data till testfall, dvs via TestNG parametrar och Dataprovider anteckningar.

med tillägget av dessa två anteckningar fyllde TestNG-ramverket ett betydande gap som föregångaren hade. En av dessa anteckningar lägger till möjligheten att använda fasta datavärden i testfallen medan den andra tillåter att fråga värden från externa datakällor som Excel eller egenskapsfilerna.

i nästa avsnitt ser du live-användningen av både TestNG-parametrarna och Dataprovider-annoteringar med färdiga att köra exempel.

Learn – TestNG parametrar och Dataprovider Annotations

parametriska Testfördelar

innan vi fortsätter, låt oss förstå fördelen med den datadrivna/parametriska testningen. Alla testautomatiseringsverktyg som har båda dessa funktioner kan effektivt ta hand om följande fall.

  • bearbeta den stora datamängden enligt företagets krav.
  • kör samma test om och om igen med olika värden.

Låt oss nu se när och hur kan vi använda <@parametrar> annotering i TestNG-projekt.

@Parameters Annotation

med hjälp av denna annotering kan du tillåta både enstaka och flera parametervärden till testmetoderna.

Vi kan använda den för parametertestning. Det är tillrådligt när data är små och fasta för testfallen.

exempel- @ Parameters Annotation

Följ nedanstående steg för att använda <@Parameters> annotation.

Steg-1

skapa en ny Java-klass och namnge den som<ParametersTesting.Java>. Lägg till följande två metoder i klassen.

i – OpenBrowser ()

  • Det kommer att ta en enda sträng typ parameter, dvs browserName.
  • Lägg till annotation @Parameters (”BrowserName”) till den här metoden.

ii – FillLoginForm ()

steg-2

nedan är TestNG.XML-fil med parametrar associerade med testmetoderna.

det är nu dags att utföra <TestNG.XML> fil. Högerklicka på XML-filen från Eclipse IDE och tryck på alternativet”Kör som >> TestNG Suite”. Efter utförandet kommer utmatningen att visas som den som anges i nedanstående skärmdump.

TestNG parametrar och Dataprovider annoteringar – Parametertestning

ett annat intressant faktum om TestNG är att det tillåter att passera valfria parametrar med hjälp av @Optional annotation.

@valfri anteckning

Du kan använda den för att ange ett valfritt värde för en parameter som inte är tillgänglig i TestNG.XML-fil.

exempel- @ valfri anteckning

se exemplet nedan @valfri anteckning.

TestNG XML

Här är ” TestNG.XML ” associerad med ovanstående exempel.

Du kan kontrollera från ovanstående<testng.xml > fil som den har två testmetoder definierade i den. Det första testet har ingen parameter medan den andra anger en parameter som heter ”valfritt värde.”

utgång:

Efter att ha kört<testng.xml> som en testsvit skulle utmatningen vara enligt följande.

Om du observerar testresultaten har TestNG använt det valfria värdet när du kör den första testmetoden. Det hände eftersom TestNG inte kunde hitta en parameter som heter ”valfritt värde” i XML-filen för det första testet. För det andra testet löste det dock parametervärdet som också skrivs ut under testkörningen.

för din anteckning kan du använda parameteranteckningen med någon av före / efter -, Fabriks-och Testantecknade metoder. Dessutom kan du använda den för att ställa in variabler och använda dem i klass, test eller testsvit.

@Dataprovider Annotation

dataleverantören är en annan anteckning som stöder datadriven testning. Du kan använda den för att hantera ett brett spektrum av komplexa parametrar som följande.

  • Java-objekt
  • objekt från en databas
  • Data från Excel eller egenskapsfiler

fakta om @DataProvider Annotation

Nedan följer några intressanta fakta om dataleverantören.

  • denna anteckning har ett strängattribut som är dess namn. Om du inte anger ett namn fungerar metodens namn som standardnamn.
  • en dataleverantörsmetod förbereder och returnerar en 2D-lista med objekt.
  • ett datadrivet test skulle köras en gång för varje uppsättning data som anges av dataleverantörsobjektet.

hur man använder @ DataProvider Annotation

låt oss nu se de steg som krävs för att använda data provider annotation för datadriven testning.

  • skapa en ny Java-klass, säg DataProviderTest.Java.
  • definiera dataleverantörsmetoden kommenterad med <@DataProvider>. Den ska returnera 2D-listan över objekt.
  • Lägg till en testmetod och dekorera den med <@Test(dataProvider = ”namn på dataleverantör”)>.

läs nedanstående kodexempel mycket noggrant för mer tydlighet i dataleverantörsanteckningen. I detta kodexempel demonstrerar vi de tre olika användningarna av dataleverantörer.

  • Passing Java heltal object using the data provider
  • Streaming Java bean object using the data provider

exempel använda @DataProvider Annotation

TestNG XML File

Du kan köra ovanstående kod från Eclipse som ett TestNG-Test. Eller så kan du generera<TestNG.XML > och kör sedan XML-filen som en TestNG-Svit.

utgång:

När du har kört ovanstående kod antingen som ett test eller som en testsvit ser du följande utdata. Kontrollera från nedanstående utdrag.

Final Word-TestNG parametrar och DataProvider

Vi har försökt att täcka så mycket som vi kunde om TestNG parametrar och Dataprovider anteckningar tillsammans med deras exempel. Det finns dock många andra dataleverantörsanvändningsfall som vi skulle ta itu med i ett separat inlägg. Tills dess njuta av att läsa detta inlägg och dela den på sociala medier.

alla de bästa,

TechBeamers

Lämna ett svar

Din e-postadress kommer inte publiceras.