TestNG Ακροατές μέσα Selenium

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

Ακροατές μέσα Selenium Τα WebDriver είναι TestNG διεπαφές που αναχαιτίζουν συμβάντα δοκιμών για την προσαρμογή αρχείων καταγραφής, αναφορών και ενεργειών μετά από αποτυχία. Αυτό το άρθρο εξηγεί τις μεθόδους ITestListener, καθοδηγεί σε ένα εκτελέσιμο αρχείο Java παράδειγμα και διευκρινίζει πώς Selenium Το 4 αντικατέστησε το παρωχημένο WebDriverEventListener.

  • Τι κάνουν οι ακροατές: Εγγράφονται σε TestNG συμβάντα όπως έναρξη, επιτυχία, αποτυχία και παράλειψη για την καταγραφή ή την αναφορά δεδομένων μονάδας δίσκου.
  • 🧩 Δώδεκα διεπαφές: TestNG Διαθέτει διεπαφές όπως ITestListener, ISuiteListener, IReporter, IInvokedMethodListener και IAnnotationTransformer για λεπτομερή έλεγχο.
  • Δύο τρόποι καλωδίωσης: Επισυνάψτε έναν listener με την σχολίαση @Listeners σε μία μόνο κλάση ή καταχωρήστε τον μία φορά μέσα στο testng.xml για κάθε σουίτα.
  • 🚀 Selenium Ενημέρωση 4: Το EventFiringWebDriver έχει καταργηθεί. Η σύγχρονη διεπαφή WebDriverListener συν το EventFiringDecorator τροφοδοτεί πλέον τα hooks συμβάντων επιπέδου WebDriver.
  • 🤖 Γωνία Τεχνητής Νοημοσύνης: Οι ακροατές με τη βοήθεια της τεχνητής νοημοσύνης μπορούν να ταξινομούν αυτόματα τις αποτυχίες, να επισυνάπτουν έξυπνα στιγμιότυπα οθόνης και να τροφοδοτούν με σήματα ασταθών δοκιμών πίσω σε πίνακες ελέγχου CI σε πραγματικό χρόνο.

TestNG Ακροατές μέσα Selenium

Selenium Τα σενάρια WebDriver συχνά χρειάζεται να αντιδρούν σε δοκιμαστικά συμβάντα, όπως ένας επιτυχής ισχυρισμός, ένας αποτυχημένος εντοπιστής ή ένα βήμα που παραλείφθηκε. Οι ακροατές το καθιστούν δυνατό. Σε γενικές γραμμές, Selenium Τα έργα βασίζονται σε δύο οικογένειες ακροατών:

  1. WebDriver Listeners
  2. TestNG Ακρόαση

Σε αυτό το σεμινάριο, θα επικεντρωθούμε σε TestNG Ακροατές, με μια σημείωση σχετικά με το πώς άλλαξαν οι ακροατές επιπέδου WebDriver Selenium 4.x.

Τι σημαίνει ακροατής; TestNG?

Ένας Ακροατής είναι μια διεπαφή που τροποποιεί την προεπιλεγμένη συμπεριφορά του TestNGΌπως υποδηλώνει το όνομα, οι Ακροατές «ακούν» συμβάντα που ορίζονται σε ένα Selenium σενάριο και να αντιδράσετε ανάλογα. Τα χρησιμοποιείτε υλοποιώντας τη σχετική διεπαφή Listener και καταχωρίζοντάς την στην κλάση δοκιμών ή στη σουίτα σας. Οι Listener σάς επιτρέπουν να προσαρμόσετε TestNG αναφορές, επισύναψη στιγμιότυπων οθόνης και αποστολή δομημένων αρχείων καταγραφής.

Τύποι ακροατών σε TestNG

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

Παρακάτω παρατίθενται οι συνήθως χρησιμοποιούμενες TestNG ακροατές:

  1. IAnotationTransformer
  2. IAnotationTransformer2
  3. Iconfigurable
  4. IConfigurationListener
  5. IEexecutionListener
  6. Αγαπημένος
  7. IInvokedMethodListener
  8. IInvokedMethodListener2
  9. IMethodInterceptor
  10. IReporter
  11. ISuiteListener
  12. ITestListener

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

ITestListener αποκαλύπτει τις ακόλουθες μεθόδους:

  • στην Έναρξη – καλείται όταν ξεκινήσει οποιαδήποτε δοκιμή.
  • onTestSuccess – καλείται όταν μια εξέταση περάσει.
  • onTestFailure – καλείται όταν μια δοκιμή αποτύχει.
  • onTestSkipped – καλείται όταν παραλείπεται μια δοκιμή.
  • onTestFailedButWithinSuccessPercentage – Καλείται όταν μια δοκιμή αποτυγχάνει αλλά βρίσκεται εντός του ποσοστού επιτυχίας.
  • στοFinish – καλείται αφού εκτελεστούν όλες οι δοκιμές στην κλάση.

Σενάριο δοκιμής

Σε αυτό το σενάριο δοκιμής, θα αυτοματοποιήσουμε τη διαδικασία σύνδεσης και θα εφαρμόσουμε ITestListener εναντίον του.

  1. Εκκίνηση Firefox και ανοίξτε τον ιστότοπο https://demo.guru99.com/V4/

Σύνδεση σεναρίου δοκιμής URL

  1. Συνδεθείτε στην εφαρμογή.

Φόρμα σύνδεσης σεναρίου δοκιμής

Βήματα για τη δημιουργία α TestNG Ακροατής

Για το παραπάνω σενάριο δοκιμής, θα εφαρμόσουμε το Listener βήμα προς βήμα.

Βήμα 1) Δημιουργήστε μια κλάση με το όνομα Δοκιμή Ακρόασης που εφαρμόζει ITestListenerΤοποθετήστε τον δείκτη του ποντικιού πάνω από την κόκκινη υπογράμμιση και Eclipse θα προτείνει δύο γρήγορες λύσεις, όπως φαίνεται παρακάτω:

Eclipse γρήγορη επιδιόρθωση για την προσθήκη μη υλοποιημένων μεθόδων

Κάντε κλικ στην επιλογή «Προσθήκη μη υλοποιημένων μεθόδων». Πολλαπλές μέθοδοι stub (χωρίς σώμα) προστίθενται στον κώδικά σας, όπως παρακάτω:

πακέτο Ακροατής_Επίδειξη;

εισαγωγή org.testng.ITestContext;
εισαγωγή org.testng.ITestListener;
εισαγωγή org.testng.ITestResult;

δημόσια τάξη Δοκιμή Ακρόασης υλοποιεί ITestListener {

@Καταπατώ
δημόσιο κενό στοFinish(ITestContext arg0) {
// TODO Αυτόματη δημιουργία stub μεθόδου
}

@Καταπατώ
δημόσιο κενό στηνΈναρξη(ITestContext arg0) {
// TODO Αυτόματη δημιουργία stub μεθόδου
}

@Καταπατώ
δημόσιο κενό onTestFailedButWithinSuccessPercentage(Αποτέλεσμα δοκιμής arg0) {
// TODO Αυτόματη δημιουργία stub μεθόδου
}

@Καταπατώ
δημόσιο κενό onTestFailure(Αποτέλεσμα δοκιμής arg0) {
// TODO Αυτόματη δημιουργία stub μεθόδου
}

@Καταπατώ
δημόσιο κενό onTestSkipped(Αποτέλεσμα δοκιμής arg0) {
// TODO Αυτόματη δημιουργία stub μεθόδου
}

@Καταπατώ
δημόσιο κενό onTestStart(Αποτέλεσμα δοκιμής arg0) {
// TODO Αυτόματη δημιουργία stub μεθόδου
}

@Καταπατώ
δημόσιο κενό onTestSuccess(Αποτέλεσμα δοκιμής arg0) {
// TODO Αυτόματη δημιουργία stub μεθόδου
}
}

Τώρα ας τροποποιήσουμε το Δοκιμή Ακρόασης τάξη. Συγκεκριμένα, θα συμπληρώσουμε τις ακόλουθες μεθόδους: onTestFailure, onTestSkipped, onTestStartκαι onTestSuccess.

Η αλλαγή είναι απλή: κάθε μέθοδος εκτυπώνει το όνομα της δοκιμής, έτσι ώστε η κονσόλα να εμφανίζει καθαρά την κατάσταση επιτυχίας, αποτυχίας και παράλειψης.

Μετά την τροποποίηση, ο κώδικας μοιάζει με αυτό:

πακέτο Ακροατής_Επίδειξη;

εισαγωγή org.testng.ITestContext;
εισαγωγή org.testng.ITestListener;
εισαγωγή org.testng.ITestResult;

δημόσια τάξη Δοκιμή Ακρόασης υλοποιεί ITestListener {

@Καταπατώ
δημόσιο κενό στοFinish(ITestContext Αποτέλεσμα) {
}

@Καταπατώ
δημόσιο κενό στηνΈναρξη(ITestContext Αποτέλεσμα) {
}

@Καταπατώ
δημόσιο κενό onTestFailedButWithinSuccessPercentage(Αποτέλεσμα δοκιμής Αποτέλεσμα) {
}

// Όταν μια δοκιμαστική περίπτωση αποτύχει, καλείται αυτή η μέθοδος.
@Καταπατώ
δημόσιο κενό onTestFailure(Αποτέλεσμα δοκιμής Αποτέλεσμα) {
System.out.println(«Το όνομα της δοκιμαστικής περίπτωσης που απέτυχε είναι:» + Result.getName());
}

// Όταν μια δοκιμαστική περίπτωση παραλείπεται, καλείται αυτή η μέθοδος.
@Καταπατώ
δημόσιο κενό onTestSkipped(Αποτέλεσμα δοκιμής Αποτέλεσμα) {
System.out.println(«Το όνομα της δοκιμαστικής περίπτωσης που παραλείφθηκε είναι:» + Result.getName());
}

// Όταν ξεκινά μια δοκιμαστική περίπτωση, καλείται αυτή η μέθοδος.
@Καταπατώ
δημόσιο κενό onTestStart(Αποτέλεσμα δοκιμής Αποτέλεσμα) {
System.out.println(Result.getName() + «Έναρξη δοκιμαστικής περίπτωσης»);
}

// Όταν μια δοκιμαστική περίπτωση είναι επιτυχής, καλείται αυτή η μέθοδος.
@Καταπατώ
δημόσιο κενό onTestSuccess(Αποτέλεσμα δοκιμής Αποτέλεσμα) {
System.out.println(«Το όνομα της δοκιμαστικής περίπτωσης που επιτεύχθηκε είναι:» + Result.getName());
}
}

Βήμα 2) Δημιουργήστε μια άλλη κλάση με το όνομα Δοκιμαστικές περιπτώσεις για την αυτοματοποίηση σύνδεσης. Selenium θα εκτελέσει αυτήν την κλάση για να συνδεθεί στον ιστότοπο επίδειξης.

πακέτο Ακροατής_Επίδειξη;

εισαγωγή org.openqa.selenium.Από;
εισαγωγή org.openqa.selenium.WebDriver;
εισαγωγή org.openqa.selenium.firefox.FirefoxΠρογράμματα οδήγησης;
εισαγωγή org.testng.Assert;
εισαγωγή org.testng.annotations.Listeners;
εισαγωγή org.testng.annotations.Test;

δημόσια τάξη Δοκιμαστικές περιπτώσεις {
Πρόγραμμα οδήγησης Web οδηγός = νέος FirefoxΟδηγός().

// Δοκιμή σχεδιασμένη να περάσει, για να επαληθεύσει την επιτυχία του ακροατή.
@Δοκιμή
δημόσιο κενό Σύνδεση() {
driver.get(“https://demo.guru99.com/V4/”);
driver.findElement(Από.όνομα(«υγρό»)).sendKeys(«mngr34926»);
driver.findElement(Από.όνομα("Κωδικός πρόσβασης")).sendKeys(«amUpenu»);
driver.findElement(Από.όνομα(«btnLogin»)).κλικ();
}

// Δοκιμή με αναγκαστική αποτυχία, για την επαλήθευση του ακροατή αποτυχίας.
@Δοκιμή
δημόσιο κενό ΔοκιμήΠροςΑποτυχία() {
System.out.println(«Αυτή η μέθοδος δοκιμής αποτυγχάνει»);
Assert.assertTrue(ψευδής);
}
}

Βήμα 3) Στη συνέχεια, συνδέστε αυτόν τον ακροατή στην τάξη δοκιμών μας Δοκιμαστικές περιπτώσειςΥπάρχουν δύο τρόποι για να συνδέσετε μια κλάση σε μια διεπαφή ακροατή.

Ο πρώτος τρόπος είναι να χρησιμοποιήσετε το @Ακροατές σχολιασμός, όπως φαίνεται παρακάτω:

@Ακροατές(Listener_Demo.ListenerTest.class)

Προσθέτουμε αυτήν την σημείωση πάνω από το Δοκιμαστικές περιπτώσεις κλάση. Η κλάση τότε μοιάζει με αυτό:

πακέτο Ακροατής_Επίδειξη;

εισαγωγή org.openqa.selenium.Από;
εισαγωγή org.openqa.selenium.WebDriver;
εισαγωγή org.openqa.selenium.firefox.FirefoxΠρογράμματα οδήγησης;
εισαγωγή org.testng.Assert;
εισαγωγή org.testng.annotations.Listeners;
εισαγωγή org.testng.annotations.Test;

@Ακροατές(Listener_Demo.ListenerTest.class)
δημόσια τάξη Δοκιμαστικές περιπτώσεις {
Πρόγραμμα οδήγησης Web οδηγός = νέος FirefoxΟδηγός().

// Επιτυχής δοκιμή, για επαλήθευση της επιτυχίας του ακροατή.
@Δοκιμή
δημόσιο κενό Σύνδεση() {
driver.get(“https://demo.guru99.com/V4/”);
driver.findElement(Από.όνομα(«υγρό»)).sendKeys(«mngr34926»);
driver.findElement(Από.όνομα("Κωδικός πρόσβασης")).sendKeys(«amUpenu»);
driver.findElement(Από.όνομα(«btnLogin»)).κλικ();
}

// Δοκιμή με αναγκαστική αποτυχία, για την επαλήθευση του ακροατή αποτυχίας.
@Δοκιμή
δημόσιο κενό ΔοκιμήΠροςΑποτυχία() {
System.out.println(«Αυτή η μέθοδος δοκιμής αποτυγχάνει»);
Assert.assertTrue(ψευδής);
}
}

Η δομή του έργου μοιάζει με:

TestNG Δομή έργου ακροατή

Βήμα 4) Εκτελέστε το Δοκιμαστικές περιπτώσεις κλάση. Μέθοδοι μέσα Δοκιμή Ακρόασης καλούνται αυτόματα με βάση τη συμπεριφορά των μεθόδων που έχουν σχολιαστεί με @Δοκιμή.

Βήμα 5) Επαληθεύστε την έξοδο που εμφανίζεται στην κονσόλα.

Η έξοδος του Δοκιμαστικές περιπτώσεις μοιάζει με:

TestNG Έξοδος κονσόλας ακροατή

[TestNG] Τρέχοντας:
C:\Users\gauravn\AppData\Local\Temp\testng-eclipse–1058076918\testng-customsuite.xml

Ξεκίνησε η δοκιμαστική περίπτωση σύνδεσης
Το όνομα της δοκιμαστικής περίπτωσης που επιτεύχθηκε είναι: Σύνδεση
Ξεκίνησε η δοκιμαστική περίπτωση TestToFail
Αυτή η μέθοδος δοκιμής αποτυγχάνει
Το όνομα της δοκιμαστικής περίπτωσης που απέτυχε είναι: TestToFail
ΕΓΚΡΙΘΗΚΕ: Σύνδεση
ΑΠΟΤΥΧΙΑ: TestToFail
java.lang.AssertionError: αναμενόταν [true] αλλά βρέθηκε [false]

Χρήση ενός Ακροατή για Πολλαπλές Κλάσεις

Εάν ένα έργο έχει πολλές κλάσεις δοκιμών, η προσθήκη του @Ακροατές Η σχολιασμός σε κάθε μία από αυτές γίνεται δυσκίνητη και επιρρεπής σε σφάλματα.

Σε αυτήν την περίπτωση, δημιουργήστε ένα testng.xml αρχείο και εγγράψτε τον ακροατή εκεί μία φορά.

ετικέτα ακροατών testng.xml για πολλαπλές κλάσεις

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

WebDriverListener σε Selenium 4 έναντι του παρωχημένου EventFiringWebDriver

Ενώ TestNG Οι ακροατές αντιδρούν σε συμβάντα κύκλου ζωής δοκιμών, οι ακροατές WebDriver αντιδρούν σε ενέργειες προγράμματος οδήγησης προγράμματος περιήγησης, όπως ένα κλικ, μια πλοήγηση ή μια κλήση findElement. Selenium 3 Η τυπική προσέγγιση ήταν η WebDriverEventListener διεπαφή ενσύρματη μέσω EventFiringWebDriverΚαι τα δύο έχουν καταργηθεί στο Selenium 4.x.

Η σύγχρονη αντικατάσταση είναι η WebDriverListener διεπαφή σε συνδυασμό με Διακοσμητής Εκδηλώσεων:

εισαγωγή org.openqa.selenium.WebDriver;
εισαγωγή org.openqa.selenium.chrome.ChromeDriver;
εισαγωγή org.openqa.selenium.support.events.EventFiringDecorator;
εισαγωγή org.openqa.selenium.support.events.WebDriverListener;

δημόσια τάξη LoggingListener υλοποιεί WebDriverListener {
@Καταπατώ
δημόσιο κενό πρινΛήψη(Πρόγραμμα οδήγησης Web πρόγραμμα οδήγησης, συμβολοσειρά url) {
System.out.println(«Πλοήγηση προς» + διεύθυνση URL);
}
}

Πρόγραμμα οδήγησης Web ακατέργαστο = νέος ChromeDriver().
Πρόγραμμα οδήγησης Web οδηγός = νέος Διακοσμητής Εκδηλώσεων<>(νέος LoggingListener()).decorate(raw);

Ο διακοσμητής μπορεί να τυλίξει οποιοδήποτε WebDriver, WebElement ή Alert, το οποίο είναι πιο ευέλικτο από το παλιό περιτύλιγμα ενεργοποίησης συμβάντων. Χρησιμοποιήστε WebDriverListener για παρατηρησιμότητα από την πλευρά του προγράμματος περιήγησης και TestNG ITestListener για αναφορά σε επίπεδο σουίτας.

Ακροατές με τεχνητή νοημοσύνη: Έξυπνα αρχεία καταγραφής και διαλογή βλαβών

ΜΟΝΤΕΡΝΑ Selenium οι ομάδες συνδέουν όλο και περισσότερο υπηρεσίες τεχνητής νοημοσύνης στους ακροατές τους για να κάνουν τα σήματα CI πιο εφαρμόσιμα. onTestFailure, ένας ακροατής με τη βοήθεια τεχνητής νοημοσύνης μπορεί να καταγράψει ένα στιγμιότυπο DOM συν ένα στιγμιότυπο οθόνης, να τα στείλει σε ένα μοντέλο που επιστρέφει ένα πιθανό σύμπλεγμα ριζικής αιτίας και να γράψει μια ετικέτα πίσω στο TestNG αναφορά ή ένα εργαλείο όπως το ReportPortal.

Τα συνηθισμένα μοτίβα που καθοδηγούνται από την Τεχνητή Νοημοσύνη περιλαμβάνουν:

  • Ανίχνευση ασταθούς δοκιμής: Οι ακροατές προωθούν τα χρονοδιαγράμματα επιτυχίας/αποτυχίας σε ένα μοντέλο που ταξινομεί μια αποτυχία ως ασταθή, περιβαλλοντική ή πραγματική παλινδρόμηση.
  • Έξυπνα στιγμιότυπα οθόνης: Τα μοντέλα υπολογιστικής όρασης περικόπτουν, προσθέτουν σχολιασμούς και διαφέρουν στα στιγμιότυπα οθόνης του UI, ώστε οι αναθεωρητές να βλέπουν την αλλαγμένη περιοχή αντί για μια πλήρη σελίδα.
  • Αυτοθεραπευτικοί εντοπιστές: A WebDriverListener άγκιστρα beforeFindElement και ζητά από έναν βοηθό Τεχνητής Νοημοσύνης να προτείνει έναν εναλλακτικό εντοπιστή όταν ο κύριος πετάει NoSuchElementException.
  • Περιλήψεις σε φυσική γλώσσα: An IReporter Η υλοποίηση τροφοδοτεί τα αποτελέσματα της σουίτας σε ένα LLM που παράγει μια περίληψη μίας παραγράφου.

Το επίπεδο ακροατή είναι το πιο καθαρό μέρος για την εισαγωγή αυτών των hooks επειδή παραμένει εκτός της λογικής δοκιμής και εφαρμόζεται ομοιόμορφα σε όλη τη σουίτα.

Περίληψη

Οι ακροατές πρέπει να δημιουργήσουν αρχεία καταγραφής ή να προσαρμόσουν TestNG αναφορές στο Selenium WebDriver.

  • TestNG προσφέρει πολλές διεπαφές ακροατή. Επιλέξτε αυτήν που ταιριάζει με την εκδήλωση που σας ενδιαφέρει.
  • Οι ακροατές είναι διεπαφές που χρησιμοποιούνται σε Selenium Σενάρια WebDriver για την αντίδραση σε συμβάντα κύκλου ζωής δοκιμών.
  • Το σεμινάριο έδειξε ITestListener με μια επιτυχή και μια αποτυχημένη εξέταση.
  • Μπορείτε να συνδέσετε έναν ακροατή με @Ακροατές ή εγγραφείτε το μία φορά testng.xml για ολόκληρη τη σουίτα.
  • Selenium Το 4.x αντικαθιστά EventFiringWebDriver μαζί σου, WebDriverListener + Διακοσμητής Εκδηλώσεων για συμβάντα επιπέδου WebDriver.

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

Ένας Ακροατής είναι μια διεπαφή που εγγράφεται σε συμβάντα που δημιουργούνται κατά τη διάρκεια ενός Selenium δοκιμαστική λειτουργία. TestNG Οι ακροατές αντιδρούν σε συμβάντα κύκλου ζωής δοκιμών, όπως έναρξη, επιτυχία, αποτυχία και παράλειψη. Οι ακροατές WebDriver αντιδρούν σε συμβάντα προγράμματος οδήγησης προγράμματος περιήγησης, όπως κλικ, πλοήγηση και κλήσεις findElement.

Το ITestListener ενεργοποιείται για μεμονωμένες μεθόδους @Test και εκθέτει τις εντολές onTestStart, onTestSuccess, onTestFailure, onTestSkipped και onFinish. Το ISuiteListener ενεργοποιείται μόνο δύο φορές ανά σουίτα, με onStart και onFinish, καθιστώντας το ιδανικό για ρύθμιση σε επίπεδο σουίτας, όπως το άνοιγμα ενός αρχείου αναφοράς.

Μπορείτε να εγγραφείτε α TestNG listener με δύο τρόπους: προσθέστε την σημείωση @Listeners(MyListener.class) πάνω από την κλάση δοκιμής ή δηλώστε ένα ετικέτα μέσα στο testng.xml. Η προσέγγιση XML εφαρμόζει τον listener σε κάθε κλάση της σουίτας χωρίς να τροποποιεί τον πηγαίο κώδικα.

Τα EventFiringWebDriver και WebDriverEventListener έχουν καταργηθεί στο Selenium 4.x. Η συνιστώμενη αντικατάσταση είναι η διεπαφή WebDriverListener σε συνδυασμό με το EventFiringDecorator, το οποίο μπορεί να αναπαράγει στιγμιότυπα WebDriver, WebElement ή Alert και προσφέρει πιο καθαρά σημεία σύνδεσης, όπως τα beforeGet και afterClick.

Χρησιμοποιήστε το IReporter όταν θέλετε να δημιουργήσετε μια προσαρμοσμένη αναφορά μετά την ολοκλήρωση της σουίτας, όπως μια σύνοψη HTML ή JSON. Χρησιμοποιήστε το IInvokedMethodListener όταν χρειάζεστε ένα hook πριν και μετά από κάθε μέθοδο δοκιμής, συμπεριλαμβανομένων μεθόδων διαμόρφωσης όπως @BeforeMethod και @AfterMethod.

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

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

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