2014-04-09 6 views
11

Ich verwende Google Chrome mit Intern, um automatisierte Tests auszuführen, und ich würde gerne wissen, ob es möglich ist, Chrome im Emulationsmodus über CLI zu starten oder ein bestimmtes Flag zum Testen des mobilen Renderings zu verwenden. Wenn nicht, wissen Sie eine gute Abhilfe?Starten der Chrome-Emulation über die Befehlszeile

Ich könnte direkt den Android Emulator (von Android SDK) mit Selenium Webdriver apk oder mit Handy-Chrome verwenden, aber Tests stürzen die meiste Zeit, Emulatoren reagieren nicht und ich muss es neu starten. Außerdem muss ich auf den größtmöglichen Umfang testen, nicht nur auf Android-Geräte. Chrome auf dem Desktop ist viel stabiler und selbst wenn ein Test fehlschlägt, antwortet Chrome immer und kann automatisch von Intern geschlossen werden.

Ich habe versucht, einen Workaround mit dem Flag "--enable-touch-events" und mit einem benutzerdefinierten userAgent, aber es erzeugt seltsame Verhaltensweisen. Vielleicht würden mir andere Flaggen helfen?

Vielen Dank im Voraus für Ihre Antwort.

Antwort

8

Dies ist derzeit not possible in Chrome.

Es ist ein Feature, das ich mich selbst habe ich habe will auch so weitergemacht und abgelegt unter dem folgenden Link für eine Feature-Anfrage:

https://code.google.com/p/chromium/issues/detail?id=373169&thanks=373169&ts=1400050662

ich meine Finger bin überqueren, aber es wouldn Es tut dir weh, wenn du und andere Leute daran interessiert sind und einen Kommentar zu dem Thread hinterlassen haben. Je mehr Leute danach fragen, desto höher ist die Chance, dass sie umgesetzt wird. Und es scheint, als wäre es trivial zu implementieren, da es derzeit nur ein paar Mausklicks benötigt, um in den Emulationsmodus zu gelangen.

+0

ich nützlich finden würde dies so angestarrt haben –

0

Selen ermöglicht es Benutzern, Chrome auf einem mobilen Gerät mit Code wie folgt zu emulieren:

Map<String, String> mobileEmulation = new HashMap<>(); 
mobileEmulation.put("deviceName", "Nexus 5"); 

ChromeOptions chromeOptions = new ChromeOptions(); 
chromeOptions.setExperimentalOption("mobileEmulation", mobileEmulation); 
WebDriver driver = new ChromeDriver(chromeOptions);