TestNG: Kuinka suorittaa useita testipaketteja seleenissä

Sisällysluettelo:

Anonim

TestNG antaa sinun suorittaa testimenetelmiä, testiluokkia ja testitapauksia rinnakkain projektissasi. Suorittamalla rinnakkaisen suorituksen voimme lyhentää 'suoritusaikaa', kun testit aloitetaan ja suoritetaan samanaikaisesti eri säikeissä.

Täällä näemme kuinka suorittaa useita luokkia (alias eri sviittejä) TestNG: llä.

Vaihe 1) TestNG.xml-tiedoston luominen testin suorittamista varten

Toimi seuraavasti.

  1. Luo uusi projekti pimennyksessä
  2. Luo kaksi pakettia projektiin (nimeä ne com.suite1 ja com.suite2)
  3. Luo luokka kuhunkin pakettiin (nimeä ne Flipkart.java ja Snapdeal.java) ja kopioi alla oleva koodi vastaaviin luokkiin
  4. Luo uusi tiedosto projektiisi ja nimeä se testng.xml (Varmista, että olet asentanut eclipse-testauslaajennuksen, ohjeet ovat täällä). Testng.xml sisältää kaikki kokoonpanot (luokkien, testien ja perien nimet.

Flipkart.java

paketti com.suite1;tuo java.util.concurrent.TimeUnit;tuonti org.openqa.selenium.Alert;tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuonti org.openqa.selenium.WebElement;tuo org.openqa.selenium.firefox.FirefoxDriver;Tuo org.openqa.selenium.interactions.Actions;tuo org.testng.annotations.AfterClass;tuo org.testng.annotations.BeforeClass;tuo org.testng.annotations.Test;julkinen luokka Flipkart {WebDriver-ohjain = uusi FirefoxDriver ();Merkkijono käyttäjänimi = ""; // Vaihda käyttäjänimeksi ja salasanaksiMerkkijonon salasana = "";// Tällä menetelmällä navigoidaan flipkart-URL-osoitteessa@Ennen tuntiapublic void init () {ohjain.hallinta (). ikkuna (). maksimoi ();driver.manage (). aikakatkaisut (). implisiittisesti Odota (60, TimeUnit.SECONDS);driver.navigate (). ("https://www.flipkart.com");}// Kirjaudu sisään flipkart@Testatapublic void login () {driver.findElement (By.partialLinkText ("Kirjaudu")). napsauta ();driver.findElement (By.cssSelector (". Fk-input.login-form-input.user-email")).sendKeys (käyttäjänimi);driver.findElement (By.cssSelector (". Fk-input.login-form-input.user-pwd")).SendKeys (salasana);driver.findElement (By.cssSelector (". submit-btn.login-btn.btn")). napsauta ();}// Hae tuotetta@Testatapublic 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")).klikkaus();// valitse ensimmäinen kohde hakutuloksissaMerkkijono css = ".gd-row.browse-grid-row: n-of-type (1)> div: nth-child (1)> div> div: nth-child (2)> div> a";driver.findElement (By.cssSelector (css)). napsauta ();}@Testatapublic void buyAndRemoveFromCart () {driver.findElement (By.cssSelector (". Btn-express-checkout.btn-big.current")).klikkaus();driver.findElement (By.cssSelector (". remove.fk-inline-block")). napsauta ();Hälytys a = driver.switchTo (). Alert ();a. hyväksy ();}@Testatapublic void logout () {Toiminnot s = uudet toiminnot (ohjain);WebElement-käyttäjä = driver.findElement (By.partialLinkText (käyttäjänimi));s.moveToElement (käyttäjä) .build (). perform ();driver.findElement (By.linkText ("Uloskirjautuminen")). napsauta ();}@Oppitunnin jälkeenpublic void quit () {kuljettaja.sulje ();}}

SnapDeal.java

paketti com.suite2;tuo java.util.concurrent.TimeUnit;tuonti org.openqa.selenium.Alert;tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuonti org.openqa.selenium.WebElement;tuo org.openqa.selenium.firefox.FirefoxDriver;Tuo org.openqa.selenium.interactions.Actions;tuo org.testng.annotations.AfterClass;tuo org.testng.annotations.BeforeClass;tuo org.testng.annotations.Test;julkisen luokan SnapDeal {WebDriver-ohjain = uusi FirefoxDriver ();Merkkijono käyttäjänimi = ""; // Vaihda käyttäjänimeksi ja salasanaksiMerkkijonon salasana = "";Merkkijono pinCode = "";// Tällä menetelmällä navigoidaan snapdeal-URL-osoitteessa@Ennen tuntiapublic void init () {ohjain.hallinta (). ikkuna (). maksimoi ();driver.manage (). aikakatkaisut (). implisiittisesti Odota (60, TimeUnit.SECONDS);driver.navigate (). kohtaan ("https://www.snapdeal.com");}// Kirjaudu sisään flipkart@Testatapublic void login () {driver.findElement (By.xpath ("// painike [teksti () = 'Sisäänkirjautuminen]]")). napsauta ();driver.switchTo (). frame ("loginIframe");driver.findElement (By.cssSelector ("div [onClick = 'getLoginForm ()']")).klikkaus();driver.findElement (By.id ("j_käyttäjänimi")). sendKeys (käyttäjänimi);driver.findElement (By.id ("j_password_login")). sendKeys (salasana);driver.findElement (By.id ("signin_submit")). napsauta ();driver.switchTo (). defaultContent ();}// Hae tuotetta@Testatapublic void searchAndSelectProduct () {driver.findElement (By.cssSelector (". col-xs-20.searchformInput.keyword")).sendKeys ("iphone 6s");driver.findElement (By.cssSelector (". sd-icon.sd-icon-search")). napsauta ();// valitse ensimmäinen kohde hakutuloksissaMerkkijono css = ".product_grid_row: n-tyypin tyyppi (1)> div: nth-lapsi (1)";driver.findElement (By.cssSelector (css)). napsauta ();}@Testatapublic void buyAndRemoveFromCart () {driver.findElement (By.xpath ("// li [sisältää (teksti (), 'Hopea')]")). napsauta ();driver.findElement (By.id ("PIN-koodin tarkistus")). sendKeys (pinCode);driver.findElement (By.id ("buy-button-id")). napsauta ();driver.findElement (By.cssSelector ("i [title = 'Poista kohde']")). napsauta ();Hälytys a = driver.switchTo (). Alert ();a. hyväksy ();}@Testatapublic void logout () {driver.findElement (By.linkText ("ALOITA OSTA NYT"). napsauta ();Toiminnot s = uudet toiminnot (ohjain);WebElement-käyttäjä = driver.findElement (By.cssSelector (". Sd-icon.sd-icon-user"));s.moveToElement (käyttäjä) .build (). perform ();driver.findElement (By.linkText ("Uloskirjautuminen")). napsauta ();}@Oppitunnin jälkeenpublic void quit () {kuljettaja.sulje ();}}

TestNg.xml

Projektin lopullinen rakenne näyttää alla olevalta,

Vaihe 2) Suorituskyky TestNG: ssä

Kun olet luonut xml-tiedoston yllä esitetyllä tavalla, suoritamme seuraavassa vaiheessa rinnakkaistestin. Alla on koodi.

1) säikeiden määrä : Tätä käytetään rinnakkaiseen suoritukseen numerosarjan perusteella. Se suoritetaan rinnakkaisessa tai peräkkäisessä järjestyksessä.

2) verbose : Sitä käytetään suorittamisen yksityiskohtien kirjaamiseen konsoliin. Arvon tulisi olla 1–10. Konsoli-ikkunan lokitiedot muuttuvat yksityiskohtaisemmiksi ja selkeämmiksi, kun lisäät testng.xml-määritystiedoston tarkan määritteen arvoa.

3) nimi : Sviitin nimi. Tässä se on "Gmail Suite"

4) Rinnakkainen : Jos haluat suorittaa komentosarjoja rinnakkain, arvo voi olla testit / luokat / menetelmät / sviitit. Oletusarvo ei ole

Napsauta hiiren kakkospainikkeella testng.xml ja valitse Suorita testiksi, kun olet onnistunut, näet kaikki tulokset

Kun suoritat yllä olevan koodin, saat seuraavan tuloksen.

Tuotos:

1) paketin nimi, joka on annettu testng.xml-tiedostossa

2) testng.xml: ssä annettu testin nimi

3) luokan nimi annetaan testng.xml

4) .java-tiedostossa @Test-merkinnällä merkittyjen menetelmien nimet

Samoin se suorittaa testipaketin myös snap-sopimukseen.

Päätelmä:

Tässä olemme nähneet yllä olevasta esimerkistä, kuinka Testng: ää käytetään rinnakkaistestin suorittamiseen. TestNG antaa mahdollisuuden suorittaa useita testejä rinnakkain yhdessä kokoonpanotiedostossa (XML).