Κατεβάστε το Geckodriver: Πώς να εγκαταστήσετε Firefox Πρόγραμμα οδήγησης για Selenium

Σε τι βρίσκεται το GeckoDriver Selenium?

Ο όρος Gecko σημαίνει μια μηχανή προγράμματος περιήγησης Ιστού που είναι ενσωματωμένη στο Mozilla Firefox πρόγραμμα περιήγησης. Το πρόγραμμα οδήγησης Gecko λειτουργεί ως διακομιστής μεσολάβησης μεταξύ πελατών με ενεργοποιημένο πρόγραμμα οδήγησης Web (Eclipse, Netbeans, κ.λπ.) και Mozilla Firefox πρόγραμμα περιήγησης. Εν ολίγοις, ο οδηγός Gecko λειτουργεί ως σύνδεσμος μεταξύ Selenium Δοκιμές προγραμμάτων οδήγησης Web και Mozilla Firefox περιήγησης.

Πριν Selenium 3, Mozilla Firefox πρόγραμμα περιήγησης ήταν το προεπιλεγμένο πρόγραμμα περιήγησης για Selenium. Μετά Selenium 3, οι δοκιμαστές πρέπει να αρχικοποιήσουν το σενάριο για χρήση Firefox χρησιμοποιώντας ρητά το GeckoDriver. Selenium χρησιμοποιεί το πρωτόκολλο W3C Webdriver για την αποστολή αιτημάτων στο GeckoDriver, το οποίο τα μεταφράζει σε ένα πρωτόκολλο με το όνομα Mariμοναχική. Firefox θα κατανοήσει τις εντολές που μεταδίδονται με τη μορφή Mariπρωτοκόλλου oneette και τα εκτελεί.

GeckoDriver μέσα Selenium

Πώς να κατεβάσετε και να εγκαταστήσετε το GeckoDriver στο Selenium

Το Gecko Driver είναι διαθέσιμο ως εκτελέσιμο αρχείο που μπορεί να ληφθεί στο σύστημα. Ακολουθεί η λίστα με τα βήματα για τη λήψη του προγράμματος οδήγησης gecko.

Βήμα 1 ) Επιλέξτε την κατάλληλη έκδοση.
Σε αυτή τη σελίδα https://github.com/mozilla/geckodriver/releases ,Επιλέξτε την κατάλληλη έκδοση για λήψη του GeckoDriver με βάση το λειτουργικό σας σύστημα

Κατεβάστε και εγκαταστήστε το GeckoDriver στο Selenium

Βήμα 2) Εξαγάγετε το αρχείο ZIP.
Μόλις ολοκληρωθεί η λήψη του αρχείου ZIP, εξαγάγετε τα περιεχόμενα του αρχείου ZIP σε έναν φάκελο αρχείων

Κατεβάστε και εγκαταστήστε το GeckoDriver στο Selenium

Βήμα 3) Σημειώστε την τοποθεσία.
Σημειώστε τη θέση όπου εξάγατε το πρόγραμμα οδήγησης. Η τοποθεσία θα χρησιμοποιηθεί αργότερα για την προετοιμασία του προγράμματος οδήγησης.

Κατεβάστε και εγκαταστήστε το GeckoDriver στο Selenium

Τρόποι προετοιμασίας του GeckoDriver

Υπάρχουν τρεις διαφορετικοί τρόποι προετοιμασίας του GeckoDriver.

1. Χρήση DesiredCapabilities

Αρχικά, ορίστε την ιδιότητα συστήματος για το πρόγραμμα οδήγησης Gecko.

Σύνταξη:

System.setProperty("webdriver.gecko.driver","Path to geckdriver.exe file");

Παράδειγμα:

System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");

Στη συνέχεια, ορίστε τις Επιθυμητές Δυνατότητες.

Οι επιθυμητές δυνατότητες βοηθούν Selenium για να κατανοήσετε το όνομα του προγράμματος περιήγησης, την έκδοση και το λειτουργικό σύστημα για την εκτέλεση των αυτοματοποιημένων δοκιμών. Παρακάτω είναι ο κωδικός για να ρυθμίσετε το πρόγραμμα οδήγησης gecko χρησιμοποιώντας την κλάση 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. Χρήση ιδιοκτησίας μαριονέτας

Το πρόγραμμα οδήγησης Gecko μπορεί επίσης να προετοιμαστεί χρησιμοποιώντας την ιδιότητα marionette όπως παρακάτω

System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");

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

3. Χρησιμοποιώντας FirefoxΕπιλογές

Mozilla Firefox Η έκδοση 47+ έχει πρόγραμμα οδήγησης marionette ως παλαιού τύπου σύστημα. Εκμεταλλευόμενος αυτό, ο οδηγός μαριονέτας μπορεί να κληθεί να χρησιμοποιεί Firefox Επιλογές όπως παρακάτω

FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);

Κώδικας για την εκκίνηση του firefox χρησιμοποιώντας το πρόγραμμα οδήγησης Gecko

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("http://demo.guru99.com/selenium/guru99home/");
    }

    @After
    public void endTest() {
        driver.quit();
    }

}

Επεξήγηση κώδικα

@Πριν τη μέθοδο

Αρχικά, πρέπει να ορίσουμε την ιδιότητα συστήματος για το πρόγραμμα οδήγησης gecko στη θέση λήψης του αρχείου geckdriver.exe. Πρέπει να ορίσουμε την ιδιότητα marionette σε true for Selenium να χρησιμοποιήσουν Mariπρωτόκολλο onette για επικοινωνία με το πρόγραμμα οδήγησης Gecko. Τέλος, πρέπει να ξεκινήσουμε το Firefox παράδειγμα προγράμματος περιήγησης που χρησιμοποιεί το αντικείμενο για επιθυμητές δυνατότητες.

Οι παρακάτω δηλώσεις βοηθούν στην επίτευξη του παραπάνω στόχου.

System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver= new FirefoxDriver(capabilities);

@Μέθοδος ελέγχου

Πλοηγούμαστε σε διεύθυνση URL που καθορίζεται από τον χρήστη χρησιμοποιώντας την ενσωματωμένη μέθοδο "get" που παρέχεται από Selenium πρόγραμμα οδήγησης web. Η παρακάτω δήλωση βοηθά στο να επιτευχθεί το ίδιο.

driver.get("http://demo.guru99.com/selenium/guru99home/");

@Μετά τη μέθοδο

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

driver.quit();

Τροποποιήστε ένα σενάριο για μη Gecko σε Gecko

Μη gecko σενάριο προγράμματος οδήγησης που χρησιμοποιήθηκε στο παρελθόν Selenium Το 3 ήταν απλό. Πρέπει να δημιουργήσουμε ένα παράδειγμα του Firefox πρόγραμμα οδήγησης και χρησιμοποιήστε τη μεταβλητή παρουσίας.

@Before
public void startBrowser() {
    driver = new FirefoxDriver();

}

Για να μετατρέψετε σε γκέκο, πρέπει απλώς να προσθέσετε μία γραμμή κώδικα

    @Before
    public void startBrowser() {
        System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
        driver = new FirefoxDriver();

    }

Συνήθεις εξαιρέσεις εμφανίστηκαν κατά τη χρήση του προγράμματος οδήγησης Gecko

Ακολουθεί μια λίστα με κοινές εξαιρέσεις που προκύπτουν κατά τη χρήση του προγράμματος οδήγησης Gecko και με ανάλυση.

Αυτή η εξαίρεση προκύπτει όταν ο χρήστης προσπαθεί να στιγμιότυπο Firefox πρόγραμμα οδήγησης χωρίς ρύθμιση της ιδιότητας συστήματος για το πρόγραμμα οδήγησης gecko. Αυτό γίνεται συνήθως από αρχάριους σε Selenium που δεν γνωρίζουν τις αλλαγές που έγιναν από Selenium 3 να Selenium ΠΡΟΗΓΟΥΜΕΝΕΣ ΕΚΔΟΣΕΙΣ.

Η λύση για την παραπάνω εξαίρεση είναι να ορίσετε την ιδιότητα συστήματος για το πρόγραμμα οδήγησης gecko με τη θέση του αρχείου geckodriver.exe όπως παρακάτω

System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\geckodriver.exe");

Λάβετε υπόψη ότι πρέπει να ορίσετε την ιδιότητα του προγράμματος οδήγησης gecko πριν δημιουργήσετε μια παρουσία του Mozilla Firefox οδηγός.

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.

Αυτή η εξαίρεση συμβαίνει συνήθως όταν Firefox η έκδοση έχει αναβαθμιστεί στην πιο πρόσφατη έκδοση. Η λύση για αυτήν την εξαίρεση είναι να ενημερώσετε το αρχείο jar του selenium και το πρόγραμμα οδήγησης gecko στην πιο πρόσφατη έκδοση και να χρησιμοποιήσετε το ίδιο.

org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session.

Αυτή η εξαίρεση προκύπτει λόγω προβλημάτων συμβατότητας μεταξύ Selenium και οδηγός Gecko. Το πρόγραμμα οδήγησης Gecko συνεργάζεται με Firefox έκδοση 47 ή νεότερη. Μπορεί να επιλυθεί με ενημέρωση Firefox έκδοση σε 47 ή νεότερη.

WebDriver Exception: Connection Refused

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

  • Χρήση driver.quit() μέθοδος για την καταστροφή προηγούμενων παρουσιών προγράμματος οδήγησης web
  • Καθαρίστε την προσωρινή μνήμη του προγράμματος περιήγησης πριν εκτελέσετε τις αυτοματοποιημένες δοκιμές σας
  • Καθαρίστε τον χώρο εργασίας του έργου μέσα Eclipse IDE
  • Χρησιμοποιείτε πάντα την πιο πρόσφατη έκδοση του προγράμματος οδήγησης selenium gecko και την πιο πρόσφατη έκδοση του Firefox πρόγραμμα περιήγησης

Πλεονέκτημα χρήσης του προγράμματος οδήγησης Gecko

Selenium Η έκδοση 2.53 του προγράμματος οδήγησης Web δεν είναι συμβατή με το Mozilla Firefox έκδοση 47.0+. ο Firefox πρόγραμμα οδήγησης που χρησιμοποιείται σε προηγούμενες εκδόσεις του Mozilla Firefox θα διακοπεί και θα χρησιμοποιηθεί μόνο η εφαρμογή GeckoDriver. Ως εκ τούτου, οι δοκιμαστές αναγκάζονται να χρησιμοποιήσουν το GeckoDriver εάν θέλουν να εκτελέσουν αυτοματοποιημένες δοκιμές στο Mozilla Firefox έκδοση 47.0+. Αλλά το μεγάλο ερώτημα - ποιο είναι το πλεονέκτημα;

Το κύριο πλεονέκτημα της χρήσης του GeckoDriver σε αντίθεση με το προεπιλεγμένο Firefox οδηγός είναι Συμβατότητα. Χρησιμοποιεί το GeckoDriver Πρωτόκολλο W3C WebDriver να επικοινωνήσει με Selenium. Το W3C είναι ένα καθολικά καθορισμένο πρότυπο για το πρόγραμμα οδήγησης Web. Αυτό σημαίνει Selenium Προγραμματιστές (Άτομα που κωδικοποιούν Selenium βάση) δεν χρειάζεται να δημιουργήσετε μια νέα έκδοση του προγράμματος οδήγησης Web για κάθε έκδοση προγράμματος περιήγησης. Το ίδιο πρόγραμμα οδήγησης Ιστού μπορεί να χρησιμοποιηθεί για πολλές εκδόσεις προγράμματος περιήγησης. Ως εκ τούτου, το GeckoDriver προτιμάται σε σύγκριση με την προηγούμενη εφαρμογή του Firefox οδηγός.