Κατεβάστε το Geckodriver για Firefox & Selenium
⚡ Έξυπνη Σύνοψη
GeckoDriver για Firefox και Selenium λειτουργεί ως ενδιάμεσος διακομιστής μεταξύ των πελατών W3C WebDriver και του Mozilla Firefox, μεταφράζοντας εντολές σε Mariπρωτόκολλο onette. Αυτός ο οδηγός εξηγεί την εγκατάσταση, τις τεχνικές αρχικοποίησης, το δείγμα κώδικα, τις συνήθεις εξαιρέσεις και τα πλεονεκτήματα συμβατότητας πυρήνα.

Σε τι βρίσκεται το GeckoDriver Selenium?
Ο όρος Gecko σημαίνει μια μηχανή περιήγησης ιστού ενσωματωμένη στο Mozilla. Firefox πρόγραμμα περιήγησης. Το GeckoDriver λειτουργεί ως διακομιστής μεσολάβησης μεταξύ των πελατών με δυνατότητα WebDriver (Eclipse, NetBeans, IntelliJ IDEA, κ.λπ.) και το Mozilla Firefox πρόγραμμα περιήγησης. Με λίγα λόγια, το GeckoDriver χρησιμεύει ως σύνδεσμος μεταξύ Selenium Δοκιμές WebDriver και Mozilla Firefox.
Πριν Selenium 3, το Mozilla Firefox πρόγραμμα περιήγησης ήταν το προεπιλεγμένο πρόγραμμα περιήγησης για Selenium. Μετά Selenium 3, οι δοκιμαστές πρέπει να αρχικοποιήσουν το σενάριο για να το χρησιμοποιήσουν Firefox μέσω του GeckoDriver ρητά. Selenium χρησιμοποιεί το πρωτόκολλο W3C WebDriver για την αποστολή αιτημάτων στο GeckoDriver, το οποίο τα μεταφράζει σε ένα πρωτόκολλο με όνομα Mariμοναχική. Firefox τότε καταλαβαίνει τις εντολές transmitted στο Mariμορφή πρωτοκόλλου onette και τα εκτελεί.
Πλεονέκτημα της χρήσης του GeckoDriver
Selenium Η έκδοση 2.53 του WebDriver δεν είναι συμβατή με το Mozilla Firefox έκδοση 47.0+. Η κληρονομιά Firefox πρόγραμμα οδήγησης που χρησιμοποιήθηκε σε παλαιότερες εκδόσεις του Mozilla Firefox Οι εκδόσεις έχουν διακοπεί και μόνο η υλοποίηση GeckoDriver μπορεί να χρησιμοποιηθεί σήμερα. Επομένως, οι δοκιμαστές πρέπει να χρησιμοποιούν το GeckoDriver για να εκτελούν αυτοματοποιημένες δοκιμές στο Mozilla. Firefox έκδοση 47.0 και νεότερη.
Το κύριο πλεονέκτημα της χρήσης του GeckoDriver σε σχέση με το παλαιότερο Firefox οδηγός είναι συμβατότηταΤο GeckoDriver βασίζεται στο Πρωτόκολλο W3C WebDriver να επικοινωνήσει με SeleniumΤο W3C είναι ένα παγκοσμίως καθορισμένο πρότυπο για το WebDriver. Αυτό σημαίνει Selenium Οι προγραμματιστές δεν χρειάζεται να δημιουργούν μια νέα έκδοση προγράμματος οδήγησης για κάθε έκδοση προγράμματος περιήγησης. Η ίδια υλοποίηση WebDriver μπορεί να χρησιμοποιηθεί σε πολλές εκδόσεις προγράμματος περιήγησης, γι' αυτό και το GeckoDriver προτιμάται έναντι των παλαιότερων. Firefox οδηγός.
Πώς να κατεβάσετε και να εγκαταστήσετε το GeckoDriver στο Selenium
Το GeckoDriver διανέμεται ως εκτελέσιμο αρχείο που μπορεί να ληφθεί απευθείας στο σύστημά σας. Ακολουθήστε τα παρακάτω βήματα για να κατεβάσετε και να εγκαταστήσετε το GeckoDriver για Selenium αυτοματοποίηση.
Βήμα 1) Επιλέξτε την κατάλληλη έκδοση.
Στην επίσημη σελίδα κυκλοφοριών https://github.com/mozilla/geckodriver/releases, επιλέξτε την κατάλληλη έκδοση GeckoDriver που ταιριάζει με το λειτουργικό σας σύστημα και την αρχιτεκτονική σας.
Βήμα 2) Extracτο αρχείο ZIP.
Μόλις ολοκληρωθεί η λήψη του αρχείου ZIP, π.χ.tracμεταφέρετε τα περιεχόμενά του σε έναν φάκελο στο μηχάνημά σας.
Βήμα 3) Σημειώστε τη θέση του οδηγού.
Καταγράψτε τη διαδρομή του φακέλου όπου κάνατε την εκτέλεσηtracted το πρόγραμμα οδήγησης. Αυτή η τοποθεσία θα χρησιμοποιηθεί αργότερα για την δημιουργία του προγράμματος οδήγησης από το δοκιμαστικό σας σενάριο.
Τρόποι αρχικοποίησης του GeckoDriver
Υπάρχουν τρεις διαφορετικοί τρόποι για να αρχικοποιήσετε το GeckoDriver στο Selenium σενάρια δοκιμών. Επιλέξτε αυτό που ταιριάζει καλύτερα στο πλαίσιο δοκιμών σας και Selenium εκδοχή.
1. Χρήση DesiredCapabilities
Αρχικά, ορίστε την ιδιότητα συστήματος για το GeckoDriver.
Σύνταξη:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
Παράδειγμα:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Στη συνέχεια, ορίστε τις Επιθυμητές Δυνατότητες. Βοήθεια με τις Επιθυμητές Δυνατότητες Selenium κατανοήστε το όνομα του προγράμματος περιήγησης, την έκδοση και το λειτουργικό σύστημα που απαιτούνται για την εκτέλεση των αυτοματοποιημένων δοκιμών. Παρακάτω είναι ο κώδικας για τη ρύθμιση παραμέτρων του GeckoDriver χρησιμοποιώντας την κλάση DesiredCapabilities.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
Εδώ είναι ο πλήρης κώδικας:
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2. Χρησιμοποιώντας MariΑκίνητο Ονέτ
Το GeckoDriver μπορεί επίσης να αρχικοποιηθεί χρησιμοποιώντας την ιδιότητα marionette όπως φαίνεται παρακάτω.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Εάν το GeckoDriver αρχικοποιηθεί χρησιμοποιώντας την παραπάνω μέθοδο, ο κώδικας Επιθυμητών Δυνατοτήτων είναι δεν απαιτείται.
3. Χρησιμοποιώντας FirefoxΕπιλογές
Mozilla Firefox η έκδοση 47+ εκθέτει το Mariπρόγραμμα οδήγησης onette ως παλαιότερο σύστημα. Εκμεταλλευόμενος αυτό, το MariΟ οδηγός onette μπορεί να κληθεί μέσω Firefox Επιλογές όπως φαίνονται παρακάτω.
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code για την έναρξη Firefox Χρήση του GeckoDriver
Ο ακόλουθος JUnitΤο παράδειγμα που βασίζεται σε - δείχνει ένα πλήρες, εκτελέσιμο Selenium δοκιμή που ξεκινά Firefox μέσω του GeckoDriver και μεταβαίνει σε μια επίδειξη URL.
package com.guru99.demo;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
public class GeckoDriverDemo {
String driverPath = "D:\\Guru99Demo\\GeckoDriver.exe";
public WebDriver driver;
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
driver = new FirefoxDriver(capabilities);
}
@Test
public void navigateToUrl() {
driver.get("https://demo.guru99.com/selenium/guru99home/");
}
@After
public void endTest() {
driver.quit();
}
}
Code εξήγηση
@Πριν τη μέθοδο
Αρχικά, ορίσαμε την ιδιότητα συστήματος για το GeckoDriver στην τοποθεσία λήψης του geckodriver.exe. Ορίσαμε επίσης την ιδιότητα marionette σε true, ώστε Selenium χρησιμοποιεί το Mariπρωτόκολλο onette για επικοινωνία με το GeckoDriver. Τέλος, ξεκινάμε το Firefox μια παρουσία προγράμματος περιήγησης χρησιμοποιώντας το αντικείμενο Desired Capabilities.
Οι ακόλουθες δηλώσεις επιτυγχάνουν αυτήν τη ρύθμιση.
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
@Μέθοδος ελέγχου
Μεταβαίνουμε στο καθορισμένο από τον χρήστη URL χρησιμοποιώντας την ενσωματωμένη get μέθοδος που παρέχεται από Selenium WebDriver, όπως φαίνεται παρακάτω.
driver.get("https://demo.guru99.com/selenium/guru99home/");
@Μετά τη μέθοδο
Τέλος, κλείνουμε την παρουσία του προγράμματος περιήγησης χρησιμοποιώντας το quit μέθοδος.
driver.quit();
Τροποποίηση σεναρίου από μη-γκέκο σε γκέκο
Σενάρια που δεν είναι GeckoDriver και χρησιμοποιήθηκαν προηγουμένως Selenium 3 ήταν απλά. Απλώς δημιουργήσατε μια παρουσία του Firefox πρόγραμμα οδήγησης και χρησιμοποίησε τη μεταβλητή παρουσίας.
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
Για να μετατρέψετε το σενάριο για το GeckoDriver, χρειάζεται να προσθέσετε μόνο μία γραμμή κώδικα που να οδηγεί στη θέση geckodriver.exe.
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
Συνήθεις εξαιρέσεις που παρουσιάστηκαν κατά τη χρήση του GeckoDriver
Ακολουθεί μια λίστα με συνήθεις εξαιρέσεις που προκύπτουν κατά τη χρήση του GeckoDriver, μαζί με τις λύσεις τους.



