guide generate extent reports selenium webdriver
Πώς να δημιουργήσετε εκτενείς αναφορές στο Selenium WebDriver:
Το Selenium παρέχει ενσωματωμένες αναφορές χρησιμοποιώντας πλαίσια όπως το JUnit και το TestNG.
Παρόλο που οι ενσωματωμένες αναφορές παρέχουν πληροφορίες σχετικά με τα βήματα που εκτελούνται στο πλαίσιο της δοκιμαστικής θήκης, χρειάζονται περισσότερη προσαρμογή για κοινή χρήση με όλους τους σημαντικούς ενδιαφερόμενους φορείς του έργου.
Το Extent Reports είναι μια προσαρμόσιμη αναφορά HTML που αναπτύχθηκε από την Anshoo Arora και μπορεί να ενσωματωθεί στο Selenium WebDriver χρησιμοποιώντας πλαίσια JUnit και TestNG.
Αυτό το σεμινάριο θα σας δώσει έναν πλήρη βήμα προς βήμα οδηγό σχετικά με τον τρόπο δημιουργίας Extent Reports στο Selenium WebDrive με παραδείγματα κωδικών.
Ακολουθεί το στιγμιότυπο της ενσωματωμένης αναφοράς που παρέχεται από το πλαίσιο TestNG:
Οι Εκθέσεις Extent προσφέρουν αρκετά πλεονεκτήματα σε σύγκριση με τις ενσωματωμένες αναφορές που δημιουργούνται μέσω JUnit και TestNG, όπως αναπαράσταση γραφήματος πίτας, δοκιμή δημιουργίας αναφορών σταδιακής κατάστασης, προσθήκη στιγμιότυπων οθόνης κ.λπ., σε κάθε βήμα δοκιμής και παρουσίασης διεπαφής χρήστη που μπορεί να κοινοποιηθεί όλοι οι ενδιαφερόμενοι του έργου.
Ακολουθεί το στιγμιότυπο ενός δείγματος Extent Report στην παράσταση γραφήματος πίτας
(Σημείωση:Κάντε κλικ σε οποιαδήποτε εικόνα για μεγέθυνση)
Τι θα μάθετε:
- Πλεονεκτήματα της χρήσης Extent Reports
- Χρήση Extent Reports στο Selenium Webdriver
- Δείγμα κώδικα για Extent Reports
- Συνοπτική έκθεση δοκιμής
- Γραφική αναφορά γραφήματος πίτας
- Λήψη στιγμιότυπου οθόνης σε Extent Reports
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Πλεονεκτήματα της χρήσης Extent Reports
Υπάρχουν πολλά πλεονεκτήματα των Extent Reports και μερικά από αυτά συζητούνται παρακάτω.
- Προσαρμόσιμη αναφορά HTML με σταδιακή αναπαράσταση και γράφημα πίτας.
- Εμφανίζει το χρόνο που απαιτείται για την εκτέλεση δοκιμαστικής υπόθεσης εντός της αναφοράς.
- Κάθε βήμα δοκιμής μπορεί να συσχετιστεί με ένα στιγμιότυπο οθόνης.
- Πολλαπλές δοκιμαστικές θήκες που εκτελούνται σε μία σουίτα μπορούν να παρακολουθούνται εύκολα.
- Μπορεί εύκολα να ενσωματωθεί στα πλαίσια TestNG και JUnit.
Χρήση Extent Reports στο Selenium Webdriver
Οι Εκθέσεις Extent περιέχουν δύο κύριες τάξεις που χρησιμοποιούνται συχνά.
- Κατηγορία ExtentReports
- Τάξη ExtentTest
Σύνταξη:
Εκθέσεις ExtentReports = νέο ExtentReports ('Διαδρομή καταλόγου για την αποθήκευση του προκύπτοντος αρχείου HTML', true / false);
το καλύτερο dvd ripper για windows 7
ExtentTest test = report.startTest ('TestName');
Η κλάση Extent Reports χρησιμοποιείται για τη δημιουργία μιας αναφοράς HTML στη διαδρομή που καθορίζεται από το χρήστη. Η σημαία Boolean υποδεικνύει εάν η υπάρχουσα αναφορά πρέπει να αντικατασταθεί ή πρέπει να δημιουργηθεί μια νέα αναφορά. Η τιμή «true» είναι η προεπιλεγμένη τιμή, που σημαίνει ότι όλα τα υπάρχοντα δεδομένα θα αντικατασταθούν.
Η κλάση Extent Test χρησιμοποιείται για την καταγραφή των βημάτων δοκιμής στην αναφορά HTML που δημιουργήθηκε.
Οι παραπάνω κατηγορίες μπορούν να χρησιμοποιηθούν με τις συχνά χρησιμοποιούμενες ενσωματωμένες μεθόδους που αναφέρονται παρακάτω.
- έναρξη δοκιμής
- τελική δοκιμή
- Κούτσουρο
- ξεπλύνετε
Οι μέθοδοι startTest και endTest χρησιμοποιούνται για την εκτέλεση προϋποθέσεων και μετα-συνθηκών μιας δοκιμαστικής θήκης, ενώ η μέθοδος καταγραφής χρησιμοποιείται για την καταγραφή της κατάστασης κάθε βήματος δοκιμής στην προκύπτουσα αναφορά HTML. Η μέθοδος Flush χρησιμοποιείται για τη διαγραφή τυχόν προηγούμενων δεδομένων στην αναφορά και τη δημιουργία μιας νέας αναφοράς.
Η κατάσταση δοκιμής μπορεί να είναι οποιαδήποτε από τις ακόλουθες τιμές:
- ΠΕΡΑΣΜΑ
- ΑΠΟΤΥΓΧΑΝΩ
- ΠΑΡΑΛΕΙΠΩ
- ΠΛΗΡΟΦΟΡΙΕΣ
Σύνταξη:
report.endTest ();
test.log (LogStatus.PASS, 'Δοκιμή επιτυχής');
test.log (LogStatus.FAIL, 'Η δοκιμή απέτυχε');
test.log (LogStatus.SKIP, 'Παράλειψη δοκιμής');
test.log (LogStatus.INFO, 'Πληροφορίες δοκιμής');
Η μέθοδος καταγραφής λαμβάνει δύο παραμέτρους, η πρώτη παράμετρος είναι η κατάσταση δοκιμής και η δεύτερη παράμετρος είναι το μήνυμα που θα εκτυπωθεί στην προκύπτουσα αναφορά.
Δείγμα κώδικα για Extent Αναφορές
Παρακάτω αναφέρονται η ακολουθία βημάτων για τη χρήση Extent Reports στο Selenium Webdriver in Junit.
Βήμα 1:
Οι Extent Reports μπορούν να χρησιμοποιηθούν απευθείας στο Selenium WebDriver εισάγοντας το αρχείο JAR - extreports-java-2.41.2.jar που μπορεί να είναι κατεβάσατε εδώ .
Μετά τη λήψη του αρχείου ZIP, εξαγάγετε τα περιεχόμενα του αρχείου ZIP σε ένα φάκελο.
Βήμα 2:
Προσθέστε τα αρχεία βάζων που υπάρχουν στο αρχείο ZIP στη διαδρομή κατασκευής έργου χρησιμοποιώντας την επιλογή Build Path -> Διαμόρφωση διαδρομής Build.
Βήμα # 3:
Δημιουργήστε μια νέα τάξη JAVA με τον παρακάτω κώδικα για Extent Reports.
package com.objectrepository.demo; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import com.relevantcodes.extentreports.ExtentReports; import com.relevantcodes.extentreports.ExtentTest; import com.relevantcodes.extentreports.LogStatus; public class ExtentDemo { static ExtentTest test; static ExtentReports report; @BeforeClass public static void startTest() { report = new ExtentReports(System.getProperty('user.dir')+'\ExtentReportResults.html'); test = report.startTest('ExtentDemo'); } @Test public void extentReportsDemo() { System.setProperty('webdriver.chrome.driver', 'D:\SubmittalExchange_TFS\QA\Automationrdparty\chrome\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.get('https://www.google.co.in'); if(driver.getTitle().equals('Google')) { test.log(LogStatus.PASS, 'Navigated to the specified URL'); } else { test.log(LogStatus.FAIL, 'Test Failed'); } } @AfterClass public static void endTest() { report.endTest(test); report.flush(); } }
Επεξήγηση κώδικα
@Πριν το μάθημα:
Ο παραπάνω κώδικας δείχνει τη χρήση Extent Reports. Η εκτέλεση δοκιμαστικής υπόθεσης ξεκινά με τη μέθοδο startTest, η οποία περιλαμβάνει την αρχικοποίηση του αντικειμένου Extent Reports. Η παράμετρος που μεταδίδεται στο αντικείμενο Extent Reports μπορεί να είναι οποιαδήποτε έγκυρη διαδρομή καθορισμένη από τον χρήστη.
Για λόγους απλότητας, το παράδειγμα χρησιμοποιεί τον τρέχοντα κατάλογο έργου για τη δημιουργία της προκύπτουσας αναφοράς HTML. Η επόμενη δήλωση περιλαμβάνει την αρχικοποίηση του αντικειμένου ExtentTest με την τιμή επιστροφής της μεθόδου startTest.
@Δοκιμή:
Η τάξη δοκιμής περιλαμβάνει τα ακόλουθα βήματα:
unix βρείτε διαφορά μεταξύ δύο αρχείων
- Ανοίξτε το πρόγραμμα περιήγησης Chrome με αυτό το url https://www.google.com
- Επικυρώστε τον τίτλο της σελίδας με την αναμενόμενη τιμή μόλις ανοίξει η σελίδα.
- Καταγράψτε την κατάσταση της υπόθεσης ως PASS / FAIL χρησιμοποιώντας τη μέθοδο καταγραφής των Extent Reports.
@Μετά το μάθημα:
Μετά το μάθημα περιλαμβάνει τον κωδικό για την εκτέλεση των μετα-προϋποθέσεων της δοκιμαστικής θήκης, όπως η ολοκλήρωση της δοκιμής χρησιμοποιώντας τη μέθοδο endTest και η έξαψη της αναφοράς. Λάβετε υπόψη ότι η αναφορά δεν θα δημιουργηθεί εάν δεν χρησιμοποιείται η μέθοδος flush ().
Τ είναι η συνοπτική έκθεση
Γραφική αναφορά γραφήματος πίτας
Λήψη στιγμιότυπου οθόνης σε Extent Reports
Η Λήψη οθόνης μαζί με την εκτέλεση της δοκιμής θα βοηθήσει έναν υπεύθυνο δοκιμής να εντοπίσει τον εντοπισμό σφαλμάτων του δοκιμαστικού σεναρίου εάν υπάρχουν προβλήματα που αντιμετωπίστηκαν κατά την εκτέλεση της δοκιμής. Ωστόσο, συνιστάται λήψη στιγμιότυπου οθόνης μόνο εάν ένα βήμα δοκιμής αποτύχει, καθώς οι εικόνες θα καταναλώνουν περισσότερη μνήμη εάν καταγράφονται σε κάθε βήμα δοκιμής.
Τα στιγμιότυπα οθόνης μπορούν να ληφθούν για κάθε αποτυχημένο βήμα χρησιμοποιώντας τον παρακάτω κώδικα.
test.log(LogStatus.FAIL,test.addScreenCapture(capture(driver))+ 'Test Failed'); public static String capture(WebDriver driver) throws IOException { File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); File Dest = new File('src/../ErrImages/' + System.currentTimeMillis() + '.png'); String errflpath = Dest.getAbsolutePath(); FileUtils.copyFile(scrFile, Dest); return errflpath; }
Επεξήγηση κώδικα
Μέθοδος σύλληψης:
# 1) Η μέθοδος getScreenShotAs () χρησιμοποιείται για την καταγραφή του στιγμιότυπου οθόνης της τρέχουσας παρουσίας WebDriver και την αποθήκευσή του σε διάφορες μορφές εξόδου.
δωρεάν λογισμικό αντιγραφής DVD για Windows
Αρχείο scrFile = ((TakesScreenshot) πρόγραμμα οδήγησης) .getScreenshotAs (OutputType.FILE);
#δύο) Η μέθοδος getScreenShotAs επιστρέφει ένα αντικείμενο αρχείου που πρέπει να αποθηκευτεί σε μια μεταβλητή αρχείου. Λάβετε υπόψη ότι η μετάδοση της παρουσίας του προγράμματος οδήγησης ιστού στο Take Screenshot είναι υποχρεωτική εάν θέλετε να χρησιμοποιήσετε τη μέθοδο.
# 3) Αρχείο Dest = νέο αρχείο ('src /../ ErrImages /' + System.currentTimeMillis () + '.png');
# 4) Η παραπάνω δήλωση δημιουργεί ένα φάκελο με το όνομα «ErrImages» μέσα στο φάκελο «src» και αποθηκεύει το όνομα του αρχείου ως την τρέχουσα ώρα του συστήματος.
# 5) String errflpath = Dest.getAbsolutePath ();
FileUtils.copyFile (scrFile, Dest);
επιστρέφωrflpath;
# 6) Οι παραπάνω δηλώσεις αντιγράφουν τις εικόνες σφάλματος στο φάκελο προορισμού.
Μέθοδος καταγραφής:
Η μέθοδος καταγραφής χρησιμοποιεί την ενσωματωμένη μέθοδο, addScreenCapture of Extent Test class για να πάρει το στιγμιότυπο οθόνης και να το προσαρτήσει στην έκθεση Extent.
test.log (LogStatus.FAIL, test.addScreenCapture (λήψη (πρόγραμμα οδήγησης)) + 'Η δοκιμή απέτυχε');
Το μήνυμα που καταγράφεται στη μέθοδο καταγραφής μπορεί να περιλαμβάνει λεπτομερές μήνυμα, συμπεριλαμβανομένων αναμενόμενων και πραγματικών αποτελεσμάτων για σκοπούς εντοπισμού σφαλμάτων
Παραγωγή:
συμπέρασμα
Οι Extent Reports είναι ένας από τους καλύτερους ενσωματωμένους τρόπους δημιουργίας εξατομικευμένων αναφορών HTML με ένα ευχάριστο περιβάλλον εργασίας χρήστη στο πρόγραμμα οδήγησης ιστού του Selenium.
Πρόκειται για μια βιβλιοθήκη ανοιχτού κώδικα που μπορεί εύκολα να διαμορφωθεί με το Selenium, καθιστώντας έτσι την καλύτερη επιλογή για δοκιμαστές αυτοματισμού.
Ελπίζω να έχετε τώρα μια ξεκάθαρη ιδέα για τις Extent Reports.
Συνιστώμενη ανάγνωση
- Cucumber Selenium Tutorial: Αγγούρι Java Selenium WebDriver Integration
- Εισαγωγή στο Selenium WebDriver - Selenium Tutorial # 8
- Υλοποίηση του πρώτου μας σεναρίου WebDriver - Selenium WebDriver Tutorial # 10
- Συχνές ερωτήσεις για το σελήνιο
- Τρόπος χειρισμού ειδοποιήσεων / αναδυόμενων παραθύρων στο Selenium WebDriver - Selenium Tutorial # 16
- Σιωπηρή και ρητή αναμονή στο Selenium WebDriver (Τύποι σεληνίου περιμένει)
- Πώς να εκτελέσετε το Selenium WebDriver σε διαφορετικά δημοφιλή προγράμματα περιήγησης
- WebDriver Ολόκληρη εγκατάσταση και εγκατάσταση με Eclipse - Selenium Tutorial # 9