2017-01-06 2 views
6

Ich erhalte die folgende Fehlermeldung an, wenn meine Winkelmesser Test für Safari auf dem Mac läuftFehler beim SafariDriver (Safari 10)

Failed to connect to SafariDriver after 10082 ms 
Build info: version: '2.53.1', revision: 'a36b8b1',  
os.arch: 'x86_64', os.version: '10.12.2', java.version: '1.8.0_101' 
Driver info: driver.version: SafariDriver 

Fähigkeit:

 name: 'Safari', 
     browserName: 'safari', 
     logName: 'Safari', 
     shardTestFiles: true, 
     maxInstances: 2 

Haben wir eine bestimmte Safari brauchen Treiber dafür? Wenn ja, wo kann ich es bekommen und wo sollte es in der Datei .conf deklariert werden.

Vielen Dank!

Antwort

3

Ja, Sie müssen a specific safari driver installieren, um es im Winkelmesser zu starten. Und natürlich müssen Sie auf einem Mac sein. Der Winkelmesser ist im Wesentlichen eine Ebene, die auf Selenium aufgebaut ist. Daher müssen Sie den Selenium-Treiber für Safari installieren, der als Safari-Plugin implementiert ist.

Hier ist, was Sie tun müssen:

  1. Laden Sie die Safari-Plugin von here.
  2. Führen Sie das Plugin
  3. Select „Trust“ das Plugin, wenn
  4. von Safari aufgefordert

Der Treiber ist nun installiert und sollten mit Ihrem Winkelmesser Prozess zur Verfügung stehen.

Dies ist der Treiber für Selenium 2.48. Ich konnte keinen neueren Build finden. Wenn diese Treiberversion nicht mit der aktuellen Version von Protractor ausgeführt wird, müssen Sie entweder eine ältere Version des Winkelmessers verwenden, die auf Selenium 2.48 basiert, oder den Safari-Treiber aus der Quelle erstellen .

+0

Vielen Dank! Hier finden Sie die neuesten Builds http://selenium-release.storage.googleapis.com/index.html – CodeJockey

+0

Soweit ich sagen konnte, war 2.48 die neueste Version, die ein Safari-Plugin enthielt. Es könnte einen besseren Ort zum Herunterladen geben, aber ich konnte es nicht finden. –

3

Zunächst wird mit Safari 10 eine neue Treiberimplementierung mitgeliefert. Der alte Treiber (die Erweiterung) ist veraltet. Sie benutzen macOS 10.12.2, also ist es Ihr Fall. Um den neuen Treiber in Safari zu aktivieren, aktivieren Sie das Kontrollkästchen Erlaube Remote-Automatisierung im Menü Develop. Wenn Sie dieses Menü nicht haben, aktivieren Sie es: Einstellungen>Erweiterte>Zeige Develop Menü in der Menüleiste. Starten Sie /usr/bin/safaridriver einmal manuell, um die erforderlichen Berechtigungen zu erteilen.

Zweitens benötigen Sie eine 3.x Version des Selenium Standalone Servers, nicht 2.53.1. Der Befehl, es zu installieren:

sudo webdriver-manager update --versions.standalone 3.0.1 

zu starten:

webdriver-manager start --versions.standalone 3.0.1 

Drittens werden die Sichtbarkeitsprüfungen in den neuen Treiber gebrochen. So funktionieren Dinge wie browser.wait(ExpectedConditions.visibilityOf(myElement), 5000); nicht und führen zu UnsupportedCommandException. Um dies zu beheben, können Sie versuchen, Safari Technology Preview zu installieren und Tests auszuführen (fügen Sie den Funktionen 'safari.options': { technologyPreview: true } hinzu). Aber für mich funktioniert die Vorschau sogar schlechter als die Veröffentlichung. Der Winkelmesser sagt, dass er auf der Seite nicht kantig gefunden werden kann, da sie window.name geändert haben, um nach einer Navigation mit Ursprungsursprung in der Release 19 gelöscht zu werden. Wenn Sie einen Weg finden, es zum Laufen zu bringen, lassen Sie es mich wissen.

Unten finden Sie einige Links, die Sie überprüfen sollten, weil ich etwas übersehen haben könnte.

Verwandte Themen