Τι είναι το Selenium WebDriver; Διαφορά με RC

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

Anonim

Τι είναι το Selenium Webdriver;

Το Selenium Webdriver είναι μια συλλογή ανοιχτών πηγών API που χρησιμοποιείται για τη δοκιμή εφαρμογών ιστού. Το εργαλείο Selenium Webdriver χρησιμοποιείται για την αυτοματοποίηση των δοκιμών εφαρμογών ιστού για να επιβεβαιωθεί ότι λειτουργεί όπως αναμένεται ή όχι. Υποστηρίζει κυρίως προγράμματα περιήγησης όπως Firefox, Chrome, Safari και Internet Explorer. Σας επιτρέπει επίσης να εκτελέσετε δοκιμές μεταξύ προγραμμάτων περιήγησης.

Το WebDriver σάς επιτρέπει επίσης να χρησιμοποιήσετε μια γλώσσα προγραμματισμού για τη δημιουργία των δοκιμαστικών σας σεναρίων (δεν είναι δυνατή στο Selenium IDE).

Τώρα μπορείτε να χρησιμοποιήσετε λειτουργίες υπό όρους όπως if-then-else ή switch-case. Μπορείτε επίσης να εκτελέσετε βρόχο όπως το do-while.

Οι ακόλουθες γλώσσες προγραμματισμού υποστηρίζονται από το WebDriver

  • Ιάβα
  • .Καθαρά
  • PHP
  • Πύθων
  • Perl
  • Ρουμπίνι

Δεν χρειάζεται να τα γνωρίζετε όλα. Απλά πρέπει να είστε γνώστες σε ένα. Ωστόσο, σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε το Java με το Eclipse ως το IDE μας.

Διαφορά μεταξύ Selenium RC και Webdriver

Πριν από την έλευση του WebDriver το 2006, υπήρχε ένα άλλο, εργαλείο αυτοματοποίησης που ονομάζεται Selenium Remote Control. Τόσο το WebDriver όσο και το Selenium RC έχουν τα ακόλουθα χαρακτηριστικά:

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

Λοιπόν, πώς διαφέρουν; Ας συζητήσουμε τις απαντήσεις.

1. Αρχιτεκτονική

Η αρχιτεκτονική του WebDriver είναι απλούστερη από τις Selenium RC's .

  • Ελέγχει το πρόγραμμα περιήγησης από το επίπεδο λειτουργικού συστήματος
  • Το μόνο που χρειάζεστε είναι το IDE της γλώσσας προγραμματισμού σας (το οποίο περιέχει τις εντολές Selenium σας) και ένα πρόγραμμα περιήγησης.
Η αρχιτεκτονική του Selenium RC είναι πολύ πιο περίπλοκη.
  • Πρώτα πρέπει να ξεκινήσετε μια ξεχωριστή εφαρμογή που ονομάζεται Selenium Remote Control (RC) Server για να μπορέσετε να ξεκινήσετε τη δοκιμή
  • Ο διακομιστής Selenium RC λειτουργεί ως "μεσάζων" μεταξύ των εντολών Selenium και του προγράμματος περιήγησής σας
  • Όταν ξεκινήσετε τη δοκιμή, ο διακομιστής Selenium RC "εισάγει" ένα πρόγραμμα Javascript που ονομάζεται Selenium Core στο πρόγραμμα περιήγησης.
  • Μετά την ένεση, το Selenium Core θα αρχίσει να λαμβάνει οδηγίες που μεταδίδονται από τον διακομιστή RC από το πρόγραμμα δοκιμών σας.
  • Όταν ληφθούν οι οδηγίες, το Selenium Core θα τις εκτελέσει ως εντολές Javascript.
  • Το πρόγραμμα περιήγησης θα ακολουθήσει τις οδηγίες του Selenium Core και θα μεταδώσει την απόκρισή του στον διακομιστή RC.
  • Ο διακομιστής RC θα λάβει την απόκριση του προγράμματος περιήγησης και στη συνέχεια θα εμφανίσει τα αποτελέσματα σε εσάς.
  • Ο διακομιστής RC θα πάρει την επόμενη οδηγία από το σενάριο δοκιμής σας για να επαναλάβει ολόκληρο τον κύκλο.

2. Ταχύτητα

Το WebDriver είναι ταχύτερο από το Selenium RC, καθώς μιλά απευθείας στο πρόγραμμα περιήγησης χρησιμοποιεί τη μηχανή του προγράμματος περιήγησης για τον έλεγχο.

Το Selenium RC είναι πιο αργό αφού χρησιμοποιεί ένα πρόγραμμα Javascript που ονομάζεται Selenium Core. Αυτό το Selenium Core είναι αυτό που ελέγχει άμεσα το πρόγραμμα περιήγησης, όχι εσείς.

3. Αλληλεπίδραση στην πραγματική ζωή

Το WebDriver αλληλεπιδρά με στοιχεία σελίδας με πιο ρεαλιστικό τρόπο. Για παράδειγμα, εάν έχετε ένα απενεργοποιημένο πλαίσιο κειμένου σε μια σελίδα που δοκιμάσατε, το WebDriver δεν μπορεί πραγματικά να εισαγάγει καμία τιμή σε αυτό, όπως ακριβώς δεν μπορεί ένα πραγματικό άτομο.

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

4. API

Το API του Selenium RC είναι πιο ώριμο αλλά περιέχει απολύσεις και συχνά σύγχυση εντολών . Για παράδειγμα, τις περισσότερες φορές, οι υπεύθυνοι δοκιμών μπερδεύονται εάν θα χρησιμοποιήσουν το πληκτρολόγιο τύπου ή πληκτρολογίου. ή αν θα χρησιμοποιήσετε το κλικ, το ποντίκι του ποντικιού ή το ποντίκι του ποντικιού. Ακόμη χειρότερα, διαφορετικά προγράμματα περιήγησης ερμηνεύουν καθεμία από αυτές τις εντολές με διαφορετικούς τρόπους!

Το API του WebDriver είναι απλούστερο από το Selenium RC's . Δεν περιέχει περιττές και μπερδεμένες εντολές.

5. Υποστήριξη προγράμματος περιήγησης

Το WebDriver μπορεί να υποστηρίξει το πρόγραμμα περιήγησης HtmlUnit χωρίς κεφάλι

Το HtmlUnit ονομάζεται "headless" επειδή είναι ένα αόρατο πρόγραμμα περιήγησης - είναι χωρίς GUI.

Πρόκειται για ένα πολύ γρήγορο πρόγραμμα περιήγησης επειδή δεν αφιερώνεται χρόνος στην αναμονή φόρτωσης στοιχείων σελίδας. Αυτό επιταχύνει τους κύκλους εκτέλεσης δοκιμής.

Δεδομένου ότι είναι αόρατο για τον χρήστη, μπορεί να ελεγχθεί μόνο με αυτοματοποιημένα μέσα.

Το Selenium RC δεν μπορεί να υποστηρίξει το πρόγραμμα περιήγησης HtmlUnit χωρίς κεφάλι. Χρειάζεται ένα πραγματικό, ορατό πρόγραμμα περιήγησης για να λειτουργεί.

Περιορισμοί του WebDriver

Το WebDriver δεν μπορεί να υποστηρίξει εύκολα νέα προγράμματα περιήγησης

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

Ωστόσο, εναπόκειται στην ομάδα προγραμματιστών του WebDriver να αποφασίσει εάν πρέπει να υποστηρίξει το νέο πρόγραμμα περιήγησης ή όχι.

Το Selenium RC έχει ενσωματωμένη γεννήτρια αποτελεσμάτων δοκιμής

Το Selenium RC δημιουργεί αυτόματα ένα αρχείο HTML αποτελεσμάτων δοκιμών . Η μορφή της αναφοράς ήταν προκαθορισμένη από την ίδια την RC. Ρίξτε μια ματιά σε ένα παράδειγμα αυτής της αναφοράς παρακάτω.

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

Περίληψη

  • Το WebDriver είναι ένα εργαλείο για τη δοκιμή εφαρμογών ιστού σε διαφορετικά προγράμματα περιήγησης χρησιμοποιώντας διαφορετικές γλώσσες προγραμματισμού.
  • Τώρα μπορείτε να κάνετε ισχυρές δοκιμές, επειδή το WebDriver σάς επιτρέπει να χρησιμοποιείτε μια γλώσσα προγραμματισμού της επιλογής σας στο σχεδιασμό των δοκιμών σας.
  • Το WebDriver είναι ταχύτερο από το Selenium RC λόγω της απλούστερης αρχιτεκτονικής του.
  • Το WebDriver μιλά απευθείας στο πρόγραμμα περιήγησης, ενώ το Selenium RC χρειάζεται τη βοήθεια του διακομιστή RC για να το κάνει.
  • Το API του WebDriver είναι πιο περιεκτικό από τα Selenium RC's.
  • Το WebDriver μπορεί να υποστηρίξει το HtmlUnit ενώ το Selenium RC δεν μπορεί.
  • Τα μόνα μειονεκτήματα του WebDriver είναι:
    • Δεν μπορεί εύκολα να υποστηρίξει νέα προγράμματα περιήγησης , αλλά το Selenium RC μπορεί.
    • Δεν έχει ενσωματωμένη εντολή για αυτόματη δημιουργία αποτελεσμάτων δοκιμών.