TestNG: Ako spustiť viac testovacích balíkov na seléne

Obsah:

Anonim

TestNG vám umožňuje v rámci vášho projektu paralelne spustiť testovacie metódy, testovacie triedy a testovacie prípady. Vykonaním paralelného vykonávania môžeme znížiť „čas vykonávania“, pretože testy sa spúšťajú a vykonávajú súčasne v rôznych vláknach.

Tu uvidíme, ako spustiť viac tried (aka rôzne sady) pomocou TestNG.

Krok 1) Vytvorenie súboru TestNG.xml na vykonanie testu

Postupujte podľa nasledujúcich krokov.

  1. Vytvorte nový projekt v zatmení
  2. Vytvorte dva balíčky v projektoch (pomenujte ich ako com.suite1 a com.suite2)
  3. V každom balíku vytvorte triedu (pomenujte ich ako Flipkart.java a Snapdeal.java) a skopírujte nasledujúci kód do príslušných tried
  4. Vytvorte vo svojom projekte nový súbor a pomenujte ho ako testng.xml (Uistite sa, že ste nainštalovali testovací doplnok pre zatmenie, pokyny nájdete tu). Testng.xml obsahuje všetku konfiguráciu (názvy tried, testovacie mená a priezviská).

Flipkart.java

balíček com.suite1;import java.util.concurrent.TimeUnit;import org.openqa.selenium.Alert;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.firefox.FirefoxDriver;importovať org.openqa.selenium.interaction.Actions;import org.testng.annotations.AfterClass;import org.testng.annotations.BeforeClass;import org.testng.annotations.Test;verejná trieda Flipkart {Ovládač WebDriver = nový FirefoxDriver ();Reťazec username = ""; // Zmeňte svoje používateľské meno a hesloReťazcové heslo = "";// Táto metóda slúži na navigáciu v adrese URL flipchartu@BeforeClasspublic void init () {driver.manage (). window (). maximize ();driver.manage (). timeouts (). implicitlyWait (60, TimeUnit.SECONDS);driver.navigate (). to ("https://www.flipkart.com");}// Ak sa chcete prihlásiť na flipkart@Testverejné neplatné prihlásenie () {driver.findElement (By.partialLinkText ("Prihlásenie")). kliknite ();driver.findElement (By.cssSelector (". Fk-input.login-form-input.user-email")).sendKeys (používateľské meno);driver.findElement (By.cssSelector (". Fk-input.login-form-input.user-pwd")).sendKeys (heslo);driver.findElement (By.cssSelector (". submit-btn.login-btn.btn")). click ();}// Hľadať produkt@Testpublic void searchAndSelectProduct () {driver.findElement (By.id ("fk-top-search-box")). sendKeys ("moto g3");driver.findElement (By.cssSelector ("search-bar-submit.fk-font-13.fk-font-bold")). kliknite ();// vyberte prvú položku vo výsledkoch vyhľadávaniaReťazec css = ".gd-row.browse-grid-row: nth-of-type (1)> div: nth-child (1)> div> div: nth-child (2)> div> a";driver.findElement (By.cssSelector (css)). click ();}@Testpublic void buyAndRemoveFromCart () {driver.findElement (By.cssSelector (". Btn-express-checkout.btn-big.current")). kliknite ();driver.findElement (By.cssSelector (". remove.fk-inline-block")).. click ();Výstraha a = driver.switchTo (). Alert ();a.prijať ();}@Testodhlásenie z verejnej neplatnosti () {Akcie s = nové Akcie (vodič);Užívateľ WebElement = driver.findElement (By.partialLinkText (meno používateľa));s.moveToElement (užívateľ) .build (). perform ();driver.findElement (By.linkText ("Odhlásiť sa")). kliknúť ();}@Po hodinepublic void quit () {driver.close ();}}

SnapDeal.java

balíček com.suite2;import java.util.concurrent.TimeUnit;import org.openqa.selenium.Alert;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.firefox.FirefoxDriver;importovať org.openqa.selenium.interaction.Actions;import org.testng.annotations.AfterClass;import org.testng.annotations.BeforeClass;import org.testng.annotations.Test;verejná trieda SnapDeal {Ovládač WebDriver = nový FirefoxDriver ();Reťazec username = ""; // Zmeňte svoje používateľské meno a hesloReťazcové heslo = "";Reťazec pinCode = "";// Táto metóda slúži na navigáciu v jednoduchej adrese URL@BeforeClasspublic void init () {driver.manage (). window (). maximize ();driver.manage (). timeouts (). implicitlyWait (60, TimeUnit.SECONDS);driver.navigate (). to ("https://www.snapdeal.com");}// Ak sa chcete prihlásiť na flipkart@Testverejné neplatné prihlásenie () {driver.findElement (By.xpath ("// button [text () = 'Login']"))). click ();driver.switchTo (). frame ("loginIframe");driver.findElement (By.cssSelector ("div [onClick = 'getLoginForm ()']"))). kliknite ();driver.findElement (By.id ("j_username")). sendKeys (meno používateľa);driver.findElement (By.id ("j_password_login")). sendKeys (heslo);driver.findElement (By.id ("signin_submit")). click ();driver.switchTo (). defaultContent ();}// Hľadať produkt@Testpublic void searchAndSelectProduct () {driver.findElement (By.cssSelector (". col-xs-20.searchformInput.keyword")).sendKeys („iphone 6s“);driver.findElement (By.cssSelector (". sd-icon.sd-icon-search")). kliknite ();// vyberte prvú položku vo výsledkoch vyhľadávaniaReťazec css = ".product_grid_row: nth-of-type (1)> div: nth-child (1)";driver.findElement (By.cssSelector (css)). click ();}@Testpublic void buyAndRemoveFromCart () {driver.findElement (By.xpath ("// li [contains (text (), 'Silver')]"))). click ();driver.findElement (By.id ("kontrola kódu PIN")). sendKeys (pinCode);driver.findElement (By.id ("buy-button-id")). click ();driver.findElement (By.cssSelector ("i [title = 'Odstrániť položku']"))). click ();Výstraha a = driver.switchTo (). Alert ();a.prijať ();}@Testodhlásenie z verejnej neplatnosti () {driver.findElement (By.linkText ("ZAČNITE NAKUPOVAŤ TERAZ")). click ();Akcie s = nové Akcie (vodič);WebElement user = driver.findElement (By.cssSelector (". Sd-icon.sd-icon-user"));s.moveToElement (užívateľ) .build (). perform ();driver.findElement (By.linkText ("Odhlásiť sa")). kliknúť ();}@Po hodinepublic void quit () {driver.close ();}}

TestNg.xml



Konečná štruktúra projektu vyzerá takto:

Krok 2) Paralelné vykonávanie v TestNG

Po vytvorení súboru XML, ako je uvedené vyššie, v ďalšom kroku vykonáme paralelný test. Nižšie je uvedený kód.

1) počet vlákien : Používa sa na paralelné vykonávanie na základe číselného skriptu. Bude sa vykonávať v paralelnom alebo postupnom poradí.

2) verbose : Používa sa na zaznamenávanie podrobností o vykonaní v konzole. Hodnota by mala byť 1-10. Podrobnosti protokolu v okne konzoly budú podrobnejšie a jasnejšie, keď zvýšite hodnotu podrobného atribútu v konfiguračnom súbore testng.xml.

3) name : Názov balíka. Toto je „Gmail Suite“

4) Paralelné : Ak chcete spustiť skripty paralelne, môžu to byť testy / triedy / metódy / sady. Predvolená hodnota je žiadna

Kliknite pravým tlačidlom myši na testng.xml a vyberte možnosť spustiť ako testovanie. Po úspešnom zobrazení sa vám zobrazia všetky výsledky

Po vykonaní vyššie uvedeného kódu získate nasledujúci výstup.

Výkon:

1) názov balíka uvedený v testng.xml

2) názov testu uvedený v testng.xml

3) názov triedy uvedený v testng.xml

4) názvy metód anotované pomocou @Test v súbore .java

Rovnako vykoná testovaciu sadu aj pre snap deal.

Záver:

Tu sme videli vo vyššie uvedenom príklade, ako používať Testng na vykonávanie paralelného testu. TestNG dáva možnosť vykonať viac testov súčasne v jednom konfiguračnom súbore (XML).