Selenium Webdriver Architecture: Οι περισσότεροι αρχάριοι δεν γνωρίζουν

Θα ξεκινήσουμε με Σεμινάριο σεμινάριο Μαύρο βιβλίο σε εξαντλητική και διαφορετική προσέγγιση, Σε αυτό το πρώτο τμήμα του σεμιναρίου του Σεληνίου, θα συζητήσουμε γιαΑρχιτεκτονική Selenium Webdriver, τι είναι Selenium Webdriver, Selenium Webdriver επισκόπηση, Σύντομη ιστορία του Σεληνίου, Πλεονεκτήματα του Σεληνίου, περιορισμοί του Σεληνίου, στοιχεία Σεληνίου και μερικές συχνές ερωτήσεις.

Τι είναι το Selenium Webdriver

Το Selenium είναι μια τεχνολογία ή πλαίσιο ανοιχτού κώδικα μέσω των οποίων μπορούμε να αυτοματοποιήσουμε Εφαρμογές που βασίζονται στο Web. Το Selenium υποστηρίζει δοκιμές πολλαπλών προγραμμάτων περιήγησης, υποστηρίζονται επίσης πολλές γλώσσες όπως Java, Ruby, Perl, Python. Υποστηρίζει διαφορετικές πολλαπλές πλατφόρμες όπως Windows, Linux, macOS κ.λπ. ως μέρος της πλατφόρμας.

Σύντομη ιστορία για το σελήνιο:

Το Selenium εξελίχθηκε αρχικά από ένα εσωτερικό εργαλείο από τον Jason Huggins το 2004 στις ThoughtWorks.

Αργότερα το έτος 2007, ο Huggins εντάχθηκε στον οργανισμό Google, και με άλλους όπως η Jennifer Bevan, συνέχισε με το σχεδιασμό και την ανάπτυξη μιας από τις αρχικές παραλλαγές του Selenium που ονομάζεται Σελήνιο RC. Κατά τη διάρκεια μιας παρόμοιας χρονικής περιόδου, ένα άλλο άτομο που ονομάστηκε Simon Stewart από το ThoughtWorks ανέπτυξε προηγμένα εργαλεία αυτοματισμού προγράμματος περιήγησης ιστού ως WebDriver. 

Το 2008, ένα άτομο που ονομάστηκε Philippe Hanrigou από το ThoughtWorks ήρθε με απομακρυσμένες ιδέες αυτοματισμού γνωστές ως "Selenium Grid".

Το 2009, στο Google Test Automation Conference, αποφασίστηκε η συγχώνευση των δύο έργων και δόθηκε το όνομα ως Selenium WebDriver ή Selenium 2.0.

Πλεονεκτήματα του Selenium Webdriver:

Α. Ανοιχτός κώδικας:

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

Β. Υποστηριζόμενη γλώσσα πολλαπλού προγραμματισμού:

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

Το Selenium παρέχει υποστήριξη για τις παρακάτω γλώσσες προγραμματισμού: 

  • Java 
  • C#
  • Perl
  • Πύθων
  • Ruby  
  • Javascript

Γ. Ανεξάρτητη πλατφόρμα:

Το Selenium είναι ανεξάρτητο από την πλατφόρμα, οπότε μπορείτε να αυτοματοποιήσετε τις εφαρμογές ιστού σας σε οποιαδήποτε πλατφόρμα και οποιοδήποτε από τα λειτουργικά συστήματα, π.χ. Windows, Linux, macOS κ.λπ.

Δ. Δυνατότητα δοκιμής Cross Browser

Το Selenium υποστηρίζει δυνατότητα δοκιμής cross browser για τις εφαρμογές σας στο Web. Μπορείτε να εκτελέσετε τη δοκιμαστική σουίτα γραμμένη με Selenium σε πολλά προγράμματα περιήγησης όπως Firefox, Chrome, IE, Safari κ.λπ.

Ε. Δυνατότητα δοκιμής μεταξύ συσκευών

Το Selenium Test Automation χρησιμοποιείται για αυτοματισμούς δοκιμών εφαρμογών ιστού για κινητές συσκευές σε διάφορες συσκευές όπως Android, IOS. 

ΣΤ. Απομακρυσμένη εκτέλεση ή cloud:

Το Selenium GRID σάς παρέχει τη δυνατότητα να εκτελείτε και να ελέγχετε το σενάριο δοκιμής αυτοματισμού της εφαρμογής ιστού σας στο cloud, κάνοντας ένα σύστημα ως τον κύριο κόμβο και άλλο σύστημα ως τον δευτερεύοντα κόμβο, οι δευτερεύοντες κόμβοι συνδέονται σε έναν κύριο κόμβο και ο κύριος κόμβος παρακολουθεί τον σκλάβος κόμβοι, οπότε οι δοκιμές σας βρίσκονται σε διαφορετικούς κόμβους με το διαφορετικό λειτουργικό σύστημα και διαφορετικά προγράμματα περιήγησης, όπως Chrome, Firefox, Internet Explorer κ.λπ.

G. Ικανότητα παράλληλων δοκιμών:

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

Η. Συμβατότητα με εργαλεία και τεχνολογία πολλαπλών πλαισίων και τρίτων

Το πλαίσιο Selenium μπορεί εύκολα να ενσωματωθεί με πολλαπλές διάφορες τεχνολογίες και πλαίσια τρίτων, όπως διαφορετικά πλαίσια Unit Test, π.χ. ΔοκιμήNg, JUnit, MbUnit, Nunit κ.λπ., διαφορετικά εργαλεία κατασκευής όπως Ant, Maven, Gradle κ.λπ., εργαλεία συνεχούς ενοποίησης, π.χ. Jenkins, διαφορετικά εργαλεία διαχείρισης δοκιμών όπως Jira, testlink κ.λπ., διάφορα εργαλεία αναφοράς όπως Allure, Extent Αναφορά κλπ.

I. Εκτέλεση προγράμματος περιήγησης Headless: 

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

Μπορείτε βασικά να χρησιμοποιήσετε htmlΠρογράμματα οδήγησης μονάδας or οδηγός φαντασμάτων για την χωρίς κεφαλή εκτέλεση με το Selenium.  

Μειονεκτήματα του σεληνίου:

  • Υποστήριξη εγγενών εφαρμογών που βασίζεται σε παράθυρο, δεν υπάρχει: 
    • Το Selenium χρησιμοποιείται για την αυτοματοποίηση της εφαρμογής Web Bade, αλλά δεν παρέχει υποστήριξη για εγγενείς εφαρμογές ή εφαρμογές που βασίζονται σε παράθυρα.
  • Εξαντλητικός αυτοματισμός βάσει εικόνας: 
    • Το Selenium δεν παρέχει εξαντλητική υποστήριξη για την αυτοματοποίηση προβλημάτων ή εφαρμογών που βασίζονται στην εικόνα, αν και μπορούμε να χρησιμοποιήσουμε ορισμένα εργαλεία τρίτων όπως το Sikuli, λύσεις βασισμένες σε Tesseract που μπορούν να ενσωματωθούν στο Selenium για να κάνουν τη δουλειά που σχετίζεται με τις επικυρώσεις / λειτουργίες εικόνας ή Εξαγωγές και επικυρώσεις δεδομένων εικόνας, έχουν επίσης ορισμένους περιορισμούς, όπως μπορεί να αντιμετωπίσετε προβλήματα με Παράλληλη δοκιμή, προσδιορισμό χειρόγραφου εγγράφου και επικύρωση αυτών που βρίσκονται στη διαδικασία αυτοματοποίησης της εφαρμογής σας, εάν υπάρχουν τέτοιες περιπτώσεις χρήσης.
  • Ενσωμάτωση με εργαλεία τρίτων: 
    • Ένα μειονέκτημα της ενσωμάτωσης με πολλά εργαλεία τρίτων με το σελήνιο είναι ότι μερικές φορές το σενάριο αυτοματοποίησης μπορεί να γίνει πιο αργό.
  • Πλαίσιο σεληνίου Ανάπτυξη:
    • Ο σχεδιασμός και η ανάπτυξη ενός προηγμένου πλαισίου αυτοματισμού δοκιμής με το Selenium απαιτεί πολλή εμπειρογνωμοσύνη στο σελήνιο και δεν είναι πολύ ευθεία προς τα εμπρός για τη δημιουργία ενός πλαισίου αυτοματισμού με πολλά εργαλεία μαζί με το Selenium.
  • Ειδικά προβλήματα προγράμματος περιήγησης: 
    • Ενδέχεται να αντιμετωπίσετε ορισμένα ζητήματα που αφορούν ειδικά το πρόγραμμα περιήγησης ενώ εργάζεστε με το Selenium, ειδικά με το IE, μερικές φορές ενδέχεται να μην μπορείτε να χειριστείτε ενέργειες στο Web, όπως κλικ, πλήκτρα αποστολής κ.λπ. και το πρόγραμμα περιήγησης μπορεί να είναι νεκρό. Ως εκ τούτου, πρέπει να έχετε εκ των προτέρων γνώσεις για να χειριστείτε αυτές τις περιοχές ενώ αυτοματοποιείτε την εφαρμογή που είναι ενσωματωμένη στο Bootstrap JS και την εκτελείτε σε πρόγραμμα περιήγησης IE.
    • Επίσης, ενδέχεται να αντιμετωπίσετε προβλήματα συμβατότητας του προγράμματος περιήγησης με τις εκδόσεις Selenium Webdriver. πρέπει να βεβαιωθείτε ότι χρησιμοποιείτε το συμβατό Firefox, το Chrome ή οποιοδήποτε άλλο πρόγραμμα περιήγησης που χρησιμοποιείτε με την έκδοση του Selenium Webdriver.
  • Καμία επίσημη υποστήριξη: 
    • Όπως όλα τα άλλα εργαλεία ανοιχτού κώδικα, το σελήνιο είναι επίσης ένα εργαλείο ανοιχτού κώδικα, πράγμα που σημαίνει ότι δεν θα έχετε επίσημη υποστήριξη για τα προβλήματά σας, όπως οποιοδήποτε Εργαλείο επί πληρωμή, παρόλο που υπάρχει πολύ μεγάλη υποστήριξη κοινότητας, μπορείτε να συνεργαστείτε μαζί τους με τη δήλωση προβλήματος , αλλά αυτό μπορεί να είναι πολύ χρονοβόρο.

Στοιχεία σεληνίου: 

Το σελήνιο ως εργαλείο έχει τα παρακάτω στοιχεία, τα οποία είναι: 

IDE σεληνίου:

  • Το περιβάλλον Selenium IDE ή Selenium Integrated Development είναι η πιο αρχική έκδοση του Selenium για Αυτοματοποίηση Εφαρμογών Ιστού.
  • Το Selenium IDE είναι ένα είδος εργαλείου εγγραφής και αναπαραγωγής, το οποίο μπορείτε να χρησιμοποιήσετε ως πρόσθετο του προγράμματος περιήγησης και να καταγράψετε την ενέργεια ιστού από τις εφαρμογές σας και αυτό μπορεί να αποθηκευτεί ως σενάριο και αργότερα μπορείτε να εκτελέσετε το ίδιο εγγεγραμμένο σενάριο για εκτέλεση και εκτέλεση επικυρώσεις.
  • Αλλά έχει λίγους περιορισμούς όπως:
    • Πρέπει να εκτελέσετε το εγγεγραμμένο σενάριο, η τροποποίηση του σεναρίου δεν είναι τόσο ευέλικτη ή δεν μπορείτε να αξιοποιήσετε τη χρήση πεζών-κεφαλαίων και σεναρίων στη δική σας ανεξάρτητη προσέγγιση.
    • Η εκτέλεση είναι πολύ αργή στη φύση.
    • Υποστηρίζει σε μεγάλο βαθμό τον Firefox, αν και υπάρχουν ορισμένες τροποποιήσεις που μπορείτε να κάνετε για να εκτελέσετε το εγγεγραμμένο σενάριο σε άλλα προγράμματα περιήγησης, όπως το Google Chrome.
    • η παράλληλη εκτέλεση δεν υποστηρίζεται.
    • Η δοκιμή για φορητές συσκευές δεν υποστηρίζεται.
    • Η δημιουργία αναφορών δεν είναι αρκετά καλή.
  • Στην πραγματικότητα είναι πολύ προκαταρκτική έκδοση του Selenium, χρησιμοποιώντας αυτό μπορείτε να κάνετε πολύ περιορισμένη δοκιμή αυτοματισμού για τις εφαρμογές Ιστού σας.

Σελήνιο RC

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

Πώς λειτουργεί το Selenium RC εσωτερικά:

Το Selenium RC αποτελείται από δύο βασικά στοιχεία, όπως το Selenium Server, το Selenium Client.

Ο διακομιστής Selenium ξεκινά τα προγράμματα περιήγησης και εκτελεί τις εντολές σεληνίου που έχετε γράψει ως δοκιμαστικό σενάριο αυτοματοποίησης χρησιμοποιώντας βιβλιοθήκες πελατών Selenium που διατίθενται σε διαφορετικές γλώσσες.

Ο διακομιστής Selenium μετατρέπει τις εντολές / δοκιμαστικά σενάρια σε κάτι που ονομάζεται Selenese εντολές και λειτουργεί ως διακομιστής μεσολάβησης HTTP.

Ο διακομιστής Selenium αλληλεπιδρά με τη μηχανή προγράμματος περιήγησης Web και εκτελεί τη λειτουργία Web που προσπαθείτε να αυτοματοποιήσετε ως μέρος δοκιμαστικών περιπτώσεων για την εφαρμογή υπό δοκιμή.

Βήματα για τη χρήση του Selenium RC: 

  • Εγκαταστήστε τον διακομιστή Selenium-RC.
    • Δημιουργήστε ένα έργο χρησιμοποιώντας τη γλώσσα προγραμματισμού και τη γλώσσα που θέλετε για το πρόγραμμα οδήγησης του προγράμματος περιήγησης.
  • Εγκαταστήστε τον διακομιστή σεληνίου
    • Μπορείτε να ρυθμίσετε τον διακομιστή Selenium απλώς κατεβάστε το αρχείο selenium-server.jar και εκτελέστε το στο σύστημά σας χρησιμοποιώντας την παρακάτω εντολή: 
    • java -jar selenium -server.jar
  • Γράψτε το σενάριο χρησιμοποιώντας βιβλιοθήκες πελατών Selenium και το ίδιο χρησιμοποιώντας τον διακομιστή Selenium.

Περιορισμοί του Selenium RC:

  • Στο Selenium Remote control, ο οδηγός αυτοματισμού και το πρόγραμμα περιήγησης γίνονται λίγο πιο αργοί γιατί ο κινητήρας του προγράμματος περιήγησης δεν αλληλεπιδρά άμεσα, αλλά το Selenium RC εγχέει javascript στον κινητήρα του προγράμματος περιήγησης, που αναφέρεται επίσης ως Selenium Core.
  • Ο διακομιστής που πρέπει να είναι σε λειτουργία πριν και κατά τη διάρκεια της εκτέλεσης του σεναρίου δοκιμής.
  • Οι προχωρημένες ενέργειες Ιστού δεν μπορούν να αυτοματοποιηθούν και να αντιμετωπιστούν χρησιμοποιώντας το Selenium RC, όπως κίνηση του ποντικιού, διπλό κλικ, λήψη εισόδου από το πληκτρολόγιο κ.λπ. κ.λπ. σε αντίθεση με το Selenium Webdriver.
  • Το Selenium RC δεν υποστηρίζει δοκιμές εφαρμογών για κινητά.
  • Το Selenium RC εξαρτάται από το πραγματικό πρόγραμμα περιήγησης για να εκτελέσει το σενάριο δοκιμών αυτοματισμού και δεν υποστηρίζει το πρόγραμμα περιήγησης χωρίς κεφαλή, όπως HTMLUnitDriver ή GHostDriver κ.λπ. σε αντίθεση με το Selenium Webdriver.

Selenium WebDriver:

Το Selenium Webdriver είναι η εκ των προτέρων έκδοση μεταξύ των στοιχείων του Selenium, η οποία είναι πολύ ισχυρή και υποστηρίζει επίσης την εκ των προτέρων αλληλεπίδραση Ιστού και επίσης δεν αλληλεπιδρά με το Πρόγραμμα περιήγησης μέσω Javascript σε αντίθεση με το Selenium RC και έχει επίσης την υποστήριξη δοκιμών εφαρμογών για κινητά. Πολύ συχνά αναφέρεται ως μέρος του Selenium 2.0.

Το WebDriver μπορεί να χειριστεί δυναμικά στοιχεία και επίσης υποστηρίζει παράλληλη εκτέλεση με πολλά διαφορετικά προγράμματα περιήγησης.

Θα έχουμε μια λεπτομερή συζήτηση στα επόμενα τμήματα.

Πλέγμα σεληνίου: 

Το Selenium GRID είναι ένα άλλο στοιχείο του Selenium μέσω του οποίου μπορείτε να έχετε την απομακρυσμένη εκτέλεση του σεναρίου δοκιμής αυτοματοποίησης δημιουργώντας κόμβους master-slave. Το Selenium GRID υποστηρίζει παράλληλες δοκιμές στο ίδιο πρόγραμμα περιήγησης καθώς και σε πολλά προγράμματα περιήγησης. 

Θα έχουμε περαιτέρω συζήτηση για το Selenium GRID στις επόμενες ενότητες.

WebDriver 3.0

Το Selenium 3.0 είναι η πιο πρόσφατη έκδοση των εξαρτημάτων Selenium που είναι βασικά ο συνδυασμός του WebDriver 2.0 και της εξέλιξης του GRID 3.

Σε αυτό το επόμενο τμήμα, πρόκειται να συζητήσουμε το Λεπτομερής αρχιτεκτονική Selenium WebDriver, και τελικά, απεικονίζει πώς λειτουργεί το Selenium εσωτερικά,.

Αρχιτεκτονική Selenium Webdriver  :

Υπάρχουν πέντε βασικά χαρακτηριστικά ή στοιχεία ως μέρος της αρχιτεκτονικής Selenium Webdriver: 

    

  • Βιβλιοθήκη πελατών Selenium ή δεσμεύσεις γλώσσας προγραμματισμού Selenium
  • Πρωτόκολλο WebDriver ή JSON Wire Protocol μέσω HTTP
  • Προγράμματα οδήγησης προγράμματος περιήγησης
  • Μηχανή προγραμμάτων περιήγησης
  • Μηχανή απόδοσης προγράμματος περιήγησης
Αρχιτεκτονική Selenium Webdriver
Selenium Tutorial-Selenium Webdriver αρχιτεκτονική

Βιβλιοθήκες πελατών Selenium ή δεσμεύσεις γλωσσών προγραμματισμού: 

Το Selenium παρέχει διαφορετική γλωσσική δέσμευση, δηλαδή τις βιβλιοθήκες πελατών για την υποστήριξη πολλαπλών διαφορετικών γλωσσών ως μέρος του σεναρίου Αυτοματοποίησης Ανάπτυξης και Αυτοματισμού. Για παράδειγμα, σελήνιο με C #, Σελήνιο με Java, Σελήνιο με Python κ.λπ.

Πρωτόκολλο WebDriver ή JSON WIRE PROTOCOL:

JSON που βασικά σημαίνει JavaScript Object Notation. Αυτό το πρωτόκολλο αναφέρεται επίσης ως πρωτόκολλο WebDriver, που χρησιμοποιείται για μεταφορά δεδομένων διακομιστή-πελάτη μέσω του διαδικτύου. Κάθε πρόγραμμα περιήγησης προγράμματος περιήγησης (π.χ. FirefoxDriver, ChromeDriver κ.λπ.) έχει το δικό του διακομιστή HTTP και χρησιμοποιεί αυτό το πρωτόκολλο για τη μεταφορά δεδομένων μέσω των υπόλοιπων υπηρεσιών Web με τη μορφή αιτήματος HTTP και απόκρισης HTTP.

 Προγράμματα οδήγησης προγράμματος περιήγησης:

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

Όταν εκτελείται το σενάριο αυτοματισμού, επικοινωνεί απευθείας με προγράμματα οδήγησης προγράμματος περιήγησης και τελικά με το αντίστοιχο πρόγραμμα περιήγησης. Το αίτημα και η απόκριση μεταφέρονται μέσω HTTP αίτησης και HTTP απάντησης.

Μηχανή προγράμματος περιήγησης:

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

Μηχανή απόδοσης προγράμματος περιήγησης: 

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

Με λίγα λόγια, η αρχιτεκτονική Selenium Webdriver και η λειτουργικότητα εργασίας :

Το Selenium-WebDriver καλεί απευθείας το πρόγραμμα περιήγησης χρησιμοποιώντας την εγγενή υποστήριξη κάθε προγράμματος περιήγησης για αυτοματοποίηση και τη μηχανή JavaScript. Ο τρόπος πραγματοποίησης αυτών των κλήσεων και οι δυνατότητες που υποστηρίζουν εξαρτώνται από το πρόγραμμα περιήγησης που χρησιμοποιείτε.

Δεν φορτώνει JavaScript όπως το Selenium-RC όταν φορτώνεται το πρόγραμμα περιήγησης.

Η ακόλουθη συχνότητα εμφανίζεται κατά την εκτέλεση του σεναρίου Webdriver:

  •  Κάνουμε το scripting αυτοματισμού χρησιμοποιώντας οποιαδήποτε γλώσσα δέσμευσης (Java / C # κ.λπ.), και ενεργοποιεί το API WebDriver ενώ το σενάριο βρίσκεται σε εκτέλεση.
  •   Το σενάριο και τελικά οι εντολές (π.χ. driver.findElement (By.id ("idName"))) είναι μετατρέπεται σε JavaScript εσωτερικά.
  •   Χρησιμοποιώντας το Browser Engine, είναι και πάλι μετατράπηκε ξανά σε JSON, το οποίο είναι ένα είδος ζεύγους κλειδιού-τιμής.
  •   Αφού λάβετε την αντίστοιχη τιμή του αντίστοιχου κλειδιού, Προσδιορίζει τα αντίστοιχα WebElements και εκτελεί τις αντίστοιχες ενέργειες χρήστη (όπως κλικ, πλήκτρα αποστολής κ.λπ.).
  •   Όλη η επικοινωνία γίνεται με χρήση α Κλήση πρωτοκόλλου JSON-Wire ή Webdriverκαι οι επικοινωνίες συμβαίνουν μέσω HTTP με τη μορφή Rest API ως αίτημα HTTP και απόκριση HTTP.

Selenium συνήθεις ερωτήσεις: 

Ποιοι είναι οι τύποι WebDriver API που διατίθενται στο Selenium;

Το Selenium Webdriver είναι μια διεπαφή και έχει διαφορετικές συνδέσεις γλώσσας για διαφορετικές γλώσσες προγραμματισμού όπως Java, C #, python κ.λπ., 

Το Selenium Webdriver έχει κυρίως δύο διαφορετικές παραλλαγές όπως: 

  • Τοπικό πρόγραμμα οδήγησης web Selenium.
  • Selenium Web πρόγραμμα οδήγησης τηλεχειριστήριο. 

Το Selenium Web driver Local χρησιμοποιεί το API για να εργαστεί με τη συγκεκριμένη δέσμευση γλώσσας και μπορείτε να συνεργαστείτε με αυτά με τοπική εκτέλεση, ενώ από την άλλη πλευρά εάν θέλετε να εκτελέσετε σενάρια αυτοματοποίησης δοκιμών στο Remote, τότε πρέπει να χρησιμοποιήσετε το απομακρυσμένα API προγράμματος οδήγησης ιστού Selenium.

Εξηγήστε Ποια είναι τα σενάρια που δεν μπορούμε να αυτοματοποιήσουμε χρησιμοποιώντας το σελήνιο;

Το Selenium δεν παρέχει τρόπο αυτοματοποίησης των παρακάτω τομέων πτυχών της εφαρμογής, οι οποίες είναι: 

  • Δοκιμή απόδοσης της Εφαρμογής
  • Δοκιμή Ασφαλείας των Εφαρμογών.
  • Επεξεργασία και αυτοματοποίηση βάσει εικόνας
  • Αυτοματισμός που βασίζεται σε Captcha.
  • Σενάρια ροής βίντεο.
  • Εγγενής εφαρμογή ή εφαρμογές που βασίζονται σε παράθυρο.
  • Εφαρμογές ροής

Διαφορά μεταξύ Selenium 2.0 και Selenium 3.0;

  • Για το Selenium 2.0 η ελάχιστη απαίτηση είναι Java 1.7, από την άλλη πλευρά για το Selenium 3.0, η ελάχιστη απαιτούμενη έκδοση Java είναι 1.8
  • Το Selenium 3.0 απαιτεί GeckOdriver για Firefox έκδοση άνω των 47, αλλά αυτό δεν ισχύει για το Selenium 2.0 
  • Το Selenium 3.0 υποστηρίζει σύγχρονο πρόγραμμα περιήγησης όπως Edge, Safari κτλ. αλλά από την άλλη για Selenium 2.0, πρόγραμμα περιήγησης για Mozilla, Chromedriver, IE που έχει αναπτυχθεί από προγραμματιστές Selenium.
  • Στο Selenium 3, καταργήθηκε η υποστήριξη για δοκιμές αυτοματισμού κινητών, π.χ. AndroidDriver και iPhoneDriver, και πρέπει να χρησιμοποιήσετε εργαλεία όπως Appium για δοκιμές αυτοματισμού φορητών συσκευών, κάτι που δεν ισχύει για το Selenium 2.0.
  • Το Selenium 3.0 δεν υποστηρίζει το πρόγραμμα οδήγησης Headless, δηλαδή το HTMLUnitWebDriver, αλλά το Selenium 2.0 έχει την υποστήριξη για εκτέλεση Headless, δηλαδή με HTMLUnitDriver ή ghostdriver.
  • Στο Selenium 3, το Selenium WebDriver έχει γίνει πρότυπο W3C. Από την άλλη πλευρά, το Selenium Webdriver στο Selenium 2.0 δεν ανήκει στο πρότυπο W3C.

Συμπέρασμα : Με αυτό ολοκληρώνουμε το πρώτο τμήμα του Εγχειρίδιο σεληνίου σεμινάριο κάλυμμα Τι είναι το Selenium , Selenium Webdriver Αρχιτεκτονική, Επισκόπηση σεληνίου, Πλεονεκτήματα και μειονεκτήματα του σεληνίου, Στο επερχόμενο τμήμα του Σεμινάριο σεμινάριο ενότητα 2 θα συζητήσουμε για την εγκατάσταση σεληνίου, π.χ. ρύθμιση, εντολές σεληνίου και άλλα βασικά, ενδιάμεσα και προχωρημένα θέματα του σεληνίου

Αφήστε ένα σχόλιο

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται *

Μεταβείτε στην κορυφή