Τι είναι Selenium? Εισαγωγικό φροντιστήριο
⚡ Έξυπνη Σύνοψη
Selenium είναι ένα δωρεάν, ανοιχτού κώδικα πλαίσιο αυτοματοποιημένων δοκιμών που έχει σχεδιαστεί για την επικύρωση εφαρμογών ιστού σε προγράμματα περιήγησης και πλατφόρμες χρησιμοποιώντας πολλαπλές γλώσσες προγραμματισμού. Επιτρέπει την ισχυρή, αποτελεσματική και κλιμακούμενη αυτοματοποίηση δοκιμών για σύγχρονες πρακτικές διασφάλισης ποιότητας.

Τι είναι Selenium?
Selenium είναι ένα δωρεάν (ανοιχτού κώδικα) αυτοματοποιημένο πλαίσιο δοκιμών που χρησιμοποιείται για την επικύρωση εφαρμογών Ιστού σε διαφορετικά προγράμματα περιήγησης και πλατφόρμες. Μπορείτε να χρησιμοποιήσετε πολλές γλώσσες προγραμματισμού όπως Java, C#, Python, κλπ για να δημιουργήσετε Selenium Δοκιμαστικά Σενάρια. Η δοκιμή έγινε με τη χρήση του Selenium Το εργαλείο δοκιμών αναφέρεται συνήθως ως Selenium Δοκιμές.
Ειδικές γνώσεις
«Αποφύγετε τη χρήση σταθερών καθυστερήσεων ύπνου στις δοκιμές σας. Αντ' αυτού, χρησιμοποιήστε σαφείς αναμονές (όπως το WebDriverWait) για να περιμένετε να φορτώσουν τα στοιχεία. Αυτό κάνει τα σενάρια σας πιο αξιόπιστα και ταχύτερα, καθώς ανταποκρίνονται δυναμικά στις πραγματικές συνθήκες της σελίδας—μια βασική βέλτιστη πρακτική για τους μαθητές παντού, ξεκινώντας από Selenium. "
👉 Εγγραφείτε δωρεάν ζωντανά Selenium Έργο δοκιμής
Selenium Σουίτα εργαλείων
Selenium Το λογισμικό δεν είναι απλώς ένα εργαλείο, αλλά μια σουίτα λογισμικού, το κάθε κομμάτι εξυπηρετεί διαφορετικά Selenium Ανάγκες δοκιμών QA ενός οργανισμού. Εδώ είναι η λίστα των εργαλείων
- Selenium Ολοκληρωμένο Αναπτυξιακό Περιβάλλον (IDE)
- Selenium Τηλεχειριστήριο (RC)
- Πρόγραμμα οδήγησης Web
- Selenium Πλέγμα
Αυτή τη στιγμή, Selenium Το RC και το WebDriver συγχωνεύονται σε ένα ενιαίο πλαίσιο για να σχηματιστούν Selenium 2. Selenium 1, παρεμπιπτόντως, αναφέρεται σε Selenium RC.
Tutorial βίντεο Selenium
Πατήστε εδώ εάν το βίντεο δεν είναι προσβάσιμο
Ποιος αναπτύχθηκε Selenium?
Από Selenium είναι μια συλλογή από διαφορετικά εργαλεία, είχε επίσης διαφορετικούς προγραμματιστές. Παρακάτω είναι τα βασικά πρόσωπα που συνέβαλαν σημαντικά στο Selenium ΕΡΓΟ
Πρωτίστως, Selenium ήταν δημιουργήθηκε από τον Jason Huggins το 2004Ως μηχανικός στην ThoughtWorks, εργαζόταν σε μια διαδικτυακή εφαρμογή που απαιτούσε συχνές δοκιμές. Έχοντας συνειδητοποιήσει ότι οι επαναλαμβανόμενες χειροκίνητες δοκιμές της εφαρμογής τους γίνονταν ολοένα και πιο αναποτελεσματικές, δημιούργησε ένα JavaΓραφή πρόγραμμα που θα έλεγχε αυτόματα τις ενέργειες του προγράμματος περιήγησης. Ονόμασε αυτό το πρόγραμμα "JavaScriptTestRunner.
Βλέποντας δυνατότητες σε αυτή την ιδέα να βοηθήσει στην αυτοματοποίηση άλλων διαδικτυακών εφαρμογών, έκανε JavaScriptRunner ανοιχτού κώδικα, το οποίο αργότερα μετονομάστηκε Selenium πυρήνας. Για όσους ενδιαφέρονται να εξερευνήσουν άλλες επιλογές για τη δοκιμή εφαρμογών Ιστού, ρίξτε μια ματιά σε αυτές Selenium εναλλακτικές λύσεις.
Το θέμα της ίδιας πολιτικής προέλευσης
Η πολιτική ίδιας προέλευσης απαγορεύει JavaΚώδικας σεναρίου από την πρόσβαση σε στοιχεία από έναν τομέα που είναι διαφορετικός από τον τόπο εκκίνησής του. Για παράδειγμα, ο κώδικας HTML στο www.google.com χρησιμοποιεί ένα JavaΠρόγραμμα σεναρίων "randomScript.js". Η ίδια πολιτική προέλευσης θα επιτρέπει στο randomScript.js να έχει πρόσβαση μόνο σε σελίδες εντός του google.com, όπως google.com/mail, google.com/login ή google.com/signup. Ωστόσο, δεν μπορεί να έχει πρόσβαση σε σελίδες από διαφορετικούς ιστότοπους όπως το yahoo.com/search ή το guru99.com, επειδή ανήκουν σε διαφορετικούς τομείς.
Αυτός είναι ο λόγος για τον οποίο, πριν από Selenium RC, απαιτούνται δοκιμαστές για την εγκατάσταση τοπικών αντιγράφων και των δύο Selenium Πυρήνας (α Javaπρόγραμμα script) και ο διακομιστής ιστού που περιέχει την εφαρμογή ιστού που δοκιμάζεται, επομένως θα ανήκουν στον ίδιο τομέα
Γέννηση του Selenium Τηλεχειριστήριο (Selenium RC)
Δυστυχώς, οι δοκιμαστές που χρησιμοποιούν Selenium Ο Core έπρεπε να εγκαταστήσει ολόκληρη την εφαρμογή υπό δοκιμή και τον διακομιστή web στους δικούς του τοπικούς υπολογιστές λόγω των περιορισμών που επιβλήθηκαν από το πολιτική ίδιας προέλευσηςΈτσι, ένας άλλος μηχανικός της ThoughtWorks, Paul Hammant, αποφάσισαν να δημιουργήσουν έναν διακομιστή που θα λειτουργούσε ως HTTP proxy για να «ξεγελάσουν» το πρόγραμμα περιήγησης ώστε να πιστέψει ότι Selenium Ο πυρήνας και η εφαρμογή Ιστού που δοκιμάζεται προέρχονται από τον ίδιο τομέα. Αυτό το σύστημα έγινε γνωστό ως το Selenium τηλεχειριστήριο or Selenium 1.
Γέννηση του Selenium Πλέγμα
Selenium Το πλέγμα αναπτύχθηκε από Patrick Lightbody για να αντιμετωπίσει την ανάγκη ελαχιστοποίησης των χρόνων εκτέλεσης των δοκιμών όσο το δυνατόν περισσότερο. Αρχικά κάλεσε το σύστημα «Φιλοξενούμενη διασφάλιση ποιότητας». Ήταν ικανό να καταγράφει στιγμιότυπα οθόνης από το πρόγραμμα περιήγησης κατά τη διάρκεια σημαντικών σταδίων, καθώς και στελνω Selenium εντολές σε διαφορετικές μηχανές ταυτόχρονα.
Γέννηση του Selenium IDE
Shinya Kasatani της Ιαπωνίας δημιουργήθηκε Selenium IDE, έναν Firefox και επέκταση Chrome που μπορεί να αυτοματοποιήσει το πρόγραμμα περιήγησης μέσω μιας λειτουργίας εγγραφής και αναπαραγωγής. Σκέφτηκε αυτή την ιδέα για να αυξήσει περαιτέρω την ταχύτητα δημιουργίας δοκιμαστικών περιπτώσεων. Δώρισε Selenium IDE στο Selenium Έργο σε 2006.
Γέννηση του WebDriver
Simon Stewart δημιούργησε το WebDriver περίπου 2006 όταν τα προγράμματα περιήγησης και οι εφαρμογές Ιστού γίνονταν πιο ισχυρά και πιο περιοριστικά με JavaΠρογράμματα σεναρίου όπως Selenium Πυρήνας. Ήταν το πρώτο cross-platform testing framework που μπορούσε να ελέγξει το πρόγραμμα περιήγησης σε επίπεδο λειτουργικού συστήματος.
Γέννηση του Selenium 2
In 2008, Το σύνολο Selenium Η ομάδα αποφάσισε να συγχωνεύσει το WebDriver και Selenium RC για να σχηματίσουν ένα πιο ισχυρό εργαλείο που ονομάζεται Selenium 2, με Το WebDriver είναι ο πυρήνας. Επί του παρόντος, Selenium Το RC βρίσκεται ακόμη υπό ανάπτυξη, αλλά μόνο σε λειτουργία συντήρησης. Τα περισσότερα από τα Selenium Οι προσπάθειες του έργου επικεντρώνονται τώρα σε Selenium 2.
Λοιπόν, Γιατί το Όνομα Selenium?
Το όνομα Selenium προήλθε από ένα αστείο που ο Τζέισον έκανε μια φορά στην ομάδα του. Στη διάρκεια Seleniumανάπτυξη του, άλλο αυτοματοποιημένες δοκιμές Το πλαίσιο δημιουργήθηκε ευρέως από την εταιρεία που ονομάζεται Mercury διαδραστικό (ναι, η εταιρεία που αρχικά κατασκεύαζε την QTP πριν την εξαγοράσει η HP). Από τότε Selenium είναι ένα πολύ γνωστό αντίδοτο για Mercury δηλητηρίαση, ο Τζέισον πρότεινε αυτό το όνομα και οι συμπαίκτες του το πήραν. Έτσι πρέπει να ονομάζουμε αυτό το πλαίσιο μέχρι σήμερα.
Τι είναι Selenium IDE;
Selenium Το Ολοκληρωμένο Αναπτυξιακό Περιβάλλον (IDE) είναι το απλούστερο πλαίσιο στο Selenium σουίτα και είναι το πιο εύκολο να μάθεις. Είναι ένα Chrome και Firefox συνδέω που μπορείτε να εγκαταστήσετε όσο πιο εύκολα μπορείτε με άλλα πρόσθετα. Ωστόσο, λόγω της απλότητάς του, Selenium Το IDE θα πρέπει να χρησιμοποιείται μόνο ως α εργαλείο δημιουργίας πρωτοτύπων. Εάν θέλετε να δημιουργήσετε πιο προηγμένες περιπτώσεις δοκιμών, θα χρειαστεί να χρησιμοποιήσετε ένα από τα δύο Selenium RC ή WebDriver.
Τι είναι Selenium Τηλεχειριστήριο (Selenium RC);
Selenium RC ήταν το κορυφαίο πλαίσιο δοκιμών του συνόλου Selenium έργο για μεγάλο χρονικό διάστημα. Αυτό είναι το πρώτο αυτοματοποιημένο διαδικτυακές δοκιμές εργαλείο αυτό επιτρέπει στους χρήστες να χρησιμοποιούν μια γλώσσα προγραμματισμού που προτιμούν. Από την έκδοση 2.25.0, το RC μπορεί να υποστηρίξει τις ακόλουθες γλώσσες προγραμματισμού:
Τι είναι το WebDriver;
Το WebDriver αποδεικνύεται καλύτερο από Selenium IDE και Selenium RC σε πολλές πτυχές. Εφαρμόζει μια πιο σύγχρονη και σταθερή προσέγγιση στην αυτοματοποίηση των ενεργειών του προγράμματος περιήγησης. WebDriver, σε αντίθεση με Selenium RC, δεν βασίζεται σε JavaΣενάριο για Selenium Δοκιμές Αυτοματισμού. Ελέγχει το πρόγραμμα περιήγησης επικοινωνώντας απευθείας μαζί του.
Οι υποστηριζόμενες γλώσσες είναι ίδιες με αυτές που υπάρχουν Selenium RC.
- Java
- C#
- PHP
- Python
- Perl
- Ruby
Τι είναι Selenium Πλέγμα?
Selenium Το πλέγμα είναι ένα εργαλείο χρησιμοποιείται μαζί με Selenium RC για εκτέλεση παράλληλες δοκιμές σε διαφορετικά μηχανήματα και διαφορετικά προγράμματα περιήγησης ταυτόχρονα. Παράλληλη εκτέλεση σημαίνει εκτέλεση πολλαπλών δοκιμών ταυτόχρονα.
Χαρακτηριστικά:
- επιτρέπει ταυτόχρονη εκτέλεση δοκιμών in πολλαπλά προγράμματα περιήγησης και περιβάλλοντα.
- Εξοικονομεί χρόνο τεράστια.
- Χρησιμοποιεί το hub-and-nodes έννοια. Ο κόμβος λειτουργεί ως κεντρική πηγή Selenium εντολές σε κάθε κόμβο που συνδέεται με αυτόν.
Selenium Υποστήριξη προγράμματος περιήγησης και περιβάλλοντος
Λόγω των αρχιτεκτονικών διαφορών τους, Selenium SDI, Selenium Το RC και το WebDriver υποστηρίζουν διαφορετικά σύνολα προγραμμάτων περιήγησης και λειτουργικά περιβάλλοντα.
| Selenium IDE | Πρόγραμμα οδήγησης Web | |
|---|---|---|
| Υποστήριξη προγράμματος περιήγησης | Mozilla Firefox και Chrome | Google Chrome 12 + Firefox Internet Explorer 7+ και Edge Σαφάρι, HtmlUnit και PhantomUnit |
| Operating System | Windows, Mac OS X, Linux | Όλα τα λειτουργικά συστήματα στα οποία μπορούν να εκτελούνται τα παραπάνω προγράμματα περιήγησης. |
Σημείωση: Opera Το πρόγραμμα οδήγησης δεν λειτουργεί πλέον
Πώς να επιλέξετε το σωστό Selenium Εργαλείο για τις ανάγκες σας
| Εργαλείο | Γιατί να επιλέξετε; |
|---|---|
| Selenium IDE |
|
| Selenium RC |
|
| Πρόγραμμα οδήγησης Web |
|
| Selenium Πλέγμα |
|
Μελέτες περιπτώσεων πραγματικού κόσμου
🔍 Μελέτη περίπτωσης 1: Συμβατότητα μεταξύ προγραμμάτων περιήγησης για τον πίνακα ελέγχου SaaS
σενάριο
Μια εταιρεία λογισμικού ως υπηρεσία ετοιμαζόταν να κυκλοφορήσει έναν πίνακα ελέγχου αναλυτικών στοιχείων που έπρεπε να λειτουργεί με συνέπεια σε όλα τα σύγχρονα προγράμματα περιήγησης (Chrome, Firefox, Edge, Safari).
Πρόκληση
Οι χειροκίνητες δοκιμές σε κάθε πρόγραμμα περιήγησης ήταν χρονοβόρες, επιρρεπείς σε σφάλματα και δεν μπορούσαν να συμβαδίσουν με τις γρήγορες επαναλήψεις ανάπτυξης.
Λύση με Selenium
Ένας μηχανικός διασφάλισης ποιότητας δημιούργησε ένα Selenium Πλέγμα ρύθμιση για την εκτέλεση της ίδιας σουίτας δοκιμών ταυτόχρονα σε πολλά προγράμματα περιήγησης και συνδυασμούς λειτουργικών συστημάτων. Οι δοκιμές συντάχθηκαν το Python η Selenium WebDriver για ενέργειες όπως σύνδεση, φιλτράρισμα γραφημάτων και εξαγωγή δεδομένων.
Αποτέλεσμα
- Μειωμένη διάρκεια παλινδρόμησης κατά 80%.
- Ανακαλύφθηκαν νωρίς σφάλματα απόδοσης που αφορούν συγκεκριμένα προγράμματα περιήγησης (π.χ., κακή ευθυγράμμιση γραφημάτων στον IE).
- Διατηρήθηκε ένα συνεπές UX του πίνακα ελέγχου σε ολόκληρο τον πίνακα προγραμμάτων περιήγησης χωρίς επιπλέον χειροκίνητους κύκλους.
⚙️ Μελέτη περίπτωσης 2: Ενσωμάτωση CI/CD για εφαρμογή ιστού μέσω Selenium + TestNG
σενάριο
Μια μεσαίου μεγέθους εταιρεία ανάπτυξης ιστοσελίδων βασίζεται σε έναν αγωγό CI/CD που χρησιμοποιεί την Jenkins. Έπρεπε να διασφαλίσει ότι οι βασικές διαδρομές των χρηστών λειτουργούσαν μετά από κάθε αλλαγή κώδικα.
Πρόκληση
Οι νέες αναπτύξεις δομών περιστασιακά διέκοπταν τις ροές χρηστών — σύνδεση, υποβολή φόρμας — διαφεύγοντας την ανίχνευση μέχρι τη μη αυτόματη δοκιμή στο τέλος της ημέρας.
Λύση με Selenium
Ένας δοκιμαστής υλοποίησε ένα Java-Με βάση Selenium Σουίτα WebDriver ενσωματωμένη με TestNGΟι δοκιμές κάλυψαν τον έλεγχο ταυτότητας, τις ενημερώσεις προφίλ και τις λειτουργίες αναζήτησης. Αυτές εκτελέστηκαν σε κάθε έκδοση της Jenkins, αξιοποιώντας την παράλληλη εκτέλεση και την παραμετροποίηση του προγράμματος περιήγησης.
Αποτέλεσμα
- Επιτεύχθηκε γρήγορη ανατροφοδότηση: οι προβληματικές ροές επισημάνθηκαν αμέσως.
- Μειώθηκαν τα σφάλματα μετά την ανάπτυξη κατά πάνω από 60%.
- Έδωσε τη δυνατότητα στους προγραμματιστές να αντιμετωπίσουν προβλήματα πριν φτάσουν στον έλεγχο ποιότητας.
🚀 Μελέτη περίπτωσης 3: Επιτάχυνση της κυκλοφορίας λειτουργιών για τον Travel Aggregator
σενάριο
Μια πλατφόρμα συσσωρευτών ταξιδιών χρειαζόταν να κυκλοφορήσει μια ανανεωμένη λειτουργία κράτησης πτήσεων. Οι χειροκίνητες δοκιμές παλινδρόμησης σε 10+ σελίδες χρειάστηκαν ημέρες και εμπόδισαν την κυκλοφορία.
Πρόκληση
Η πίεση για μείωση του χρόνου διάθεσης στην αγορά δεν μπόρεσε να ξεπεράσει τους κύκλους χειροκίνητων δοκιμών, με αποτέλεσμα να υπάρχει κίνδυνος καθυστερήσεων ή χαμηλότερης ποιότητας.
Λύση με Selenium Μοντέλο αντικειμένου & σελίδας
Ένας επικεφαλής αυτοματοποίησης διασφάλισης ποιότητας εισήγαγε μια δομή μοντέλου αντικειμένου σελίδας (POM) σε C#. Selenium Τα σενάρια WebDriver ενθυλάκωσαν στοιχεία και ενέργειες σελίδας (πτήσεις αναζήτησης, εφαρμογή φίλτρων και περιπτώσεις πληρωμής). Οι αυτοματοποιημένες δοκιμαστικές εκτελέσεις ενεργοποιούνταν κάθε βράδυ στο GitLab CI.
Αποτέλεσμα
- Ο χρόνος δοκιμών μειώθηκε από 3 ημέρες σε μόλις 4 ώρες.
- Η επαναχρησιμοποίηση σεναρίων σε πολλαπλές λειτουργίες μειώνει την προσπάθεια δημιουργίας σεναρίων κατά 50%.
- Αυξήθηκε η εμπιστοσύνη: η κυκλοφορία κυκλοφόρησε εντός χρονοδιαγράμματος με ελάχιστες αναφορές σφαλμάτων.
Κοινός Selenium Προκλήσεις (και διορθώσεις)
Ακόμα κι αν Selenium είναι ισχυρό, οι δοκιμαστές συχνά αντιμετωπίζουν προκλήσεις που μπορούν να επηρεάσουν την αξιοπιστία και την ταχύτητα. Ακολουθούν μερικές συνηθισμένες και πώς να τις διορθώσετε:
- Δοκιμές με ασταθή αποτελέσματα:
Οι δοκιμές ενδέχεται να αποτύχουν τυχαία λόγω προβλημάτων χρονισμού ή δικτύου.
Fix: Χρησιμοποιήστε σαφείς αναμονές και σταθερούς εντοπιστές. ΑποφύγετεThread.sleep(). - Στοιχεία Δυναμικού Ιστού:
Η αλλαγή των αναγνωριστικών στοιχείων ή των XPath προκαλεί σφάλματα "δεν βρέθηκε στοιχείο".
Fix: Χρησιμοποιήστε σχετικές XPaths, επιλογείς CSS ή χειρισμό δυναμικών χαρακτηριστικών. - SyncΘέματα χρονικοποίησης:
Τα στοιχεία φορτώνουν πιο αργά από την εκτέλεση του σεναρίου.
Fix: Υλοποιήστε το WebDriverWait με τις αναμενόμενες συνθήκες. - Ασυνέπειες μεταξύ προγραμμάτων περιήγησης:
Οι δοκιμές συμπεριφέρονται διαφορετικά στο Chrome, Firefoxή Edge.
Fix: Εκτέλεση δοκιμών σε Selenium Πλατφόρμες πλέγματος ή cloud για επικύρωση μεταξύ προγραμμάτων περιήγησης. - Διαχείριση αναδυόμενων παραθύρων και ειδοποιήσεων:
Τα μη αναμενόμενα αναδυόμενα παράθυρα μπορούν να διακόψουν τη ροή της δοκιμής.
Fix: Χρήση SeleniumΔιεπαφή ειδοποίησης ή μπλοκ try-catch για να τα χειρίζεστε ομαλά. - Γενικά έξοδα συντήρησης δοκιμών:
Οι συχνές αλλαγές στο UI καθιστούν τις δοκιμές εύθραυστες.
Fix: Υιοθετήστε το μοντέλο αντικειμένου σελίδας (POM) και τον έλεγχο έκδοσης για εύκολες ενημερώσεις. - Προκλήσεις ενσωμάτωσης:
Οι αγωγοί CI/CD ενδέχεται να παρουσιάσουν σφάλματα λόγω προβλημάτων με το πρόγραμμα οδήγησης.
Fix: Χρήση Selenium Διευθυντής (Selenium 4+) ή το WebDriver Manager για αυτόματη διαχείριση προγραμμάτων οδήγησης.
Με λίγα λόγια: γέφυρα Selenium Τα προβλήματα πηγάζουν από κακό συγχρονισμό ή εύθραυστους εντοπιστές—και τα δύο μπορούν να επιλυθούν μέσω πιο έξυπνων αναμονών, αρθρωτού σχεδιασμού και συνεχούς συντήρησης.




.png)
.jpg)
.jpg)
.jpg)



