TestNG: Kaip paleisti kelis bandomuosius rinkinius selene

„TestNG“ leidžia lygiagrečiai vykdyti bandymo metodus, testų klases ir bandymo atvejus jūsų projekte. Atlikdami lygiagrečią vykdymą, mes galime sutrumpinti „vykdymo laiką“, kai bandymai pradedami ir vykdomi vienu metu skirtingose ​​gijose.

Čia pamatysime, kaip paleisti kelias klases (dar žinomas kaip skirtingi rinkiniai) naudojant „TestNG“.

1 žingsnis) Sukurkite TestNG.xml failą, kad atliktumėte testą

Norėdami tai padaryti, atlikite toliau nurodytus veiksmus.

  1. Sukurkite naują užtemimo projektą
  2. Sukurkite du paketus projektuose (pavadinkite juos kaip com.suite1 ir com.suite2)
  3. Kiekviename pakete sukurkite klasę (pavadinkite jas kaip Flipkart.java ir Snapdeal.java) ir nukopijuokite žemiau pateiktą kodą atitinkamose klasėse
  4. Sukurkite naują failą savo projekte ir pavadinkite jį kaip testng.xml (Įsitikinkite, kad įdiegėte testavimo papildinį užtemimui, instrukcijas rasite čia). Testng.xml yra visa konfigūracija (klasių, testų ir pavardžių pavadinimai.

Flipkart.java

paketas com.suite1;importuoti java.util.concurrent.TimeUnit;importuoti org.openqa.selenium.Alert;importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.WebElement;importuoti org.openqa.selenium.firefox.FirefoxDriver;importuoti org.openqa.selenium.interactions.Actions;importuoti org.testng.annotations.AfterClass;importuoti org.testng.annotations.BeforeClass;importuoti org.testng.annotations.Test;viešoji klasė „Flipkart“ {„WebDriver“ tvarkyklė = nauja „FirefoxDriver“ ();Eilutės vartotojo vardas = ""; // Pakeiskite savo vartotojo vardą ir prisijungimo kodąEilutės slaptažodis = "";// Šis metodas skirtas naršyti flipkart URL@BeforeClasspublic void init () {vairuotojas.tvarkyti (). langas (). padidinti ();vairuotojas.tvarkyti (). skirtasis laikas (). netiesiogiai Palaukite (60, „TimeUnit.SECONDS“);vairuotojas.navigate (). to ("https://www.flipkart.com");}// Norėdami prisijungti prie „flipkart“@Testviešas negaliojantis prisijungimas () {driver.findElement (By.partialLinkText ("Prisijungimas")). spustelėkite ();driver.findElement (By.cssSelector (". Fk-input.login-form-input.user-email")).sendKeys (vartotojo vardas);driver.findElement (By.cssSelector (". Fk-input.login-form-input.user-pwd")).sendKeys (slaptažodis);driver.findElement (By.cssSelector (". pateikti-btn.login-btn.btn")). spustelėkite ();}// Ieškoti produkto@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")).spustelėkite ();// pasirinkite pirmą elementą paieškos rezultatuoseEilutė 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)). spustelėkite ();}@Testpublic void buyAndRemoveFromCart () {driver.findElement (By.cssSelector (". Btn-express-checkout.btn-big.current")).spustelėkite ();driver.findElement (By.cssSelector (". pašalinti.fk-inline-block")). spustelėkite ();Įspėjimas a = driver.switchTo (). Alert ();a. priimti ();}@Testviešas negaliojantis atsijungimas () {Veiksmai s = nauji veiksmai (tvarkyklė);„WebElement“ vartotojas = driver.findElement (By.partialLinkText (vartotojo vardas));s.moveToElement (vartotojas) .build (). perform ();driver.findElement (By.linkText ("Atsijungti")). spustelėkite ();}@Po pamokųpublic void quit () {vairuotojas.uždaryti ();}}

„SnapDeal.java“

paketas com.suite2;importuoti java.util.concurrent.TimeUnit;importuoti org.openqa.selenium.Alert;importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.WebElement;importuoti org.openqa.selenium.firefox.FirefoxDriver;importuoti org.openqa.selenium.interactions.Actions;importuoti org.testng.annotations.AfterClass;importuoti org.testng.annotations.BeforeClass;importuoti org.testng.annotations.Test;viešosios klasės „SnapDeal“„WebDriver“ tvarkyklė = nauja „FirefoxDriver“ ();Eilutės vartotojo vardas = ""; // Pakeiskite savo vartotojo vardą ir prisijungimo kodąEilutės slaptažodis = "";String pinCode = "";// Šis metodas skirtas naršyti „snapdeal“ URL@BeforeClasspublic void init () {vairuotojas.tvarkyti (). langas (). padidinti ();vairuotojas.tvarkyti (). skirtasis laikas (). netiesiogiai Palaukite (60, „TimeUnit.SECONDS“);driver.navigate (). to ("https://www.snapdeal.com");}// Norėdami prisijungti prie „flipkart“@Testviešas negaliojantis prisijungimas () {driver.findElement (By.xpath ("// mygtukas [text () = 'Prisijungti']")). spustelėkite ();driver.switchTo (). frame ("loginIframe");driver.findElement (By.cssSelector ("div [onClick = 'getLoginForm ()']]]).spustelėkite ();driver.findElement (By.id ("j_username")). sendKeys (vartotojo vardas);driver.findElement (By.id ("j_password_login")). sendKeys (slaptažodis);driver.findElement (By.id ("signin_submit")). spustelėkite ();driver.switchTo (). defaultContent ();}// Ieškoti produkto@Testpublic void searchAndSelectProduct () {driver.findElement (By.cssSelector (". col-xs-20.searchformInput.keyword")).sendKeys („iphone 6s“);driver.findElement (By.cssSelector (". sd-icon.sd-icon-search")). spustelėkite ();// pasirinkite pirmą elementą paieškos rezultatuoseEilutė css = ".product_grid_row: n-asis tipo (1)> div: n-asis vaikas (1)";driver.findElement (By.cssSelector (css)). spustelėkite ();}@Testpublic void buyAndRemoveFromCart () {driver.findElement (By.xpath ("// li [yra (tekstas (), 'Sidabras')]")). spustelėkite ();driver.findElement (By.id ("PIN kodo patikrinimas")). sendKeys (pinCode);driver.findElement (By.id ("buy-button-id")). spustelėkite ();driver.findElement (By.cssSelector ("i [title = 'Ištrinti elementą']")). spustelėkite ();Įspėjimas a = driver.switchTo (). Alert ();a. priimti ();}@Testviešas negaliojantis atsijungimas () {driver.findElement (By.linkText ("PRADĖKITE PIRKTI DABAR")). spustelėkite ();Veiksmai s = nauji veiksmai (tvarkyklė);„WebElement“ vartotojas = driver.findElement (By.cssSelector (". Sd-icon.sd-icon-user"));s.moveToElement (vartotojas) .build (). perform ();driver.findElement (By.linkText ("Atsijungti")). spustelėkite ();}@Po pamokųpublic void quit () {vairuotojas.uždaryti ();}}

TestNg.xml

Galutinė projekto struktūra atrodo žemiau,

2 žingsnis) Lygiagretus vykdymas „TestNG“

Sukūrę xml failą, kaip parodyta aukščiau, kitame žingsnyje atliksime lygiagrečią bandymą. Žemiau yra kodas.

1) gijų skaičius : tai naudojama lygiagrečiam vykdymui, remiantis skaičių scenarijumi. Jis bus vykdomas lygiagrečiai arba nuosekliai.

2) daugiažodis : jis naudojamas registruoti vykdymo informaciją konsolėje. Vertė turėtų būti 1–10. Žurnalo informacija konsolės lange bus išsamesnė ir aiškesnė, kai padidinsite vergose atributo vertę testng.xml konfigūracijos faile.

3) pavadinimas : apartamentų pavadinimas. Čia yra „Gmail Suite“

4) Lygiagretus : norint scenarijus paleisti lygiagrečiai, vertė gali būti testai / klasės / metodai / rinkiniai. Numatytoji vertė nėra

Dešiniuoju pelės mygtuku spustelėkite testng.xml ir pasirinkite vykdyti kaip testavimą, kai pavyks, pamatysite visus rezultatus

Vykdydami pirmiau nurodytą kodą gausite šią išvestį.

Išvestis:

1) rinkinio pavadinimas, nurodytas testng.xml

2) bandymo pavadinimas, nurodytas testng.xml

3) klasės pavadinimas, nurodytas testng.xml

4) metodų pavadinimai, komentuojami @Test faile .java

Panašiai ji taip pat vykdys bandomąjį paketą, skirtą skubiems sandoriams.

Išvada:

Aukščiau pateiktame pavyzdyje matėme, kaip naudoti „Testng“ lygiagrečiam bandymui atlikti. „TestNG“ suteikia galimybę vienu metu atlikti kelis bandymus viename konfigūracijos faile (XML).

Įdomios straipsniai...