TestNG Εκμάθηση

⚡ Έξυπνη Σύνοψη

TestNG είναι η Επόμενη Γενιά Java πλαίσιο δοκιμών που συνδυάζεται με Selenium για δομημένο αυτοματισμό, πλούσια αναφορά και παράλληλη εκτέλεση. Αυτό το σεμινάριο καλύπτει τις βασικές σχολιασμούς, τη ρύθμιση του έργου σε Eclipse, σύνταξη της πρώτης δοκιμαστικής περίπτωσης, αναφορές HTML και χρήση παραμέτρων για προχωρημένους.

  • 🧱 Βασικό Πλαίσιο: TestNG Επεκτείνεται JUnit ιδέες με σχολιασμούς, ομάδαpingκαι παράλληλη εκτέλεση δοκιμών για Selenium σουίτες
  • 🏷️ Οι σχολιασμοί οδηγούν τη ροή: Ρύθμιση, δοκιμή και απεγκατάσταση ακολουθίας @Test, @BeforeMethod, @AfterMethod, @BeforeTest και @AfterTest.
  • 🗂️ Eclipse Ρύθμιση: Φτιάξτε ένα TestNG έργο, προσθέστε το TestNG βιβλιοθήκη και Selenium JAR και, στη συνέχεια, δημιουργήστε κλάσεις δοκιμών από τον οδηγό.
  • 📊 Αναφορά: TestNG παράγει αναφορές κειμένου, γραφικών και HTML στον φάκελο αποτελεσμάτων δοκιμής, συμπεριλαμβανομένων χρονολογικών προβολών.
  • ⚙️ παράμετροι: Χρησιμοποιήστε τις συναρτήσεις priority, alwaysRun και dataProvider για να ελέγξετε τη σειρά εκτέλεσης και να τροφοδοτήσετε δεδομένα σε δοκιμές.
  • 🤖 AI Boost: Οι βοηθοί κωδικοποίησης τεχνητής νοημοσύνης επιταχύνουν TestNG δημιουργία κλάσεων, ενημερώσεις εντοπιστή και scaffolding dataProvider.

TestNG Εκμάθηση

Τι είναι TestNG?

TestNG είναι ένα πλαίσιο δοκιμών αυτοματοποίησης όπου το "NG" σημαίνει "Επόμενη Γενιά". TestNG εμπνέεται από JUnit και χρήσεις Java σχολιασμούς (@) για τον έλεγχο της ροής των δοκιμών. Ξεπερνά JUnitπροηγούμενους περιορισμούς του και έχει σχεδιαστεί για να κάνει δοκιμή από άκρο σε άκρο ευκολότερη.

Με TestNG Μπορείτε να δημιουργήσετε μια σωστή αναφορά και να δείτε αμέσως πόσες δοκιμές πέρασαν με επιτυχία, απέτυχαν ή παραλείφθηκαν. Μπορείτε επίσης να εκτελέσετε ξανά μόνο τις περιπτώσεις που απέτυχαν.

Για παράδειγμα:

  • Ας υποθέσουμε ότι έχετε πέντε περιπτώσεις δοκιμών, καθεμία με τη δική της μέθοδο, γραμμένες χωρίς TestNGΤρία περνούν. Το τέταρτο αποτυγχάνει. Αφού διορθώσετε το τέταρτο, θέλετε να εκτελέσετε ξανά μόνο αυτό, αφού τα τρία πρώτα έχουν ήδη περάσει. Αυτό είναι δύσκολο να γίνει με απλό κώδικα μεθόδου main().
  • TestNG παρέχει ένα testng-failed.xml αρχείο στο test-output φάκελο. Η εκτέλεση αυτού του XML εκτελεί ξανά μόνο τις αποτυχημένες υποθέσεις.

Πέρα από αυτό, θα μάθετε τα πλεονεκτήματα του TestNG, πώς να γράφετε μεθόδους δοκιμών με σχολιασμούς @Test και πώς να μετατρέπετε τις κλάσεις σας σε μια σουίτα δοκιμών που εκτελείται από Eclipse ή τη γραμμή εντολών.

Γιατί να χρησιμοποιήσετε TestNG μαζί σου, Selenium?

Από προεπιλογή, Selenium οι δοκιμές δεν παράγουν αποτελέσματα με ωραία μορφοποίηση. Με TestNG συνδεδεμένος στην πρίζα, ο δοκιμαστικός δρομέας εκπέμπει μια δομημένη αναφορά που μπορείτε να μοιραστείτε με την ομάδα.

γέφυρα Selenium προτιμούν οι χρήστες TestNG επί JUnit λόγω του ευρύτερου συνόλου χαρακτηριστικών του. Τα βασικά χαρακτηριστικά για Selenium είναι:

  • Αναφορές που περιλαμβάνουν τον αριθμό των δοκιμαστικών περιπτώσεων που εκτελέστηκαν, πέρασαν με επιτυχία, απέτυχαν και παραλείφθηκαν.
  • Εύκολη ομάδαping δοκιμαστικών περιπτώσεων μέσω ενός testng.xml αρχείο, με προτεραιότητες εκτέλεσης.
  • Επαναλάβετε μια δοκιμή πολλές φορές χωρίς επαναλήψεις χρησιμοποιώντας invocationCount.
  • Εκτελέστε πολλαπλές δοκιμές σε πολλά προγράμματα περιήγησης — διασταυρούμεναδοκιμή προγράμματος περιήγησης Υποστήριξη.
  • Ομαλή ενσωμάτωση με το Maven, Jenkinsκαι άλλα εργαλεία CI.
  • Readable σχολιασμοί — για παράδειγμα, @BeforeMethod, @AfterMethod, @BeforeTest, @AfterTest.
  • Selenium Το WebDriver δεν διαθέτει εγγενή αναφορά. TestNG καλύπτει αυτό το κενό με μια καθαρή αναφορά HTML όπως αυτή που ακολουθεί.

TestNG Δείγμα αναφοράς HTML για Selenium δοκιμές

  • TestNG απλοποιεί τον κώδικα δοκιμών. Δεν χρειάζεστε πλέον μια στατική μέθοδο main. Οι σχολιασμοί καθορίζουν τι εκτελείται και πότε.

Συνήθης Java δομή κλάσης δοκιμής με τη μέθοδο main

TestNG δοκιμή δομής κλάσης χρησιμοποιώντας σχολιασμούς

  • Οι εξαιρέσεις που δεν έχουν εντοπιστεί αντιμετωπίζονται με χάρη από TestNGΑναφέρονται ως αποτυχημένα βήματα χωρίς να τερματίζεται ολόκληρη η εκτέλεση.

Πλεονεκτήματα της TestNG επί JUnit

TestNG προσφέρει τρία σημαντικά πλεονεκτήματα σε σχέση με JUnit:

  • Οι σχολιασμοί είναι πιο εύκολοι στην κατανόηση και τη χρήση.
  • Οι δοκιμαστικές περιπτώσεις μπορούν να ομαδοποιηθούν και να ιεραρχηθούν με λιγότερη προσπάθεια.
  • Η παράλληλη εκτέλεση δοκιμών υποστηρίζεται αμέσως.

Τι είναι μια σχολίαση στο TestNG?

Σχολιασμοί σε TestNG είναι γραμμές κώδικα που τοποθετούνται πάνω από μια μέθοδο για να ελέγχουν τον τρόπο εκτέλεσής της. Ξεκινούν πάντα με το σύμβολο @. Ένα απλό παράδειγμα φαίνεται παρακάτω.

Παράδειγμα TestNG σχολιασμός πάνω από ένα Java μέθοδος

Οι σχολιασμοί καλύπτονται λεπτομερώς στην ενότητα «Σχόλια που χρησιμοποιούνται σε TestNG" αργότερα σε αυτό το σεμινάριο, επομένως το παραπάνω παράδειγμα είναι απλώς για να ορίσουμε τις προσδοκίες. TestNG οι σχολιασμοί είναι πιο εύκολο να κωδικοποιηθούν και να διαβαστούν από τους JUnit ισοδύναμα, και είναι απαραίτητα κατά την εκτέλεση δοκιμών σε Selenium Πλέγμα όπου η παράλληλη εκτέλεση έχει σημασία.

Πώς να γράψετε δοκιμαστικές περιπτώσεις TestNG

Γράφοντας α TestNG Η δοκιμαστική περίπτωση περιλαμβάνει τρία βήματα:

  1. Γράψτε τη λογική και την τοποθεσία της επιχείρησής σας TestNG σχολιασμοί πάνω από κάθε μέθοδο.
  2. Προσθέστε μεταδεδομένα όπως όνομα κλάσης, όνομα ομάδας και όνομα πακέτου.
  3. Εκτελέστε το TestNG κλάση από το IDE σας ή τη γραμμή εντολών.

Δημιουργήστε μια δοκιμαστική περίπτωση χρησιμοποιώντας TestNG Οι σχολιασμοί

Τώρα θα δημιουργήσουμε την πρώτη μας δοκιμαστική περίπτωση χρησιμοποιώντας TestNG σχολιασμοί σε SeleniumΠριν γράψετε το τεστ, ρυθμίστε ένα νέο TestNG έργο στο Eclipse και καλέστε το ΌνομαTestNGΕΡΓΟ.

Δημιουργία ενός νέου TestNG ΕΡΓΟ

Βήμα 1) Πατήστε Αρχείο > Νέο > Java ΕΡΓΟ.

Eclipse μενού για να δημιουργήσετε ένα νέο Java project

Βήμα 2) εισάγετε ΌνομαTestNGΕΡΓΟ ως όνομα έργου και κάντε κλικ Επόμενο.

Νέα Java οδηγός έργου με όνομα FirstTestNGΕΡΓΟ

Βήμα 3) Εισαγάγετε το TestNG βιβλιοθήκες. Κάντε κλικ στο βιβλιοθήκες καρτέλα και στη συνέχεια Προσθήκη βιβλιοθήκης….

Καρτέλα Βιβλιοθήκες με την επιλογή Προσθήκη βιβλιοθήκης Eclipse

Βήμα 4) Στο Προσθήκη βιβλιοθήκης διαλόγου, επιλέξτε TestNG και κάντε κλικ στο κουμπί Επόμενο.

επιλογή TestNG στο παράθυρο διαλόγου Προσθήκη βιβλιοθήκης

Βήμα 5) Πατήστε φινίρισμα.

Ολοκλήρωση του οδηγού προσθήκης βιβλιοθήκης

TestNG θα πρέπει τώρα να εμφανίζεται στη λίστα Βιβλιοθηκών.

TestNG ορατό στη λίστα Βιβλιοθηκών

Βήμα 6) Προσθέστε τα αρχεία JAR που περιέχουν το Selenium API. Αυτά προέρχονται από το Java πρόγραμμα οδήγησης πελάτη που λήφθηκε από selenium.dev/λήψεις.

Παράθυρο διαλόγου Προσθήκη εξωτερικών JAR στο Eclipse

Μεταβείτε στον φάκελο όπου βρίσκεται το Selenium Τα JAR αποθηκεύονται.

επιλογή Selenium Αρχεία JAR για τη διαδρομή δημιουργίας

Αφού προσθέσετε τα εξωτερικά JAR, η οθόνη θα πρέπει να μοιάζει με αυτήν.

Selenium Τα JAR προστέθηκαν στη λίστα Βιβλιοθηκών

Βήμα 7) Πατήστε φινίρισμα. Το νέο ΌνομαTestNGΕΡΓΟ εμφανίζεται στην Εξερεύνηση Πακέτων.

ΌνομαTestNGΤο έργο είναι ορατό στην Εξερεύνηση Πακέτων

Πώς να δημιουργήσετε ένα νέο TestNG Αρχείο δοκιμής

Με το έργο έτοιμο, δημιουργήστε ένα νέο TestNG αρχείο.

Βήμα 1) Κάντε δεξί κλικ στο src φάκελο και επιλέξτε Νέο > Άλλο….

Νέο μενού Άλλο από τον φάκελο src στο Eclipse

Βήμα 2) Αναπτύξτε το TestNG φάκελο, επιλέξτε TestNG τάξη, και κάντε κλικ στο κουμπί Επόμενο.

TestNG επιλογή κλάσης στον οδηγό "Νέο"

Βήμα 3) Εισαγάγετε τις τιμές που εμφανίζονται παρακάτω και κάντε κλικ φινίρισμα. ο Java το αρχείο ονομάζεται ΌνομαTestNGΑρχεία.

TestNG μάγος τάξης με τον ΠρώτοTestNGΤιμές αρχείων

Βήμα 4) Eclipse δημιουργεί το TestNG πρότυπο που φαίνεται παρακάτω.

Δημιουργούνται TestNG πρότυπο τάξης σε Eclipse συντάκτης

Κωδικοποίηση Η Πρώτα Σας TestNG Δοκιμαστική θήκη

Δημιουργήστε το πρώτο περίπτωση δοκιμής που επιβεβαιώνει τον τίτλο του Mercury Αρχική σελίδα περιηγήσεων.

package firsttestngpackage;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.Test;

public class FirstTestNGFile {

    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    public WebDriver driver;

    @Test
    public void verifyHomepageTitle() {
        System.out.println("launching firefox browser");
        // Selenium 4 ships Selenium Manager, so the driver path is no longer required.
        driver = new FirefoxDriver();
        driver.get(baseUrl);
        String expectedTitle = "Welcome: Mercury Tours";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
        driver.quit();
    }
}

Πράγματα που πρέπει να προσέξετε:

  • TestNG δεν χρειάζεται ένα main() μέθοδος.
  • Οι μέθοδοι δεν χρειάζεται να είναι στατικές.
  • The @Δοκιμή σημάδια σχολιασμού verifyHomepageTitle() ως δοκιμαστική περίπτωση.
  • Οι σχολιασμοί βρίσκονται στο org.testng.annotations.* πακέτο.
  • The Προσθέστε τάξη από org.testng.Assert οδηγεί σε επαληθεύσεις.

Μπορεί να έχετε πολλαπλές σχολιασμοί @Test σε ένα μόνο TestNG αρχείο. Αυτό το καλύπτουμε στο «Σχόλια που χρησιμοποιούνται σε TestNG" τμήμα.

Εκτέλεση του τεστ

Κάντε δεξί κλικ στο αρχείο και εκτελέστε το ως TestNG δοκιμή. Eclipse παράγει δύο εξόδους — ένα αποτέλεσμα κειμένου στο παράθυρο της Κονσόλας και ένα γραφικό αποτέλεσμα στο TestNG Παράθυρο αποτελεσμάτων.

TestNG Παράθυρο αποτελεσμάτων με το αποτέλεσμα της δοκιμής

Eclipse Παράθυρο κονσόλας με TestNG έξοδος κειμένου

Έλεγχος Αναφορών Δημιουργήθηκε από TestNG

Το παράθυρο της Κονσόλας παρέχει μια σύνοψη με βάση το κείμενο, ενώ το TestNG Το παράθυρο αποτελεσμάτων εμφανίζει μια γραφική απεικόνιση.

Κείμενο έναντι γραφικών TestNG σύγκριση αποτελεσμάτων

Δημιουργία αναφορών HTML

TestNG μπορεί επίσης να δημιουργήσει πλήρεις αναφορές HTML.

Βήμα 1) Μετά την εκτέλεση ΌνομαTestNGΑρχεία, κάντε δεξί κλικ στο έργο και επιλέξτε Φρεσκάρω.

Επιλογή ανανέωσης για το TestNG έργο στο Eclipse

Βήμα 2) A δοκιμαστική έξοδος εμφανίζεται ο φάκελος. Αναπτύξτε τον και εντοπίστε index.html — η αναφορά HTML για την πιο πρόσφατη εκτέλεση.

φάκελος test-output με επισημασμένο το index.html

Βήμα 3) Double-κλικ index.html να το ανοίξω μέσα EclipseΤο πρόγραμμα περιήγησης. Πατήστε F5 για ανανέωση μετά από μελλοντικές εκτελέσεις.

TestNG Αναφορά ευρετηρίου HTML που αποδόθηκε σε Eclipse

Σχολιασμοί που χρησιμοποιούνται σε TestNG

Έχετε ήδη δει την σχολίαση @Test. Η υπόλοιπη ενότητα καλύπτει τις πιο χρήσιμες προηγμένες σχολιάσεις.

Πολλαπλές Δοκιμασίες

Ενα μονό TestNG Το αρχείο μπορεί να περιέχει πολλαπλές σχολιασμοί @Test. Από προεπιλογή, οι μέθοδοι που σχολιάζονται με @Test εκτελούνται με αλφαβητική σειρά. Στον παρακάτω κώδικα, οι μέθοδοι c_test, a_testκαι b_test εκτελούνται αλφαβητικά ανεξάρτητα από τη σειρά προέλευσης.

Πολλαπλές μέθοδοι @Test σε μία μόνο TestNG τάξη

Εκτελέστε τον κώδικα και ανοίξτε index.html. Κλίκ Χρονολογική προβολή.

Χρονολογική άποψη πολλαπλών TestNG μέθοδοι

Παράμετροι

Για να παρακάμψετε την προεπιλεγμένη σειρά, χρησιμοποιήστε το priority παράμετρος. Οι παράμετροι είναι λέξεις-κλειδιά που τροποποιούν τη συμπεριφορά ενός σχολιασμού.

  • Αντιστοιχίστε μια τιμή με =.
  • Τυλίξτε τις παραμέτρους σε παρενθέσεις που τοποθετούνται αμέσως μετά την σχολίαση, όπως φαίνεται παρακάτω.

TestNG σχολιασμός με σύνταξη παραμέτρων και τιμών

TestNG Εκτελεί τις σχολιασμούς @Test από την τιμή χαμηλότερης προτεραιότητας προς την υψηλότερη. Οι αριθμοί προτεραιότητας δεν χρειάζεται να είναι διαδοχικοί.

Πλήρης κώδικας με παραμέτρους προτεραιότητας @Test

Η αναφορά HTML επιβεβαιώνει ότι οι μέθοδοι εκτελούνται με αύξουσα σειρά προτεραιότητας.

TestNG αναφορά που εμφανίζει μεθόδους που εκτελούνται κατά αύξουσα προτεραιότητα

Πολλαπλές Παράμετροι

Εκτός priority, Το @Test αποδέχεται το alwaysRun παράμετρος (αληθής ή ψευδής). Για να χρησιμοποιήσετε δύο ή περισσότερες παραμέτρους σε μία μόνο σημείωση, διαχωρίστε τες με κόμμα:

@Test(priority = 0, alwaysRun = true)

Παράδειγμα πολλαπλών παραμέτρων μέσα σε μια σχολίαση @Test

@BeforeTest και @AfterTest

@BeforeTest Μέθοδοι που εκτελούνται σε αυτήν την εκτέλεση σχολίων πριν από την πρώτη δοκιμαστική περίπτωση στο TestNG φιλέτο.
@AfterTest Μέθοδοι που εκτελούνται σε αυτήν την εκτέλεση σχολίων μετά από όλες τις δοκιμαστικές περιπτώσεις στο TestNG ολοκλήρωση αρχείου.

Σκεφτείτε τον παρακάτω κώδικα.

package firsttestngpackage;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.*;

public class FirstTestNGFile {

    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    public WebDriver driver;

    @BeforeTest
    public void launchBrowser() {
        System.out.println("launching firefox browser");
        driver = new FirefoxDriver();
        driver.get(baseUrl);
    }

    @Test
    public void verifyHomepageTitle() {
        String expectedTitle = "Welcome: Mercury Tours";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
    }

    @AfterTest
    public void terminateBrowser() {
        driver.quit();
    }
}

Από τον πίνακα και τον κώδικα, μπορούμε να προβλέψουμε ότι η ακολουθία θα είναι:

  • 1η — launchBrowser()
  • 2η — verifyHomepageTitle()
  • 3η — terminateBrowser()

Η τοποθέτηση των μπλοκ σχολιασμού στο αρχείο προέλευσης δεν επηρεάζει τη σειρά εκτέλεσής τους. Δοκιμάστε να αναδιατάξετε τις μεθόδους όπως φαίνεται παρακάτω.

package firsttestngpackage;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.*;

public class FirstTestNGFile {

    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    public WebDriver driver;

    @AfterTest                              // Jumbled
    public void terminateBrowser() {
        driver.quit();
    }

    @BeforeTest                             // Jumbled
    public void launchBrowser() {
        System.out.println("launching firefox browser");
        driver = new FirefoxDriver();
        driver.get(baseUrl);
    }

    @Test                                   // Jumbled
    public void verifyHomepageTitle() {
        String expectedTitle = "Welcome: Mercury Tours";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
    }
}

Εκτελέστε τον κώδικα και επαληθεύστε το αποτέλεσμα.

TestNG αποτέλεσμα που επιβεβαιώνει την παραγγελία παρά τους μπερδεμένους σχολιασμούς

@BeforeMethod και @AfterMethod

@BeforeMethod Μέθοδοι που εκτελούνται σε αυτήν την εκτέλεση σχολίων πριν από κάθε μέθοδο δοκιμής.
@AfterMethod Μέθοδοι που εκτελούνται σε αυτήν την εκτέλεση σχολίων μετά από κάθε μέθοδο δοκιμής.

In Mercury Περιηγήσεις, ας υποθέσουμε ότι θέλουμε να επαληθεύσουμε τους τίτλους δύο σελίδων-στόχων στις οποίες φτάσαμε από την αρχική σελίδα.

Τρεις σύνδεσμοι από Mercury Αρχική σελίδα περιηγήσεων

Η ροή της δοκιμής είναι:

  • Ανοίξτε την αρχική σελίδα και επαληθεύστε τον τίτλο της.
  • Κάντε κλικ στην ΕΓΓΡΑΦΗ και επαληθεύστε τον τίτλο της σελίδας στόχου.
  • Επιστρέψτε στην αρχική σελίδα και επαληθεύστε τον τίτλο.
  • Κάντε κλικ στο SUPPORT και επαληθεύστε τον τίτλο της σελίδας στόχου.
  • Επιστρέψτε στην αρχική σελίδα και επαληθεύστε ξανά τον τίτλο.

Ο παρακάτω κώδικας δείχνει πώς οι @BeforeMethod και @AfterMethod χειρίζονται τα επαναλαμβανόμενα βήματα.

package firsttestngpackage;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.*;

public class FirstTestNGFile {

    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    public WebDriver driver;
    public String expected = null;
    public String actual = null;

    @BeforeTest
    public void launchBrowser() {
        System.out.println("launching firefox browser");
        driver = new FirefoxDriver();
        driver.get(baseUrl);
    }

    @BeforeMethod
    public void verifyHomepageTitle() {
        String expectedTitle = "Welcome: Mercury Tours";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
    }

    @Test(priority = 0)
    public void register() {
        driver.findElement(By.linkText("REGISTER")).click();
        expected = "Register: Mercury Tours";
        actual = driver.getTitle();
        Assert.assertEquals(actual, expected);
    }

    @Test(priority = 1)
    public void support() {
        driver.findElement(By.linkText("SUPPORT")).click();
        expected = "Under Construction: Mercury Tours";
        actual = driver.getTitle();
        Assert.assertEquals(actual, expected);
    }

    @AfterMethod
    public void goBackToHomepage() {
        driver.findElement(By.linkText("Home")).click();
    }

    @AfterTest
    public void terminateBrowser() {
        driver.quit();
    }
}

Αφού εκτελέσετε τη δοκιμή, TestNG αναφέρει την παρακάτω ακολουθία.

TestNG αναφορά ακολουθίας χρησιμοποιώντας το BeforeMethod και το AfterMethod

Με λίγα λόγια: τοποθετήστε τα σκαλοπάτια εγκατάστασης μέσα @BeforeMethod και καθαρισμός ή επαναφορά πλοήγησης στο εσωτερικό @AfterMethod έτσι ώστε κάθε περίπτωση δοκιμής να ξεκινά και να τελειώνει σε μια γνωστή κατάσταση.

Περίληψη της TestNG Οι σχολιασμοί

  • @BeforeSuite: εκτελείται πριν από όλες τις δοκιμές στη σουίτα.
  • @AfterSuite: εκτελείται μετά από όλες τις δοκιμές στη σουίτα.
  • @ΠρινΔοκιμή: εκτελείται πριν από οποιαδήποτε μέθοδο δοκιμής που ανήκει στις κλάσεις μέσα σε ένα ετικέτα.
  • @AfterTest: εκτελείται μετά από όλες τις μεθόδους δοκιμής που ανήκουν στις κλάσεις μέσα σε ένα ετικέτα.
  • @BeforeGroups: εκτελείται λίγο πριν από την πρώτη μέθοδο δοκιμής που ανήκει σε οποιαδήποτε καταχωρημένη ομάδα.
  • @AfterGroups: εκτελείται λίγο μετά την τελευταία μέθοδο δοκιμής που ανήκει σε οποιαδήποτε ομάδα που αναφέρεται.
  • @Πριν την Κλάση: εκτελείται πριν από την πρώτη μέθοδο δοκιμής στην τρέχουσα κλάση.
  • @AfterClass: εκτελείται μετά από όλες τις μεθόδους δοκιμής στην τρέχουσα κλάση.
  • @BeforeMethod: εκτελείται πριν από κάθε μέθοδο δοκιμής.
  • @AfterMethod: εκτελείται μετά από κάθε μέθοδο δοκιμής.
  • @Δοκιμή: σηματοδοτεί τη μέθοδο ως δοκιμαστική περίπτωση.

Συχνές Ερωτήσεις

JUnit 5 εκσυγχρονισμένα JUnit με το Jupiter API και το μοντέλο επέκτασης. TestNG εξακολουθεί να ηγείται στην παράλληλη εκτέλεση, ομάδα σε επίπεδο σουίταςping, dependsOn και DataProvider. Πολλοί Selenium επιλογή ομάδων TestNG για ολοκληρωμένες σουίτες και JUnit 5 για δοκιμές μονάδας.

Προσθέστε parallel=”methods” ή parallel=”classes” συν ένα χαρακτηριστικό thread-count στο ετικέτα μέσα στο testng.xml. TestNG στη συνέχεια κατανέμει μεθόδους δοκιμών σε όλα τα νήματα, ιδανικά για Selenium Εκτελείται σε πλέγμα ή cloud cross-browser.

Το @DataProvider τροφοδοτεί πολλά σύνολα δεδομένων σε μία μόνο μέθοδο @Test. Κάθε γραμμή στον πάροχο αποτελεί μία εκτέλεση. Είναι το τυπικό μοτίβο για δεδομένα που βασίζονται σε δεδομένα Selenium δοκιμές σε φόρμες, πλαίσια αναζήτησης ή οθόνες σύνδεσης.

Ναί. AI οι βοηθοί κωδικοποίησης δημιουργούν TestNG σκελετούς, σχολιασμός μεθόδων @Test, δημιουργία κλάσεων Page Object και σχεδίαση συστοιχιών DataProvider από δείγματα CSV, μειώνοντας δραστικά τον χρόνο προετοιμασίας.

Η γενετική τεχνητή νοημοσύνη (Generative AI) λαμβάνει αρχεία καταγραφής testng-results.xml και Surefire, ομαδοποιεί παρόμοιες αποτυχίες, προτείνει πιθανές βασικές αιτίες και συντάσσει σχέδια δελτίων Jira. Αυτό μειώνει τον χρόνο διαλογής ασταθών δοκιμών και βοηθά τους επικεφαλής διασφάλισης ποιότητας (QA) να δώσουν προτεραιότητα στις διορθώσεις CI.

Συνοψίστε αυτήν την ανάρτηση με: