TestNG ir testēšanas sistēma, kas aptver dažāda veida testus, piemēram, vienības, funkcionālo, gala līdz galam, lietotāja interfeisu un integrācijas testu.
Jūs varat palaist vienu vai vairākus paketes (pakete šeit nozīmē klases grupu iekapsulēšanu pareizā direktora formātā), izveidojot XML un palaižot to caur maven.
Šajā apmācībā jūs uzzināsiet
- TestNG grupas ar piemēru
- Maven un Java ceļa iestatīšana vides mainīgajā (Windows lietotājam)
- Iepazīšanās ar XML un kā izveidot XML failus
- Cits mehānisms Grupēšanas vietā ir “izslēgt” vai “iekļaut” testa XML
- Kā palaist kodu, izmantojot XML failu (video demonstrācija)
TestNG grupas ar piemēru
Testng mēs izmantojam grupas, kad
- Mēs nevēlamies definēt testa metodes atsevišķi dažādās klasēs (atkarībā no funkcionalitātes) un
- Tajā pašā laikā vēlaties ignorēt (neizpildīt) dažus testa gadījumus, it kā tie kodā nepastāvētu.
- Tāpēc, lai to paveiktu, mums tie ir jāgrupē. Tas tiek darīts, izmantojot testNG atbalstīto mehānismu "iekļaut" un "izslēgt".
Zemāk esošajā piemērā mēs parādījām sintaksi, kā XML failā izmantot grupas.
@Test (grupas = {"sasaistīšana", "stiprs_ties"})
Šeit mēs izmantojam 2 grupu nosaukumus, ti, "sasaistīšana" un "stiprie_tie" (tie ir loģiski nosaukumi, kurus var mainīt atbilstoši jūsu vēlmēm).
Pielāgojiet savu XML, lai izvēlētos minēto grupu no testa klasēm. Zemāk ir pieminēta sintakse, kā deklarēt grupas XML failā, piem
Pieņemsim, ka klasē ir 10 testa metodes.
No tiem,
- 6 metodes ir apzīmētas "līmēšanas" grupā un
- 4 ir "strong_ties" grupā
Virzoties uz priekšu, mēs iestatīsim maven / Java ceļu un izmantosim Eclipse IDE, lai parādītu grupu izmantošanu, izmantojot XML failus Java balstītā maven projektā.
Maven un Java ceļa iestatīšana vides mainīgajā (Windows lietotājam)
Lūdzu, skatiet vietni https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html
https://www.guru99.com/install-java.html
Iepazīšanās ar XML un kā izveidot XML failus
- XML (Extensible Markup Language) fails Maven ietvarā satur informāciju par vienu vai vairākiem testiem, un to nosaka tags
. - Testa informācija XML tiek attēlota ar tagu
, un tā var saturēt vienu vai vairākas TestNG klases. - Java klase, kas satur @Tot anotāciju virs testa metodēm, ir definēta kā TestNG metodes.
Vairāki tagi tiek izmantoti secībā, lai izveidotu darba testu NG xml, piemēram,
- Pirmais ir tags
, kuram ir loģisks nosaukums, kas nosaka pilnu informāciju, lai testNG ziņotu, lai ģenerētu izpildes ziņojumu. - Otrais ir
, ņemiet vērā, ka loģiskais nosaukums satur testa izpildes atskaites informāciju, piemēram, izturēšanu, neizdošanos, testa gadījumu izlaišanu un citu informāciju, piemēram, kopējo izpildes laiku un grupas informāciju. - Trešais ir
, com.group.guru99 ir izmantotais pakotne, un Test Class nosaukums ir TC_Class1.
xml version = "1.0" encoding = "UTF-8"?>
Mēs izmantosim šo XML gaidāmajiem video trūkumiem.
Cits mehānisms Grupēšanas vietā ir "izslēgt" vai "iekļaut" testa XML
Pieņemsim, ka atrodat sarežģītu grupas mehānismu izmantošanu, pēc tam testNG XML atvieglo funkcionalitāti, lai izslēgtu / iekļautu testu.
Izslēgt tagu : izslēgšanas taga sintakseIekļaut tagu : sintakse iekļaujamajam tagam
Piezīme. Mēs varam iekļaut / izslēgt vairākus testa gadījumus vienlaicīgi, un tas darbojas arī ar grupām.
Kā palaist kodu, izmantojot XML failu (video demonstrācija)
Java koda un XML skaidrojums kopā ar grupu, izslēdziet un iekļaujiet tagu XML.
- Scenārijs : Palaidiet Guru99 demonstrācijas banku vietni, pēc tam ievadiet akreditācijas datus un vēlreiz pārbaudiet dažas jaunas lietas pieteikumā, kad esat pieteicies, pieteikšanās lapā.
Piezīme : Katrs kodētais solis ir jādeklarē atsevišķās metodēs, bet, izpildot, tas izpildīs testa metodes atkarībā no ierakstiem XML failā.
1. metode : inicializējiet pārlūku un palaidiet URL (tc01LaunchURL ())
2. metode : pārbaudiet pieteikšanās lapas virsrakstu (tc02VerifyLaunchPage ())
3. metode : ievadiet lietotāja vārdu un paroli pieteikšanās veidlapā (tc03EnterCredentials ())
4. metode : Pārvaldnieka ID klātbūtnes pārbaudīšana lietotāja informācijas panelī (tc04VerifyLoggedInPage ())
5. metode : pārbaudiet vēl dažas saites lietotāja informācijas panelī (tc05VerifyHyperlinks ())
Mūsu scenārija kods:
pakete com.group.guru99;importēt java.util.concurrent.TimeUnit;importēt org.openqa.selenium.By;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.firefox.FirefoxDriver;importēt org.testng.Assert;importēt org.testng.annotations.Test;publiskā klase TC_Class1 {public static final WebDriver webDriver = new FirefoxDriver () ;;String launchPageHeading = "// h3 [text () = 'Guru99 banka']";galīgā virkne userName_element = "// ievade [@ name = 'uid']", password_element = "// ievade [@ name = 'password']",signIn_element = "// ievade [@ name = 'btnLogin']";galīgā virkne userName_value = "mngr28642", password_value = "ydAnate";final String managerID = "// td [satur (text (), 'Manger Id')]];galīgā virkne newCustomer = "//a[@href='addcustomerpage.php ']", fundTransfer = "//a[@href='FundTransInput.php']";/ *** Šis testa gadījums inicializēs webDriver* /@Test (grupas = {"sasaistīšana", "stiprs_ties"})public void tc01LaunchURL () {webDriver.manage (). logs (). maksimizēt ();webDriver.manage (). taimauti (). implicitlyWait (20, TimeUnit.SECONDS);webDriver.get ("http://www.demo.guru99.com/V4/");}/ *** Pārbaudīs, vai pieteikšanās lapā atrodas virsraksts* /@Test (grupas = {"saistīšana"})public void tc02VerifyLaunchPage () {Assert.assertTrue (webDriver.findElement (By.xpath (launchPageHeading)). IsDisplayed (),"Mājas lapas virsraksts netiek parādīts");System.out.println ("Tiek parādīta mājas lapas virsraksts");}/ *** Šajā testa gadījumā tiks ievadīts lietotāja vārds, parole un pēc tam noklikšķiniet uz* poga pierakstīties* /@Test (grupas = {"sasaistīšana", "stiprs_ties"})public void tc03EnterCredentials () {webDriver.findElement (By.xpath (userName_element)). sendKeys (userName_value);webDriver.findElement (By.xpath (password_element)). sendKeys (password_value);webDriver.findElement (By.xpath (signIn_element)). noklikšķiniet ();}/ *** Šis testa gadījums pārbaudīs mangera ID klātbūtni DashBoard* /@Test (grupas = {"strong_ties"})public void tc04VerifyLoggedInPage () {Assert.assertTrue (webDriver.findElement (By.xpath (managerID)). IsDisplayed (),"Pārziņa ID etiķete nav redzama");System.out.println ("Tiek parādīta Manger Id etiķete");}/ *** Šis testa gadījums pārbaudīs Jauna klienta saites klātbūtni* Un FundTransfer saite kreisajā panelī* /@Test (grupas = {"saistīšana"})public void tc05VerifyHyperlinks () {Assert.assertTrue (webDriver.findElement (By.xpath (newCustomer)). IsEnabled (),"Jauna klienta hipersaite netiek parādīta");System.out.println ("Tiek parādīta jauna klienta hipersaite");Assert.assertTrue (webDriver.findElement (By.xpath (fundTransfer)). IsEnabled (),"Naudas pārskaitījuma hipersaite netiek parādīta");System.out.println ("Tiek parādīta naudas pārskaitījuma hipersaite");}}
Lūdzu, ņemiet vērā: akreditācijas dati ir derīgi tikai 20 dienas, tādēļ, ja mēģināt palaist kodu vietējā mašīnā, var rasties kļūdaina akreditācijas datu kļūda. Lūdzu, veiciet tālāk norādītās darbības, lai ģenerētu pieteikšanās akreditācijas datus.
- Palaidiet vietni http://www.demo.guru99.com
- Lodziņā ievadiet savu e-pasta ID.
- Noklikšķiniet uz Enter un ekrānā skatiet savu pieteikuminformāciju.
Koda skaidrojums:
Kā minēts iepriekš, mēs esam izveidojuši 5 testa gadījumus katras darbības veikšanai neatkarīgās metodēs.
Jūs varat novērot, ka katrai metodei mēs esam piesaistījuši grupas parametru, kurā tajā ir noteikta vērtība.
Būtībā šie ir diferencējošo grupu nosaukumi, ti, "stiprie_tiesības" un "savienojumi".
- Pirmā un trešā metode ir apzīmēta ar “līmēšana”, “strong_ties”, kas nozīmē, ka, ja XML tiek atjaunināts kādā no grupām, šis testa gadījums darbosies.
- Otrā metode ir apzīmēta tikai ar "saistīšanas" grupu, tas nozīmē, ka, ja XML tiek atjaunināts ar saistīšanas grupu. Tikai tādā gadījumā šī testa lieta darbosies.
- Ceturtais testa gadījums ir atzīmēts grupā strong_ties, kas nozīmē, ka šis testa gadījums darbosies tikai tad, ja XML tiks atjaunināts ar grupas strong_ties nosaukumu.
- Pēdējais, bet ne mazāk piektais testa gadījums ir pievienots savienošanas grupai, kas nozīmē, ka šis testa gadījums darbosies tikai tad, ja XML tiks atjaunināts ar savienošanas grupas nosaukumu.
Tātad kopumā mums ir 4 scenāriji;
- Mēs vēlamies palaist visus testa gadījumus neatkarīgi no grupas nosaukuma. Šajā gadījumā mēs noņemsim grupas tagu no XML palaišanas.
- Mēs vēlamies izpildīt dažus testus, kas saistīti tikai ar kādu no grupām, ti, ar spēcīgajiem vai savienojumiem
- Lūdzu, skatiet:
- Šajā videoklipā grupas parametrs tiek komentēts, palaižot XML. Tādējādi jūs redzēsiet, ka visi testa gadījumi tika izpildīti.
- Turpinot video, tagad mēs esam iekļāvuši grupas nosaukumu XML, jūs varat redzēt tikai testa gadījumus, kas raksturīgi šai grupai.
- Lai izslēgtu testa gadījumu, mēs izmantojam izslēgšanas mehānismu:
- Lūdzu, skatiet
- Jūs redzat, ka mēs izmantojām izslēgt dažus testa gadījumus (tc02), ierakstot viņu vārdu, darbinot XML. Gala rezultātā minētie testa gadījumi netika palaisti.
- Visbeidzot, mēs izmantojam iekļaušanas testa mehānismu, lai iekļautu testa gadījumus (tc01LaunchURL, tc03EnterCredentials un tc05VerifyHyperlinks)
- Lūdzu, skatiet
- Šajā video redzēsiet, ka XML minētie testa gadījumi darbojas tikai testa izpildes laikā.
Lūdzu, lejupielādējiet kodu no minētā URL, un tajā būs visu veidu testXML:
Lejupielādējiet iepriekš minēto kodu
Secinājums
Mēs šeit esam iemācījušies salīdzinoši jaunu testu izpildīšanas veidu, izmantojot XML Maven projektā.
Sākumā mēs sniedzām īsu ievadu par testNG un turpinājām ar pilnu grupu, izslēgšanas un iekļaušanas tehnisko specifikāciju.