Τι είναι το σελήνιο;
Το Selenium είναι ένα δωρεάν (ανοιχτού κώδικα) αυτοματοποιημένο πλαίσιο δοκιμών που χρησιμοποιείται για την επικύρωση εφαρμογών ιστού σε διαφορετικά προγράμματα περιήγησης και πλατφόρμες. Μπορείτε να χρησιμοποιήσετε πολλές γλώσσες προγραμματισμού όπως Java, C #, Python κ.λπ. για να δημιουργήσετε Selenium Test Scripts. Οι δοκιμές που γίνονται χρησιμοποιώντας το εργαλείο δοκιμής Selenium αναφέρονται συνήθως ως Selenium Testing.
Το λογισμικό Selenium δεν είναι μόνο ένα εργαλείο αλλά μια σουίτα λογισμικού, κάθε κομμάτι καλύπτει διαφορετικές ανάγκες δοκιμών Selenium QA ενός οργανισμού. Εδώ είναι η λίστα των εργαλείων
- Selenium Integrated Development Environment (IDE)
- Τηλεχειριστήριο Selenium (RC)
- Πρόγραμμα οδήγησης Web
- Πλέγμα σεληνίου
Προς το παρόν, το Selenium RC και το WebDriver συγχωνεύονται σε ένα ενιαίο πλαίσιο για να σχηματίσουν το Selenium 2 . Το σελήνιο 1, παρεμπιπτόντως, αναφέρεται στο Selenium RC.
Κάντε κλικ εδώ εάν το βίντεο δεν είναι προσβάσιμο
Σε αυτό το σεμινάριο, θα μάθετε:
- Τι είναι το σελήνιο;
- Ποιος ανέπτυξε το Σελήνιο;
- Το ίδιο ζήτημα πολιτικής προέλευσης
- Γέννηση του Selenium Remote Control (Selenium RC)
- Γέννηση του σεληνίου πλέγματος
- Γέννηση του Selenium IDE
- Γέννηση του WebDriver
- Γέννηση του Σεληνίου 2
- Λοιπόν, γιατί το όνομα Selenium;
- Σύντομη εισαγωγή Selenium IDE
- Σύντομη εισαγωγή Τηλεχειριστήριο Selenium (Selenium RC)
- Σύντομη εισαγωγή WebDriver
- Πλέγμα σεληνίου
- Σημείωση σχετικά με την υποστήριξη προγράμματος περιήγησης και περιβάλλοντος
- Πώς να επιλέξετε το σωστό εργαλείο σεληνίου για τις ανάγκες σας
- Σύγκριση μεταξύ Σεληνίου και QTP (τώρα UFT)
- Πλεονεκτήματα του QTP έναντι του σεληνίου
Ποιος ανέπτυξε το Σελήνιο;
Επειδή το Selenium είναι μια συλλογή διαφορετικών εργαλείων, είχε και διαφορετικούς προγραμματιστές. Παρακάτω είναι τα βασικά άτομα που έκαναν αξιοσημείωτες συνεισφορές στο έργο Selenium
Κατά κύριο λόγο, το Selenium δημιουργήθηκε από τον Jason Huggins το 2004 . Μηχανικός στο ThoughtWorks, δούλευε σε μια διαδικτυακή εφαρμογή που απαιτούσε συχνές δοκιμές. Αφού συνειδητοποίησε ότι η επαναλαμβανόμενη μη αυτόματη δοκιμή της εφαρμογής τους γινόταν όλο και πιο αναποτελεσματική, δημιούργησε ένα πρόγραμμα JavaScript που θα ελέγχει αυτόματα τις ενέργειες του προγράμματος περιήγησης. Ονόμασε αυτό το πρόγραμμα ως " JavaScriptTestRunner ." Βλέποντας τις δυνατότητες αυτής της ιδέας να βοηθήσουν στην αυτοματοποίηση άλλων εφαρμογών ιστού, έκανε το JavaScriptRunner ανοιχτού κώδικα, το οποίο αργότερα μετονομάστηκε σε Selenium Core . |
Το ίδιο ζήτημα πολιτικής προέλευσης
Η ίδια πολιτική προέλευσης απαγορεύει στον κώδικα JavaScript να αποκτά πρόσβαση σε στοιχεία από έναν τομέα που είναι διαφορετικός από τον τόπο έναρξης . Για παράδειγμα, ο κώδικας HTML στο www.google.com χρησιμοποιεί ένα πρόγραμμα JavaScript "randomScript.js". Η ίδια πολιτική προέλευσης επιτρέπει μόνο στο randomScript.js να έχει πρόσβαση σε σελίδες στο google.com, όπως google.com/mail, google.com/login ή google.com/signup. Ωστόσο, δεν μπορεί να έχει πρόσβαση σε σελίδες από διαφορετικούς ιστότοπους, όπως το yahoo.com/search ή το guru99.com, επειδή ανήκουν σε διαφορετικούς τομείς.
Αυτός είναι ο λόγος για τον οποίο πριν από το Selenium RC, οι υπεύθυνοι δοκιμών χρειάστηκαν να εγκαταστήσουν τοπικά αντίγραφα τόσο του Selenium Core (ενός προγράμματος JavaScript) όσο και του διακομιστή ιστού που περιέχει την εφαρμογή ιστού που δοκιμάστηκε, ώστε να ανήκουν στον ίδιο τομέα
Γέννηση του Selenium Remote Control (Selenium RC)
Δυστυχώς; Οι υπεύθυνοι δοκιμών που χρησιμοποιούν το Selenium Core έπρεπε να εγκαταστήσουν ολόκληρη την υπό δοκιμή εφαρμογή και τον διακομιστή διαδικτύου στους δικούς τους τοπικούς υπολογιστές λόγω των περιορισμών που επιβάλλονται από την ίδια πολιτική προέλευσης. Έτσι ένας άλλος μηχανικός της ThoughtWork, Paul Hammant , αποφάσισε να δημιουργήσει έναν διακομιστή που θα ενεργεί ως διακομιστής μεσολάβησης HTTP για να «ξεγελάσει» το πρόγραμμα περιήγησης ώστε να πιστεύει ότι το Selenium Core και η εφαρμογή ιστού που δοκιμάζεται προέρχονται από τον ίδιο τομέα. Αυτό το σύστημα έγινε γνωστό ως Selenium Remote Control ή Selenium 1 .
Γέννηση του σεληνίου πλέγματος
Το Selenium Grid αναπτύχθηκε από τον Patrick Lightbody για να αντιμετωπίσει την ανάγκη ελαχιστοποίησης των χρόνων εκτέλεσης δοκιμών όσο το δυνατόν περισσότερο. Αρχικά κάλεσε το σύστημα " Hosted QA ." Ήταν σε θέση να συλλάβει στιγμιότυπα οθόνης του προγράμματος περιήγησης σε σημαντικά στάδια, καθώς και να στέλνει ταυτόχρονα εντολές Selenium σε διαφορετικά μηχανήματα.
Γέννηση του Selenium IDE
Η Shinya Kasatani της Ιαπωνίας δημιούργησε το Selenium IDE , μια επέκταση Firefox που μπορεί να αυτοματοποιήσει το πρόγραμμα περιήγησης μέσω μιας λειτουργίας εγγραφής και αναπαραγωγής. Ήρθε με αυτήν την ιδέα για να αυξήσει περαιτέρω την ταχύτητα δημιουργίας δοκιμαστικών περιπτώσεων. Δώρισε το Selenium IDE στο Selenium Project το 2006 .
Γέννηση του WebDriver
Σάιμον Στιούαρτ δημιούργησε το WebDriver γύρω στο 2006 όταν τα προγράμματα περιήγησης και οι εφαρμογές Ιστού γινόταν πιο ισχυρά και πιο περιοριστικά με προγράμματα JavaScript όπως το Selenium Core. Ήταν το πρώτο πλαίσιο δοκιμών μεταξύ πλατφορμών που θα μπορούσε να ελέγξει το πρόγραμμα περιήγησης από το επίπεδο του λειτουργικού συστήματος.
Γέννηση του Σεληνίου 2
Το 2008 , ολόκληρη η ομάδα Selenium αποφάσισε να συγχωνεύσει το WebDriver και το Selenium RC για να σχηματίσουν ένα πιο ισχυρό εργαλείο που ονομάζεται Selenium 2 , με το WebDriver να είναι ο πυρήνας . Επί του παρόντος, το Selenium RC εξακολουθεί να αναπτύσσεται αλλά μόνο σε λειτουργία συντήρησης. Οι περισσότερες από τις προσπάθειες του Selenium Project εστιάζονται τώρα στο Selenium 2.
Λοιπόν, γιατί το όνομα Selenium;
Το Όνομα Selenium προήλθε από ένα αστείο που ο Jason έσπασε μια φορά στην ομάδα του. Κατά τη διάρκεια της ανάπτυξης του Selenium, ένα άλλο αυτοματοποιημένο πλαίσιο δοκιμών έγινε δημοφιλές από την εταιρεία που ονομάζεται Mercury Interactive (ναι, η εταιρεία που έκανε αρχικά το QTP πριν από την απόκτηση της HP) Δεδομένου ότι το Σελήνιο είναι ένα γνωστό αντίδοτο για τη δηλητηρίαση από τον υδράργυρο, ο Τζέισον πρότεινε ότι το όνομα και οι συμπαίκτες του το πήραν. Έτσι λοιπόν πήραμε αυτό το πλαίσιο μέχρι σήμερα.
Σύντομη εισαγωγή Selenium IDE
Το Selenium Integrated Development Environment (IDE) είναι το απλούστερο πλαίσιο στη σουίτα Selenium και είναι το πιο εύκολο να μάθετε . Πρόκειται για ένα πρόσθετο Firefox που μπορείτε να εγκαταστήσετε όσο πιο εύκολα μπορείτε με άλλα πρόσθετα. Ωστόσο, λόγω της απλότητάς του, το Selenium IDE πρέπει να χρησιμοποιείται μόνο ως πρωτότυπο εργαλείο . Εάν θέλετε να δημιουργήσετε πιο εξελιγμένες περιπτώσεις δοκιμών, θα πρέπει να χρησιμοποιήσετε είτε το Selenium RC είτε το WebDriver.
Σύντομη εισαγωγή Τηλεχειριστήριο Selenium (Selenium RC)
Το Selenium RC ήταν το κορυφαίο πλαίσιο δοκιμών ολόκληρου του έργου Selenium για μεγάλο χρονικό διάστημα. Αυτό είναι το πρώτο αυτοματοποιημένο εργαλείο δοκιμών ιστού που επέτρεψε στους χρήστες να χρησιμοποιούν τη γλώσσα προγραμματισμού που προτιμούν . Από την έκδοση 2.25.0, το RC μπορεί να υποστηρίξει τις ακόλουθες γλώσσες προγραμματισμού:
- Ιάβα
- ΝΤΟ#
- PHP
- Πύθων
- Perl
- Ρουμπίνι
Σύντομη εισαγωγή WebDriver
Το WebDriver αποδεικνύεται καλύτερο από το Selenium IDE και το Selenium RC από πολλές απόψεις. Εφαρμόζει μια πιο σύγχρονη και σταθερή προσέγγιση στην αυτοματοποίηση των ενεργειών του προγράμματος περιήγησης. Το WebDriver, σε αντίθεση με το Selenium RC, δεν βασίζεται σε JavaScript για Selenium Automation Testing. Ελέγχει το πρόγραμμα περιήγησης επικοινωνώντας απευθείας με αυτό.
Οι υποστηριζόμενες γλώσσες είναι ίδιες με αυτές του Selenium RC.
- Ιάβα
- ΝΤΟ#
- PHP
- Πύθων
- Perl
- Ρουμπίνι
Πλέγμα σεληνίου
Το Selenium Grid είναι ένα εργαλείο που χρησιμοποιείται μαζί με το Selenium RC για την εκτέλεση παράλληλων δοκιμών σε διαφορετικά μηχανήματα και διαφορετικά προγράμματα περιήγησης ταυτόχρονα. Παράλληλη εκτέλεση σημαίνει εκτέλεση πολλαπλών δοκιμών ταυτόχρονα.
Χαρακτηριστικά:
- Επιτρέπει την ταυτόχρονη εκτέλεση δοκιμών σε πολλά προγράμματα περιήγησης και περιβάλλοντα.
- Εξοικονομεί πολύ χρόνο .
- Χρησιμοποιεί την έννοια hub-and-nodes . Ο κόμβος λειτουργεί ως κεντρική πηγή εντολών Selenium σε κάθε κόμβο που συνδέεται με αυτό.
Σημείωση σχετικά με την υποστήριξη προγράμματος περιήγησης και περιβάλλοντος
Λόγω των αρχιτεκτονικών διαφορών τους, το Selenium IDE, το Selenium RC και το WebDriver υποστηρίζουν διαφορετικά σύνολα προγραμμάτων περιήγησης και λειτουργικών περιβαλλόντων.
Σελήνιο IDE | Πρόγραμμα οδήγησης Web | |
---|---|---|
Υποστήριξη προγράμματος περιήγησης | Mozilla Firefox | Internet Explorer εκδόσεις 6 έως 11, 32 και 64-bit Microsoft Edge έκδοση 12.10240 και άνω (μερική υποστήριξη ορισμένων λειτουργιών υπό ανάπτυξη) Firefox 3.0 και άνω του Google Chrome 12.0. και πάνω από το Opera 11.5 και άνω Android - 2.3 και άνω για τηλέφωνα και tablet (συσκευές και εξομοιωτές) iOS 3+ για τηλέφωνα (συσκευές και εξομοιωτές) και 3.2+ για tablet (συσκευές και εξομοιωτές) HtmlUnit 2.9 και άνω |
Λειτουργικό σύστημα | Windows, Mac OS X, Linux | Όλα τα λειτουργικά συστήματα στα οποία μπορούν να εκτελεστούν τα παραπάνω προγράμματα περιήγησης. |
Σημείωση: Το Selenium WebDriver χαρακτηρίζεται ως διάδοχος του Selenium RC το οποίο έχει καταργηθεί και επίσημα ανακοινωθεί από το SeleniumHQ.
Πώς να επιλέξετε το σωστό εργαλείο σεληνίου για τις ανάγκες σας
Εργαλείο | Γιατί να επιλέξετε; |
---|---|
Σελήνιο IDE |
|
Selenium RC |
|
Πρόγραμμα οδήγησης Web |
|
Πλέγμα σεληνίου |
|
Σύγκριση μεταξύ Σεληνίου και QTP (τώρα UFT)
Το Quick Test Professional (QTP) είναι ένα ιδιόκτητο αυτοματοποιημένο εργαλείο δοκιμών που ανήκε προηγουμένως στην εταιρεία Mercury Interactive πριν από την απόκτησή του από την Hewlett-Packard το 2006 . Το Selenium Tool Suite έχει πολλά πλεονεκτήματα έναντι του QTP όπως περιγράφεται παρακάτω -
Πλεονεκτήματα και οφέλη του σεληνίου έναντι του QTP
Σελήνιο | QTP |
---|---|
Ανοιχτός κώδικας , δωρεάν στη χρήση και δωρεάν. | Εμπορική . |
Πολύ επεκτάσιμο | Περιορισμένα πρόσθετα |
Μπορεί να εκτελέσει δοκιμές σε διαφορετικά προγράμματα περιήγησης | Μπορεί να εκτελέσει δοκιμές μόνο σε Firefox , Internet Explorer και Chrome |
Υποστηρίζει διάφορα λειτουργικά συστήματα | Μπορεί να χρησιμοποιηθεί μόνο στα Windows |
Υποστηρίζει φορητές συσκευές | Το QTP υποστηρίζει τον αυτοματισμό δοκιμών εφαρμογών για κινητά (iOS & Android) χρησιμοποιώντας τη λύση HP που ονομάζεται - HP Mobile Center |
Μπορεί να εκτελέσει δοκιμές ενώ το πρόγραμμα περιήγησης ελαχιστοποιείται | Πρέπει να υπάρχει η δοκιμαστική εφαρμογή για να είναι ορατή στην επιφάνεια εργασίας |
Μπορεί να εκτελέσει παράλληλα δοκιμές . | Μπορεί να εκτελεστεί παράλληλα, αλλά χρησιμοποιώντας το Quality Center που είναι και πάλι ένα προϊόν επί πληρωμή. |
Πλεονεκτήματα του QTP έναντι του σεληνίου
QTP | Σελήνιο |
---|---|
Μπορεί να δοκιμάσει εφαρμογές ιστού και επιτραπέζιου υπολογιστή | Μπορεί να δοκιμάσει μόνο εφαρμογές ιστού |
Έρχεται με ένα ενσωματωμένο αποθετήριο αντικειμένων | Δεν έχει ενσωματωμένο αποθετήριο αντικειμένων |
Αυτοματοποιείται γρηγορότερα από το Σελήνιο, επειδή είναι ένα πλήρως εξοπλισμένο IDE. | Αυτοματοποιείται με πιο αργό ρυθμό, επειδή δεν διαθέτει εγγενές IDE και μόνο το IDE τρίτου μέρους μπορεί να χρησιμοποιηθεί για ανάπτυξη |
Η δοκιμή βάσει δεδομένων είναι ευκολότερη στην εκτέλεση, επειδή διαθέτει ενσωματωμένους παγκόσμιους και τοπικούς πίνακες δεδομένων . | Οι δοκιμές βάσει δεδομένων είναι πιο δυσκίνητες, καθώς πρέπει να βασίζεστε στις δυνατότητες της γλώσσας προγραμματισμού για τον καθορισμό τιμών για τα δεδομένα δοκιμής σας |
Δυνατότητα πρόσβασης στα στοιχεία ελέγχου εντός του προγράμματος περιήγησης (όπως η γραμμή Αγαπημένων, η Γραμμή διευθύνσεων, τα κουμπιά Πίσω και Εμπρός κ.λπ.) | Δεν είναι δυνατή η πρόσβαση σε στοιχεία εκτός της εφαρμογής ιστού υπό δοκιμή |
Παρέχει επαγγελματική υποστήριξη πελατών | Δεν προσφέρεται επίσημη υποστήριξη χρηστών. |
Έχει εγγενή δυνατότητα εξαγωγής δεδομένων δοκιμής σε εξωτερικές μορφές | Δεν έχει εγγενή δυνατότητα εξαγωγής δεδομένων χρόνου εκτέλεσης σε εξωτερικές μορφές |
Η υποστήριξη παραμέτρου έχει δημιουργηθεί | Η παραμετροποίηση μπορεί να γίνει μέσω προγραμματισμού αλλά είναι δύσκολο να εφαρμοστεί. |
Οι Αναφορές δοκιμών δημιουργούνται αυτόματα | Δεν υπάρχει εγγενής υποστήριξη για τη δημιουργία αναφορών δοκιμών / σφαλμάτων. |
Αν και σαφώς, το QTP έχει πιο προηγμένες δυνατότητες, το Selenium υπερτερεί του QTP σε τρεις κύριους τομείς:
- Κόστος (επειδή το Σελήνιο είναι εντελώς δωρεάν)
- Ευελιξία (λόγω μιας σειράς γλωσσών προγραμματισμού, προγραμμάτων περιήγησης και πλατφορμών που μπορεί να υποστηρίξει)
- Παράλληλες δοκιμές (κάτι για το οποίο το QTP είναι ικανό, αλλά μόνο με τη χρήση του Quality Center)
Περίληψη
- Ολόκληρη η σουίτα δοκιμής λογισμικού Selenium αποτελείται από τέσσερα στοιχεία:
- Selenium IDE, ένα πρόσθετο Firefox που μπορείτε να χρησιμοποιήσετε μόνο για τη δημιουργία σχετικά απλών περιπτώσεων δοκιμών και δοκιμαστικών σουιτών.
- Τηλεχειριστήριο Selenium, επίσης γνωστό ως Selenium 1, το οποίο είναι το πρώτο εργαλείο Selenium που επέτρεψε στους χρήστες να χρησιμοποιούν γλώσσες προγραμματισμού για τη δημιουργία σύνθετων δοκιμών.
- WebDriver, η νεότερη ανακάλυψη που επιτρέπει στα σενάρια δοκιμής να επικοινωνούν απευθείας στο πρόγραμμα περιήγησης, ελέγχοντας έτσι από το επίπεδο λειτουργικού συστήματος.
- Το Selenium Grid είναι επίσης ένα εργαλείο που χρησιμοποιείται με το Selenium RC για την εκτέλεση παράλληλων δοκιμών σε διαφορετικά προγράμματα περιήγησης και λειτουργικά συστήματα.
- Το Selenium RC και το WebDriver συγχωνεύθηκαν για να σχηματίσουν το Selenium 2.
- Το σελήνιο είναι πιο πλεονεκτικό από το QTP όσον αφορά το κόστος και την ευελιξία. Σας επιτρέπει επίσης να εκτελείτε δοκιμές παράλληλα, σε αντίθεση με το QTP όπου επιτρέπεται μόνο να εκτελείτε διαδοχικές δοκιμές.