Jusqu'Firefox 47.x libère le pilote a été mis en œuvre comme une extension de Firefox. Cette extension a été installée dans le profil utilisé par le pilote à chaque fois que WebDriver lancé Firefox.
Par conséquent, nous, nous avons utilisé:
WebDriver driver = new FirefoxDriver();
driver.navigate().to("https://gmail.com");
Firefox 48 désactivé l'extension de navigateur et introduit WebDriver. Depuis lors, GeckoDriver
la Marionnette à base de solution, développée et maintenue par Mozilla pour utiliser l'automatisation Navigateur Mozilla Firefox.
Marionnette
Selon Mozilla, la Documentation Officielle sur developer.mozilla.org. La marionnette est l' Automatisation du Pilote. Il utilise le protocole à distance de Firefox qui permet de contrôler l'INTERFACE utilisateur. Marionnette accepte les demandes et les exécute dans Gecko. Il ont aussi un client. Le client envoie des instructions au serveur et le serveur exécute les instructions dans le navigateur.
Donc nous avons commencé à utiliser de la Marionnette:
System.setProperty("webdriver.firefox.marionette","C:\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.navigate().to("https://gmail.com");
Fils
Il y a quelques références à renommer le fichier exécutable ‘wires.exe " et l'ajouter à votre chemin d'accès. Donc les suivants ont été utilisés:
System.setProperty("webdriver.firefox.marionette","C:\\wires.exe");
WebDriver driver = new FirefoxDriver();
driver.navigate().to("https://gmail.com");
GeckoDriver
GeckoDriver est le fichier exécutable que nous avons besoin de télécharger l'intérieur de notre système et de parler de son emplacement dans nos scripts/programmes lors de l'exécution de nos cas de tests. GeckoDriver à son tour, va démarrer le Navigateur Mozilla Firefox.
Ces extraits ont été prises hors de Jim Evan's epic réponse à la question Quels sont les avantages de l'utilisation de la Marionnette FirefoxDriver à la place de la vieille Sélénium FirefoxDriver pour une Sélénium testeur? ce qui nous donne une compréhension détaillée de la façon dont GeckoDriver et de la Marionnette est entré dans la pratique.
Donc nous avons commencé à utiliser geckodriver.exe:
System.setProperty("webdriver.gecko.driver", "C:\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.navigate().to("https://gmail.com");
Maintenant, dans le scénario actuel, vous avez la possibilité d'exécuter votre Automatisation par le biais de l'héritage Firefox 47.x navigateur et récente de Firefox 53.x les versions de navigateur.
Cas d'utilisation 1:
Dans le cas de l'utilisation de l'héritage Firefox 47.x des navigateurs, vous devez définir explicitement "marionnette" à false par DesiredCapabilities classe comme suit:
DesiredCapabilities dc = DesiredCapabilities.firefox();
dc.setCapability("firefox_binary", "C:\\Program Files\\Mozilla Firefox47\\firefox.exe");
dc.setCapability("marionette", false);
WebDriver driver = new FirefoxDriver(dc);
driver.navigate().to("https://gmail.com");
Cas d'utilisation 2:
Dans le cas de l'utilisation de l'héritage Firefox 47.x navigateurs, si vous sautez le paramètre "marionnette" false ou si vous le réglez sur "marionnette" à true, vous pourrez observer une IllegalStateException
Cas d'utilisation 3:
Dans le cas de l'utilisation de Firefox 53.x des navigateurs, vous pouvez choisir d'ignorer le réglage de "marionnette" à vrai comme suit ce qui montre la Marionnette d'INFOS des journaux par exemple, Marionette INFO Listening on port 11105
:
System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.navigate().to("https://gmail.com");
Cas d'utilisation 4:
Dans le cas de l'utilisation de Firefox 53.x des navigateurs, vous pouvez définir explicitement les "marionnettes" à true par DesiredCapabilities classe qui va montrer la Marionnette AVERTIR les journaux ainsi par exemple, WARN TLS certificate errors will be ignored for this session
System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
DesiredCapabilities dc = DesiredCapabilities.firefox();
dc.setCapability("marionette", true);
WebDriver driver = new FirefoxDriver(dc);
driver.navigate().to("https://gmail.com");
Cas d'utilisation 5:
Dans le cas de l'utilisation de Firefox 53.x navigateurs si vous avec force jeu de "marionnette" à false par DesiredCapabilities classe, vous allez observer une UnreachableBrowserException
.