Wir bauen eine Hybrid Native Anwendung (Cordova/Phonegap/Angular/Ionic).Navigieren Sie zu Url der Hybrid Native App in Appium mit Winkelmesser
Ich schreibe Ende-zu-Ende-Tests in Winkelmesser. Wenn sie lokal ausgeführt werden, werden sie gegen die Anwendung ausgeführt, die vom Ionic-Simulator (ionic serve) bedient wird. Das funktioniert gut.
Ich möchte auch die gleichen Tests gegen die "paketierte/gebaute" Anwendung auf einem Plattform-Simulator, von Sauce Labs (Appium) gehostet. Das funktioniert fast.
Das Problem, das ich gerade habe, navigiert zu der Anwendung. Wenn lokal ausgeführt werden, zu Beginn des Tests werde ich auf die Anwendung von ionischen gehosteten navigieren:
browser.get('http://localhost:8100')
Das ist offensichtlich nicht in einem Simulator funktioniert eine Hybrid-native App läuft. Ich inspizierte die aktuelle URL des Browsers, wenn der Test gestartet und es ist:
file:///android_asset/www/index.html#/login
Das macht Sinn und ist richtig. Aber wenn ich versuche:
schlimme Dinge passieren.
Ich suche eine von zwei Lösungen:
1) zu verstehen, wie für ein Hybrid native App laufen in einem Simulator
OR
2) irgendwie haben den Test zu navigieren URLS weiß, dass es innerhalb des hybriden nativen Cordova-Containers läuft und die Navigation zur Startseite überspringt (da die Anwendung automatisch vom Appium geladen wird).
Danke.
Wenn Sie mit einem 'file: //' Protokoll navigieren möchten, werfen Sie einen Blick auf dieses Q/A - [Öffnen einer Datei mit Winkelmesser] (http://stackoverflow.com/questions/24824491/opening-a -file-mit-Winkelmesser). Außerdem gibt es eine Anleitung für den Winkelmesser für [Mobiles Setup] (https://github.com/angular/protractor/blob/master/docs/mobile-setup.md), die viele Informationen zum Einrichten von Winkelmesser mit Appium enthält. Um den Emulator zu identifizieren, können Sie eine Methode 'isCordova' implementieren, die den User Agent überprüft oder [cordova-plugin-device] (https://github.com/apache/cordova-plugin-device) verwendet, um festzustellen, ob das aktuelle env" mobile "env. –
Wenn Sie versuchen, die gleichen Tests in zwei ziemlich unterschiedlichen Umgebungen auszuführen, sollten Sie vielleicht zwei Protractor-Konfigurationen mit verschiedenen Setups verwenden. –
Dank @MichaelRadionov. Ich verwende bereits separate Winkelmesser Konfigurationen - es wurde natürlich benötigt, um Anmeldeinformationen und Fähigkeiten für Sauce/Appium vs lokal über Ionensimulator bedient zu setzen. Von dem, was ich verstehe, ist das Mobile Setup darauf ausgerichtet, eine Anwendung in einem "normalen" mobilen Browser - also Chrome - zu betreiben, anstatt eine hybride native App zu testen. Die Links, auf die Sie mich hingewiesen haben, sehen sehr hilfreich aus. Ich werde sehen, ob sie später helfen. –