Δοκιμή Selenium Headless Browser: HTMLUnitDriver & PhantomJS

Πίνακας περιεχομένων:

Anonim

Το πρόγραμμα οδήγησης Selenium Web είναι ένα εργαλείο αυτοματισμού ιστού που σας επιτρέπει να εκτελέσετε τις δοκιμές σε διαφορετικά προγράμματα περιήγησης. Αυτά τα προγράμματα περιήγησης μπορούν να είναι Internet Explorer, Firefox ή Chrome. Για να χρησιμοποιήσετε ένα συγκεκριμένο πρόγραμμα περιήγησης με το Selenium χρειάζεστε το αντίστοιχο πρόγραμμα οδήγησης.

Κατά τη δοκιμαστική λειτουργία, το Selenium ξεκινά το αντίστοιχο πρόγραμμα περιήγησης που ονομάζεται σενάριο και εκτελεί δοκιμαστικά βήματα. Μπορείτε να δείτε το πρόγραμμα περιήγησης και την εκτέλεση της δοκιμής σε δράση.

Τι είναι το πρόγραμμα περιήγησης χωρίς κεφαλή;

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

Μερικά από τα παραδείγματα των Headless Drivers περιλαμβάνουν

  • HtmlUnit
  • Φάντασμα
  • PhantomJS
  • ZombieJS
  • Watir-webdriver

Σε αυτό το σεμινάριο θα επικεντρωθούμε στα HtmlUnit και PhatomJS

HTMLUnitDriver

Το HTML UnitDriver είναι το πιο ελαφρύ και ταχύτερο πρόγραμμα περιήγησης χωρίς κεφαλή για το WebDriver. Βασίζεται στο HtmlUnit. Είναι γνωστό ως Headless Browser Driver . Είναι ίδιο με το πρόγραμμα οδήγησης Chrome, IE ή FireFox, αλλά δεν διαθέτει GUI, επομένως δεν μπορεί κανείς να δει την εκτέλεση της δοκιμής στην οθόνη.

Χαρακτηριστικά του προγράμματος οδήγησης μονάδας HTML

  • Υποστήριξη για τα πρωτόκολλα HTTPS και HTTP
  • Υποστήριξη για απαντήσεις HTML (κάνοντας κλικ σε συνδέσμους, υποβολή φορμών, ακολουθώντας το μοντέλο DOM του εγγράφου HTML κ.λπ.)
  • Υποστήριξη για cookie
  • Υποστήριξη διακομιστή μεσολάβησης
  • Υποστήριξη για βασικό έλεγχο ταυτότητας και NTLM
  • Εξαιρετική υποστήριξη JavaScript
  • Υποστήριξη για υποβολή μεθόδων GET και POST
  • Δυνατότητα προσαρμογής των κεφαλίδων αιτήματος που αποστέλλονται στο διακομιστή
  • Δυνατότητα να προσδιοριστεί εάν οι αποτυχημένες απαντήσεις από το διακομιστή θα πρέπει να ρίξουν εξαιρέσεις ή θα πρέπει να επιστραφούν ως σελίδες του κατάλληλου τύπου

Βήματα για τη χρήση του προγράμματος οδήγησης HTMLUnit με σελήνιο

Βήμα 1) Στο Eclipse, αντιγράψτε τον ακόλουθο κωδικό. Προσθέστε τα τυπικά αρχεία βιβλιοθήκης σεληνίου στο έργο. Δεν απαιτούνται επιπλέον αρχεία βάζων.

πακέτο htmldriver;εισαγωγή org.openqa.selenium.By;εισαγωγή org.openqa.selenium.WebDriver;εισαγωγή org.openqa.selenium.WebElement;εισαγωγή org.openqa.selenium.htmlunit.HtmlUnitDriver;δημόσια τάξη htmlUnitYest {Δημόσιο στατικό κενό (String [] args) {// Δημιουργία νέας παρουσίας του προγράμματος οδήγησης μονάδας HTMLΠρόγραμμα οδήγησης WebDriver = νέο HtmlUnitDriver ();// Πλοηγηθείτε στο Googledriver.get ("http://www.google.com");// Εντοπίστε το πλαίσιο αναζήτησης χρησιμοποιώντας το όνομά τουΣτοιχείο WebElement = driver.findElement (By.name ("q"));// Εισαγάγετε ένα ερώτημα αναζήτησηςelement.sendKeys ("Guru99");// Υποβάλετε το ερώτημα. Το Webdriver αναζητά τη φόρμα χρησιμοποιώντας το στοιχείο εισαγωγής κειμένου αυτόματα// Δεν χρειάζεται να εντοπίσετε / βρείτε το κουμπί υποβολήςelement.submit ();// Αυτός ο κωδικός θα εκτυπώσει τον τίτλο της σελίδαςΣύστημα. out .println ("Ο τίτλος της σελίδας είναι: + driver.getTitle ());driver.quit ();}}

Βήμα 2) Εκτελέστε τον κώδικα. Θα παρατηρήσετε ότι δεν έχει ξεκινήσει πρόγραμμα περιήγησης και τα αποτελέσματα εμφανίζονται στην κονσόλα.

Οφέλη του προγράμματος οδήγησης μονάδας Html:

  • Δεδομένου ότι δεν χρησιμοποιεί κανένα GUI για έλεγχο, οι δοκιμές σας θα εκτελούνται στο παρασκήνιο χωρίς καμία διακοπή της όρασης
  • Σε σύγκριση με όλες τις άλλες περιπτώσεις, η εκτέλεση είναι ταχύτερη
  • Για να εκτελέσετε τις δοκιμές σας μέσω του προγράμματος οδήγησης HtmlUnit, μπορείτε επίσης να επιλέξετε άλλες εκδόσεις προγράμματος περιήγησης
  • Είναι ανεξάρτητη από την πλατφόρμα και είναι πιο εύκολο να εκτελείτε ταυτόχρονα πολλές δοκιμές. Ιδανικό για δοκιμή φορτίου.

Περιορισμοί:

  • Δεν μπορεί να μιμηθεί τη συμπεριφορά JavaScript άλλων προγραμμάτων περιήγησης

PhantomJS

Το PhantomJS είναι ένα πρόγραμμα περιήγησης χωρίς κεφάλι με API JavaScript. Είναι μια βέλτιστη λύση για τον έλεγχο χωρίς ιστότοπους, πρόσβαση και χειρισμό ιστοσελίδων και συνοδεύεται από το τυπικό API DOM.

Για να χρησιμοποιήσετε το PhantomJS με το Seleniun, πρέπει να χρησιμοποιήσετε το GhostDriver. Το GhostDriver είναι μια εφαρμογή του πρωτοκόλλου Webdriver Wire σε απλό JS για PhantomJS.

Η τελευταία έκδοση του PhatomJS έχει ενσωματώσει το GhostDriver και δεν χρειάζεται να το εγκαταστήσετε ξεχωριστά.

Να πώς λειτουργεί το σύστημα-

Βήματα για την εκτέλεση του Selenium με το PhatomJS

Βήμα 1) Χρειάζεστε το Eclipse με εγκατεστημένο το Σελήνιο

Βήμα 2) Κατεβάστε το PhantomJS εδώ

Βήμα 3) Εξαγωγή του ληφθέντος φακέλου στο Program Files

Βήμα 4) Κατεβάστε το πρόγραμμα οδήγησης PhantomJS από εδώ. Προσθέστε το βάζο στο έργο σας

Βήμα 5) Επικολλήστε τον ακόλουθο κώδικα στην έκλειψη

πακέτο htmldriver;εισαγωγή java.io.File;εισαγωγή org.openqa.selenium.By;εισαγωγή org.openqa.selenium.WebDriver;εισαγωγή org.openqa.selenium.WebElement;εισαγωγή org.openqa.selenium.phantomjs.PhantomJSDriver;φάντασμα δημόσιας τάξης {Δημόσιο στατικό κενό (String [] args) {Αρχείο αρχείου = νέο αρχείο ("C: / Program Files / phantomjs-2.0.0-windows / bin / phantomjs.exe");System.setProperty ("phantomjs.binary.path", file.getAbsolutePath ());Πρόγραμμα οδήγησης WebDriver = νέο PhantomJSDriver ();driver.get ("http://www.google.com");Στοιχείο WebElement = driver.findElement (By.name ("q"));element.sendKeys ("Guru99");element.submit ();System.out.println ("Ο τίτλος της σελίδας είναι: + driver.getTitle ());driver.quit ();}}

Βήμα 6) Εκτελέστε τον κωδικό. Θα παρατηρήσετε ότι η έξοδος εμφανίζεται στην κονσόλα και δεν έχει ξεκινήσει κανένα πρόγραμμα περιήγησης.

ΣΗΜΕΙΩΣΗ : Κατά την πρώτη εκτέλεση, με βάση τις ρυθμίσεις σας, ενδέχεται να λάβετε προειδοποίηση ασφαλείας από τα Windows για να επιτρέψετε την εκτέλεση του PhantomJS. Κάντε κλικ στο Να επιτρέπεται η πρόσβαση.

Πολλοί οργανισμοί χρησιμοποιούν το Phantom.JS για διάφορους σκοπούς, για παράδειγμα,

  • Δοκιμή χωρίς κεφαλή
  • Αποτύπωση οθόνης
  • Αυτοματισμός σελίδας
  • Παρακολούθηση δικτύου
  • Για να αποδώσουν στιγμιότυπα οθόνης του πίνακα ελέγχου για τους χρήστες τους
  • Για να εκτελέσετε δοκιμές μονάδας στη γραμμή εντολών
  • Για να δημιουργήσετε εγχειρίδια υπαλλήλων από HTML σε PDF
  • Συνδυάζεται με QUnit για τη δοκιμαστική σουίτα

Περίληψη

Για γρήγορη δοκιμή της εφαρμογής σε διάφορα προγράμματα περιήγησης και χωρίς οπτική διακοπή, χρησιμοποιείται το Headless browser Testing. Λόγω της ταχύτητάς του, της ακρίβειας και των εύχρηστων χαρακτηριστικών, το πρόγραμμα οδήγησης μονάδας HTML και το PhantomJS κερδίζουν δημοτικότητα για δοκιμές προγράμματος περιήγησης χωρίς κεφαλή. Ακολουθώντας μερικά απλά βήματα μπορείτε να μάθετε πόσο εύκολα αυτά τα εργαλεία μπορούν να ενσωματωθούν με άλλα εργαλεία και να εκτελέσουν τον δοκιμαστικό κώδικα.