43 Otázky k testovacímu rozhovoru: Většina začátečníků to neví

V tomto tutoriálu budeme diskutovat o vyčerpávajících sadách Kritické otázky a odpovědi na rozhovory a distribuovány v závislosti na úrovni obtížnosti, kde se můžete lépe rychle vybavit na TestNg

Tyto sady dotazovacích otázek Testng jsou distribuovány v následujících modulech nebo sadách:

TestNg Interview Questions - Advance

Dotazy k testu TestNg - Střední

Testovací otázky k rozhovoru - základní

Testování rozhovorů Otázky a odpovědi || Sada 1

Jak vyloučíte skupinu z cyklu provádění testu?

Můžete použít značku vyloučení k vyloučení skupiny testovacích případů z provádění níže uvedeným způsobem v souboru Testng xml 

    

        

        

    

Jaké jsou typy zpráv generovaných ve TestNG ve výchozím nastavení?

TestNG po provedení generuje 4 druhy sestav, kterými jsou:

  • Zpráva TestNG HTML
  • Zpráva TestNG e-mailem
  • TestNG Report XML
  • Zpráva XML TestNg se nezdařila

Uveďte rozdíl mezi testovací sadou TestNG a testem TestNG?

TestNG test suite je kolekce testovacích tříd a testovacích metod, které lze spouštět současně i paralelně ze souboru XML TestNG. 

Na druhou stranu je testovací metoda TestNG jediným souborem testovacích případů nebo testovací metodou.

Jaké je použití atributu threadPoolSize s anotací @Test 

Prostřednictvím atributu threadPoolSize můžeme definovat fond vláken s konkrétně uvedenou velikostí podle čísla pro testovací metodu, která se má provést prostřednictvím více dostupných vláken.

Atribut je ignorován, pokud není uveden invocationCount.

@Test(threadPoolSize = 3)
public void testCaseOne(){
System.out.println("testCaseOne v procesu");
}

Ve výše uvedené testovací metodě bude testCaseOne vyvolán ze tří různých vláken.

Co dělají atributy alwaysRun?

Tento atribut anotace alwaysRun se používá, kdykoli chcete provést testovací metodu bez ohledu na závislé parametry, na kterých testovací metoda závisí, selže. Pokud nastavíte hodnotu true, musíte nastavit atribut true.

Jaké jsou různé posluchače, které jsou k dispozici?

  • ITestListener
  • IRreportér 
  • ISuiteListener
  • IAnnotationTransformer 
  • IAnnotationTransformer2
  • IHokable 
  • IIInvokedMethodListener 
  • IMethodInterceptor 

Jaká je výchozí hodnota pro prioritu TestNG?

Priorita TestNG má výchozí hodnotu nula.

Jak znovu spustit neúspěšné testy TestNg pomocí mechanismu automatického opakování?

TestNg poskytuje jedno rozhraní s názvem jako IRetryAnalyzer posluchač, který můžete implementovat, rozhraní automaticky znovu spustí skripty neúspěšného testu uvedením třídy v souboru testNg.XML, zde je níže uvedený kód pro implementaci stejného:

TestNg Opakovat 1024x747 1
Testování otázek a odpovědí na rozhovor - TestNg Opakujte testovací skript

Ve výše uvedené oblasti můžete nakonfigurovat počet opakovaných pokusů, maximální počty a také můžete uvést, ve kterých výjimkách chcete znovu spustit testovací skripty.

public class Retry implementuje IRetryAnalyzer { int retryCounter = 0; // Maximální počet neúspěšných spuštění int autoRetryLimit = 2; @Override public boolean retry(ITestResult iTestResult) { if (retryCounter < autoRetryLimit) { retryCounter++; vrátit true; } return false; } }

Přístup dva: Jak znovu spustit TestNg Failed Tests pomocí mechanismu automatického opakování

V níže uvedeném přístupu můžete vytvořit 2 třídy, tj. Jedna je Zkuste to znovu kde můžete zachovat logiku řízení počtu iterací v případě selhání testu, který bude implementovat rozhraní Testng IRetryAnalyzer.

Další třída je v zásadě, která bude implementovat jiný posluchač rozhraní IAnnotationTransformer a implementovat metodu přeměnit který interně interaguje s předchozí třídou (tj Zkuste to znovu)

public class Retry implementuje IRetryAnalyzer { int retryCounter = 0; // Maximální počet neúspěšných spuštění int autoRetryLimit = 2; @Override public boolean retry(ITestResult iTestResult) { if (retryCounter < autoRetryLimit) { retryCounter++; vrátit true; } return false; } }

a nakonec přidejte Třída CognitiveRetry v posluchači souboru testng.xml.

<listeners>
    <listener class-name= "com.lambdageeks.cognitiveRetryUtils.CognitiveRetry"/>
</listeners>

Jak dosáhnout implementace Testest Itestlistener?

ITestListener je rozhraní v TestNg, které má více metod (neimplementovaných od svého rozhraní), které lze implementovat třídou. Každá metoda představuje konkrétní funkce nebo scénáře, a proto v závislosti na vaší potřebě můžete tyto metody implementovat.

Například onTestFailure je metoda, kterou můžete implementovat tam, kde chcete provádět jakékoli operace, zatímco některá testovací metoda selže, řekněme, že chcete zachytit snímek obrazovky v případě selhání jakékoli testovací metody, takže můžete napsat metodu takec Screenshot dovnitř onTestFailure a protože ITestListener je rozhraní, bude tedy testNg nadále naslouchat událostem (selhání testu) a kdykoli dojde k selhání testu, bude zachycen snímek obrazovky.

Zde je implementace snímání obrazovky, kdykoli testovací skript narazí na selhání:

import org.apache.commons.io.FileUtils; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebDriver; import org.testng.ITestContext; import org.testng.ITestListener; import org.testng.ITestResult; import java.io.File; import java.io.IOException; import java.util.logging.Logger; public class CustomListerners implementuje ITestListener { WebDriver driver=null; String filePath = "D:\\\\LambdaGeeks\\\\SCREENSHOTS"; @Override public void onTestFailure(ITestResult result) { String testMethodName=String.valueOf(result.getName()).trim(); ITestContext testContext = vysledek.getTestContext(); WebDriver driver = (WebDriver)testContext.getAttribute("ovladač"); captureTheScreenShot(testMethodName, ovladač); } public void captureTheScreenShot(String methodName, ovladač WebDriver) { File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); /* Každý snímek obrazovky se uloží spolu s názvem testu, aby byla lepší korelace */ try { FileUtils.copyFile(scrFile, new File(filePath+methodName+.jpg“)); } catch (IOException e) { e.printStackTrace(); } } public void onFinish(ITestContext context) {} public void onTestStart(ITestResult result) { } public void onTestSuccess(ITestResult result) { } public void onTestSkipped(ITestResult result) { } public void onTestFailedButWithincentageITSuccessP (ITestContext kontext) { } }

A také musíte přidat tuto třídu do tagu posluchače v souboru testng.xml, jako jsme to udělali v předchozí otázce.

Jak implementovat testování iAnnotationtransformeru?

TestNg poskytuje rozhraní s názvem IAnnotationTransformer, které poskytuje metodu nazvanou „transformace“, kterou můžete implementovat a která by byla spuštěna za běhu pomocí TestNG, tato implementace se používá k úpravě chování testovací anotace testovací třídy a testovacích metod

V níže uvedeném segmentu bychom viděli, jak bychom to mohli udělat

public class TestClassAnnotations { @Test(alwaysRun = true,dependsOnMethods = "testMethodB") public void testMethodA() { System.out.println("--- Přizpůsobení běhového prostředí pomocí ITestAnnotation ---"); } @Test public void testMethodB() { System.out.println("--- Second TestMethods ---"); Assert.fail(); } }

Ve výchozím nastavení, pokud spustíme výše uvedený kód, bude spuštěna pouze jedna metoda, která je testMethodA a další metoda testMethodB selže, protože to záměrně selháváme pomocí metody Assert.fail ().

Ale pokud změníme Alwaysrun = true anotace na false pomocí IAnnotationTransformer pak se tato metoda neprovede, níže je fragment kódu, jak implementovat IAnnotationTransformer a použijte jej v testování.xml ke změně chování anotace TestNG

Implementace CustomAnnotationTransformers jde zde:

public class CustomAnnotationTransformers implementuje IAnnotationTransformer { public boolean isTestRunning(ITestAnnotation iTestAnnotation) { if (iTestAnnotation.getAlwaysRun()) { return true; } return false; } public void transform(ITestAnnotation annotations, Class testClasses, Constructor testConstructors, Method testMethods) { if (isTestRunning(annotations)) { annotations.setEnabled(false); } } }

Tady je posluchač, který musíme přidat do souboru testing.xml

<listeners>
    <listener class-name= "com.lambdageeks.CustomAnnotationTransformers"/>
</listeners>

Jak implementovat testování iinvokedmethodlistener?

Pokud chcete implementovat funkci, kde se provede určitá metoda před a po každé testovací metodě TestNg, pak by tato funkce mohla být implementována testng IIInvokedMethodListener posluchač.

 

Zde je fragment kódu pro implementaci funkcí:

balíček com.lambdageeks; import org.testng.IInvokedMethod; import org.testng.IInvokedMethodListener; import org.testng.ITestResult; public class CustomAnnotationTransformers implementuje IInvokedMethodListener { public void beforeInvocation(IInvokedMethod metoda, ITestResult testResult) { System.out.println(" ::: Before Method z IInvokedMethodListener je spuštěna pro testovací metodu s názvem : " + method.getTestMethodM). ) + " ::: "); } public void afterInvocation(Metoda IInvokedMethod, ITestResult testResult) { System.out.println(" :::: After Metoda z IInvokedMethodListener je spuštěna pro testovací metodu s názvem: " + method.getTestMethod().getMethodName() + " : :: "); } }

Tady je testovací třída pro testování této funkce:

public class TestClassAnnotations { @Test(alwaysRun = true) public void testMethoddummy() { System.out.println("--- Toto je testovací metoda , která testuje funkci IInvokedMethodListener Testng Listener ---"); } }

Musíte vždy uvést TestNG iinvokedmethodlistener ve značce posluchače v testng.xml jako vždy

<listeners>
    <listener class-name="com.lambdageeks.CustomAnnotationTransformers"/>
</listeners>

Výstup provedení by vypadal takto:

::: Before the Method from IInvokedMethodListener is Triggered for the Test Method named as: testMethoddummy :::

- Toto je testovací metoda, která testuje funkci IInvokedMethodListener Testng Listener -

 :::: After the Method from IInvokedMethodListener is Triggered for the Test Method named as: testMethoddummy :::

Jak implementovat poskytovatele dat v TestNG?

DataProvider můžeme implementovat pomocí TestNg v níže uvedeném přístupu:

public class DataProviderDemo { @DataProvider(name = "dpName") public Object[][] dataProvidersMethodName() { return new Object[][]{{"Lambda"}, {"Geeks"}}; } @Test(dataProvider = "dpName") public void dataproviderDummyTestMethod(String dataValues) { System.out.println("Datové parametry s příklady poskytovatele dat : ​​: " + dataValues); } }

Pokud nenastavíme prioritu testovací metody, v jakém pořadí budou testy prováděny v TestNG?

Testy se provádějí v abecedním pořadí TestmethodName.

 

Například v následujícím fragmentu kódu:

public class Test sekvence { @Test() public void geeks() { System.out.println("Test sekvence , metoda běžela :geeks "); } @Test() public void lambda() { System.out.println("Test sekvence , metoda běžela: lambda "); } @Test() public void abc() { System.out.println("Test sekvence , metoda běžela :abc"); } }

Výstup bude vypadat takto:

Test sekvence, metoda proběhla: abc

Test sekvence, spuštěná metoda: geekové

Test sekvence, spuštěná metoda: lambda

 

Jak spustit testovací skripty paralelně?

Testovací skripty můžete spustit pomocí souboru TestNg XML uvedením parallel = ”methods” thread-count = ”2 ″, zde budou provedeny 2 paralelní případy, pokud chcete provést více vláken současně.

<suite name="DummyTest" parallel="methods" thread-count="2" >

<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter" />
<listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>
</suite>  

Jak integrovat TestNg s nástrojem GRADLE build?

Můžete spustit Testng Suite v gradle různými způsoby:

Jak spustit skupiny TestNg pomocí Gradle: Úkol můžete vytvořit v souboru build.gradle může zmínit useTestNG () a při spuštění testovacích skupin uveďte níže uvedené podrobnosti.

TestNg Gradle
TestNg Interview Otázky a odpovědi - TestNg s Gradle

Jak spustit výchozí posluchač Testng s Gradle pro generování zprávy pomocí knihovny TestNg

TestNg Výchozí posluchače
TestNg Interview Otázky a odpovědi - Testování s výchozími posluchači Gradle

Pokud chcete použít vlastní posluchač, můžete jej zmínit v následujícím přístupu:

Testng Gradle Custom listener 1024x497 1
TestNg Interview Otázky a odpovědi - TestNG Vlastní posluchače s Gradle

Jak spustit Testng Runner xml soubor pomocí příkazového řádku?

Můžete použít umístění TestNg stažené a zmínit org.testng.TestNg.testNgRunner.xml ke spuštění souboru XML runner z příkazového řádku.

java -cp "/opt/testng-7.1.jar:bin" org.testng.TestNG testngRunner.xml

Jak integrovat TestNg XML s Maven?

TestNg můžete integrovat s Maven pomocí tzv. Pluginu maven-surefire-plugin kde můžete nakonfigurovat spuštění souboru testNgrunner.xml pomocí konfigurací:

TestNG integrace Maven 1024x667 1
TestNg Interview Otázky a odpovědi - TestNg-Maven-Surefire integrace

Jak můžete zadat parametr TestNg Test pomocí TestNg a Maven?

Můžete určit parametr Test pomocí pluginu Maven SureFire se souborem TestNg.XML níže uvedeným způsobem

TestNg Maven TestParameter 1024x543 1
TestNg Interview Otázky a odpovědi - testovací parametr

Testování rozhovorů Otázky a odpovědi || Sada 2

Co se rozumí výrazem invcationCount v TestNG?

invocationCount je atribut testovací anotace, pomocí kterého můžete definovat počet iterací, které budou testovací metody provedeny v jednom provedení. 

 Výše uvedený test se provede dvakrát, protože je vyvoláníCount uvedeno jako 2.

@Test(invocationCount = 2) public void testOfInvCount() { System.out.println("Probíhá test počtu vyvolání"); }

Co jsou posluchači v TestNG?

v TestNg jsou posluchači v podstatě rozhraní v Javě, které musíte implementovat ve své třídě. Implementovaná třída bude nadále naslouchat určitým událostem a provede konkrétní blok kódu přidružený k této události. Zde při implementaci rozhraní nakonec implementujete neimplementované metody a tyto bloky kódu nebo metody budou provedeny, jakmile konkrétní událost se spustí. 

S pomocí posluchačů TestNG můžeme provádět spoustu akcí za běhu nasloucháním jiné události spuštěné spuštěním testovacího skriptu a jejich stavu, nebo můžeme dělat reporty. Můžeme také změnit implementaci anotace TestNg.

Uveďte rozdíly mezi anotacemi @Factory a @Dataprovider v TestNg?

@Dataprovider: Pokud chcete provést stejný test, ale s různými rozmanitými sadami dat v každém běhu, můžete použít anotaci dataprovider, a tím můžete dosáhnout přístupu k testování datadriven. Zde se provádění testovací metody provádí pomocí stejné instance třídy, ke které testovací metoda patří.

@Factory: Provedou se všechny testovací metody přítomné uvnitř testovací třídy pomocí samostatných a více instancí třídy.

Jak používat TestNG Reporter Class pro generování protokolu?

Podrobnosti a data můžete protokolovat pomocí třídy Reporter a tyto protokoly budou zachyceny zprávou vygenerovanou TestNG

Reporter.log („Logovací zpráva“);

Jak udělat zpracování výjimek v TestNG?

Můžete uvést typ očekávané výjimky v atributu nazvaném expectExceptions s anotací @test; v tomto případě by pak TestNg označil test jako splněný.

@Test (expectExceptions = numberFormatException.class)

Jak dosáhnout vkládání závislostí pomocí TestNg XML?

TestNG nám umožňuje vkládat závislosti mezi různými skupinami testů prostřednictvím souboru XML TestNG. Prostřednictvím kterého můžeme mít závislost jedné skupiny na druhé.

Jaké jsou různé přístupy k prosazování pro TestNG?

S TestNg můžeme použít dva typy tvrzení. 

Měkká tvrzení

Tvrdá tvrzení 

Uveďte některá z běžně používaných tvrzení s TestNG 

Některé z široce používaných metod tvrzení v TestNG:

  • assertEquals (booleovský skutečný, booleovský očekávaný)
  • assertEqual (řetězec aktuální, řetězec očekávaný)
  • assertEqual (String skutečný výsledek, String očekávaný výsledek, String zpráva)
  • assertTrue (podmínka)
  • assertFalse (podmínka)
  • assertFalse (podmínka, zpráva)
  • assertTrue (podmínka, zpráva)

Co chápete podle tvrzení v TestNG?

Provádí se tvrzení k ověření skutečných výsledků testu s ohledem na očekávané výsledky testu. V TestNg můžeme použít hard assert a soft assert. 

Rozdíl mezi tvrdým a měkkým prosazováním v TestNg

Při práci s tvrdým tvrzením, pokud v případě, že dojde k jakékoli poruše v podmínce tvrzení, nebudou následné kroky testu provedeny a budou přerušeny a nakonec bude test označen jako neúspěšný testovací případ. 

Zatímco na druhé straně Soft Assert bere v úvahu ověření všech bodů tvrzení, i když v některém z tvrzení dojde k selhání. To znamená, že provádění testu se nezruší, i když jedno tvrzení selže.

Jak psát měkké tvrzení v TestNg 

Níže uvedená část kódu poskytuje přístup k psaní měkkého tvrzení v TestNG

@Test public void statement() { SoftAssert softAssertion = new SoftAssert(); //Prohlášení 1 softAssertion.assertEquals("exp", "akt"); //Prohlášení 2 softAssertion.assertEquals(123, 123); //Prohlášení 3 softAssertion.assertEquals("skutečná hodnota", "očekávaná hodnota"); // Na konci zvážení všech hodnot tvrzení softAssertion.assertAll(); }

Jak používat regulární výraz ve skupinách TestNG?

Regulární výraz lze v TestNG použít k provedení skupin, které mají ve svém pojmenování podobný vzor. 

Například pokud chcete spustit všechny skupiny začínající na „testX“ podle názvu, můžete použít regulární výraz jako testX. * V souboru XML TestNG.

Testování rozhovorů Otázky a odpovědi || Sada 3

Co je TestNG?

TestNg v zásadě představuje „Testování nové generace„Je rámec testování jednotek, který řídí tok a pořadí automatizace testů a automatizačních skriptů poskytováním různých anotací s jejich funkcemi.

Jaké jsou výhody TestNg?

  •             Prostřednictvím různých anotací Testng můžete lépe ovládat tok a pořadí automatizace a provádění testu.
  •             Testovací třídy nebo metody testovacích skriptů paralelního provádění lze dosáhnout pomocí TestNg.
  •            TestNg lze snadno integrovat s různými nástroji pro vytváření, jako jsou Maven, Gradle. Může být také integrován s nástroji CICD, jako je Jenkins.
  •            TestNG poskytuje podrobnosti o funkci HTML reportingu a snadno se integruje s jinou platformou pro reportování testů, jako je Allure, Extent Report s funkcemi TestNG Listeners.
  •           Všechny testy lze spustit pomocí souboru testng.xml, kde můžete uvést název třídy Test/Test/Test Package, který se má spustit.
  •           Testování řízené daty lze provést pomocí anotace TestNg DataProvider. Parametrizační testy lze také provádět prostřednictvím Testng.xml, například když provádíte testování napříč prohlížeči, můžete parametrizovat různé prohlížeče pro různé testy. Tato funkce pomáhá vytvářet Data Driven Framework s TestNG.
  •          TestNg Poskytuje způsob, jak zahrnout/vyloučit sadu testů z tesngNg.xml s atributem include a exclude.
  •          Pomocí TestNg můžete seskupit své testy a vložení závislosti mezi testy.
  •          TestNg poskytuje mnoha posluchačům ty, se kterými můžete dosáhnout spousty věcí, jako je například možnost vytváření vlastních sestav (IReporter), integrace s různými nástroji (ITestListener), změna chování anotací TestNG Test za běhu pomocí IAnnotationTransformer a mnoho dalších.
  •         Můžete přeskočit konkrétní test, upřednostnit pořadí testu, vytvořit časově omezený test s anotací TestNg Test.
  •         Pro psaní prohlášení Assert můžete použít Hard Assertion i Soft Assertion s TestNg.
  •         TestNg generuje soubor TestNG-failed.xml po každém provedení testu, takže můžete stejným vygenerovaným souborem TestNG-failed.xml znovu spustit své neúspěšné testovací skripty.
  •        TestNg poskytuje různé anotace testu, například @BeforeMethod, @AfterMethod, @BeforeTest, @AfterTest.@BeforeSuite,@AfterSuite.
  •        Test očekávané výjimky můžete spustit pomocí TestNg.
  •        Neúspěšný test můžete znovu spustit pomocí IretryAnalyzer z Testng 

Jak se vám spustit a spustit testovací skript TestNg?

Testovací skript TestNg můžete spustit několika způsoby: 

  •       Klikněte pravým tlačítkem na Test Class a „spustit jako“ a vyberte možnost „TestNg Test“.
  •       Vytvořte testng.xml a přímo v souboru a spusťte soubor xml.
  •       Pokud integrujete testNg.xml s nástrojem pro sestavení, jako je Maven/Gradle, můžete spouštět také z maven nebo Gradle.
  •       Pokud je nástroj pro sestavení, jako je Maven/Gradle, integrován s CICD, můžete spouštět z CICD, tj. od Jenkinse.

Uveďte testovací anotace, které jsou k dispozici?

Nejčastěji používané anotace Testng Test jsou:

  • @BeforeSuite
  • @AfterSuite
  • @Před testem
  • @Po testu
  • @Před hodinou
  • @Po hodině
  • @BeforeMethod
  • @AfterMethod
  • @BeforeGroups
  • @AfterGroups
  • @Test

Zmínit sekvenci provádění anotací TestNg?

Z hlediska provádění testu je níže uvedená sekvence pro všechny dostupné poznámky TestNg:

Předběžné poznámky:

  • @BeforeSuite
  • @Před testem
  • @Před hodinou
  • @BeforeMethod
  • Poznámky k testu:
  • @Test
  • Poznámky k podmínce: 
  • @AfterSuite
  • @Po testu
  • @Po hodině
  • @AfterMethod

Jak zakázat provádění testu pro testovací skript?

V atributu anotace @Test, jak je uvedeno níže, můžete použít povolený atribut is equals to false:

@Test(enabled = false) public void logout(){ System.out.println("Ukázkový test"); }

Jak můžete určit posluchače v TestNG xml?

Můžete použít soubor Tesng xml pro zmínku posluchačů, které mají být použity jako součást spuštění testovacího skriptu, v níže uvedeném přístupu:

        

        

...

Co je Test časového limitu v TestNg?

V tomto případě „test časového limitu“ znamená, že pokud testovací skript trvá déle, než je zadaná doba, testng test přeruší a označí jako neúspěšný test.

@Test(timeOut = 6000) // tentokrát v mulisekundách public void testShouldPass() vyvolá InterruptedException { Thread.sleep(2000); }

Jak dosáhnout Testu očekávané výjimky pomocí TestNG?

Pokud Test metoda vyvolá výjimku, která je stejná jako zadaná jako součást atributu test annotation expectExceptions, pak TestNg označí test jako předaný.

@Test(expectedExceptions = ArithmeticException.class) public void TestDivision() { int i = 1 / 0; }

 Výše uvedená Testovací metoda bude předána, protože vyvolá výjimku očekávanou TestNG.

Jaký je rozdíl mezi anotací @BeforeTest a @BeforeMethod?

@BeforeTest se provede jednou před každým testem štítek uvedeno v souboru testng.xml 

@BeforeMethod se provádí před každou metodou testovacího skriptu.

Jaká je výhoda použití souboru testng.xml?

Se souborem testng.xml můžete řídit tok provádění pomocí jedné testovací sady nebo více testovacích sad v jednom souboru xml testng. Mezi důležité funkce patří:

  • soubor testng.xml nám umožňuje vyloučit a zahrnout testovací metody a provádění testovací skupiny.
  • Testovací data/parametry můžete předat přes testng.xml.
  • Můžete přidat závislost mezi testovacími metodami a také skupinou testovacích metod
  • Testovací případy můžete upřednostnit.
  • Je dosaženo paralelního provádění testů testovacích případů.
  • Můžete implementovat různé posluchače testování a používat je uvedením v souboru testng.xml.
  • Pokud svou sadu spustíte s testng.xml, pak selžete pouze v testu pro další iteraci pomocí TestNG-failed.xml se generuje po každém spuštění.
  • Můžete spustit konkrétní skupiny testů pomocí tag TestNG xml.

Kolik typů závislostí můžete dosáhnout pomocí TestNG?

Existují dva typy závislostí, kterých můžeme pomocí TestNG dosáhnout: 

A. DependsOnMethods: 

Použitím tohoto atributu dependOnMethods definujete, která testovací metoda bude závislá na jiných testovacích metodách. Pokud tedy závislá metoda selže nebo nebude spuštěna, nebude se také spouštět závislá testovací metoda.

@Test public void loginUserProfile() { System.out.println("Přihlášení uživatele "); } @Test(dependsOnMethods = "loginUserProfile") public void logOutPage_user() { System.out.println("Stránka pro odhlášení uživatele"); }

 Zde je testovací metoda logOutPage_user, která bude spuštěna po úspěšném provedení testu loginUserProfile.

B. Závisí na skupinách: 

V tomto typu testovací závislosti nám umožňuje dát injekci závislosti pro testovací metody se skupinou testovacích metod.

Tok provádění probíhá takovým způsobem, tj. Nejprve se spustí a provede testGroup a poté se spustí závislá testovací metoda a jednou po úspěšném dokončení skupinového testu se provede závislá testovací metoda.

@Test(groups="AtestGroupName") public void testcaseOne() { System.out.println("testcaseOne in process"); } @Test(groups="AtestGroupName") public void testcaseTwo() { System.out.println("testcaseTwo in process"); } @Test(dependsOnGroups="AtestGroupName") public void testcaseThree() { System.out.println("testcaseThree in process"); }

Závěr: Tímto uzavíráme seznam všech kritických a důležitých Testovací otázky a odpovědi na rozhovor , abyste získali lepší přilnavost na TestNg, můžete projít vyčerpávající dokumentace k TestNg.

Chcete-li se dozvědět více o vyčerpávající výukový program selenu, který můžete navštívit zde.

Zanechat komentář