Ich versuche, meinen ersten Test durch Appium auszuführen und den folgenden Fehler zu erhalten.
%Vor%Appium-Protokolle:
%Vor%Ich möchte nur den standardmäßigen Android-Browser und nicht Chrome verwenden. Ich weiß nicht, warum Appium versucht, Chrome Driver und Chrome Browser zu starten. Unten ist der Code, den ich benutzt habe.
%Vor%Der sicherste Weg für Android-Fähigkeiten = DesiredCapabilities.android ()
PS: Sie haben keine Sitzung erstellt, weil Ihr Skript keine Verbindung zu selen Knoten / Hub herstellen kann. Sie sollten Ihre Konfiguration überprüfen
Wie in Ihrem post stacktrace, verbindet es sich mit http: // **: 9515 / (nicht wie in Ihrem erwähnten Port 4723)
Sie müssen die folgende URL auf http://0.0.0.0:9515/wd/hub
anstelle von ****:4723
...
WebDriver driver = new RemoteWebDriver(new URL(http://****:4723/wd/hub), capabilities);
Der Port des Chromedrivers ist standardmäßig 9515, nicht 4723. Sie sollten die Dokumentation dazu lesen. Es gibt andere Funktionen, die richtig eingestellt werden müssen (wie BROWSER_NAME
)
Obwohl dieses Problem ziemlich alt ist, hat sich die Definition des appium-Clients in Verbindung mit den Chrome-Treiber-Versions-Updates stark verändert. Aber was ich herausfinden konnte war, dass das Problem hier in den Logs lag:
FEHLER: Fehler: Chromedriver Create Session hat nicht funktioniert. Status war 200 und Körper war {"sessionId": "ba9a494082776d6b4836da850072cbcb", "status": 13, "wert": {"nachricht": "unbekannt Fehler: Geräteemulator-5554 wird bereits verwendet \ n (Treiberinfo: chromedriver = 2.9.248315, Plattform = Windows NT 6.1 SP1 x86) "}}
was zu folgendem führte:
org.openqa.selenium.SessionNotCreatedException: Eine neue Sitzung könnte nicht erstellt werden. (Ursprünglicher Fehler: Keine Sitzungsweiterleitung von erhalten Chromedriver ) (ACHTUNG: Der Server hat keinen StackTrace bereitgestellt Information)
und daher SessionNotCreatedException .
Eine einfachere Lösung besteht darin, sicherzustellen, dass keine andere Sitzung läuft, bevor eine andere initiiert wird, um Konflikte zwischen Ports und Sitzungsfehlern zu vermeiden.
Versuchen Sie, nach dem Kommentieren der Anweisung
zu laufen %Vor%