2016-03-30 10 views
10

Ich möchte Sie fragen, wie Sie die Chrome-Entwicklerkonsole während der Ausführung von Selentests öffnen können. Derzeit, wenn Tests ausgeführt werden, und ich öffne die Konsole manuell mit F12, die Tests nicht mehr sofort reagieren und schlägt nach einiger Zeit fehl.So öffnen Sie die Chrome Developer-Konsole in Selenium WebDriver mit JAVA

Kann mir jemand sagen, wie ich meine Tests mit geöffneter Entwicklerkonsole einleiten kann, damit ich die Konsolenfehler, die während der Testausführung auftreten, beobachten kann.

Antwort

12

Sie können nicht. Der Chrome-Treiber verwendet das Chrome-Remote-Debugprotokoll, um mit dem Browser zu kommunizieren. Dies ist das gleiche Protokoll, das auch von der Entwicklerkonsole verwendet wird. Leider ist Chrome so konzipiert, dass nur ein Client gleichzeitig mit dem Protokoll verbunden werden kann, dh entweder die Entwickler-Tools oder der Treiber, aber nicht beide gleichzeitig.

+0

Also, was ist die beste (nächste) Arbeit um dies zu tun? – Uziii

+0

@Uziii Protokollierung !! kein anderer geht –

0

Haben Sie versucht, die wichtigsten Presseereignisse für die Verknüpfung zum Öffnen der Entwicklerwerkzeuge in Chrome zu simulieren?

Dies ist nicht ideal und in einem strengen Testregime würden Sie eine Plattformerkennung benötigen, um sicherzustellen, dass Sie sowohl Mac als auch Windows abdecken. Ich würde absolut empfehlen, dies zu vermeiden (auch wenn es funktioniert), aber es ist ein mögliches Workaround, wenn Sie wirklich müssen.

Ich habe das Gefühl, es kann auch Fokus des Fensters selbst verlieren, wenn Sie dies tun. Wenn dies der Fall ist, benötigen Sie etwas wie das Folgende: -

String parentHandle = driver.getWindowHandle(); // get the current window handle 
// do your dev tool stuff here 
driver.switchTo().window(parentHandle); // switch back to the original window 

Hoffe, das hilft.

Nützlicher Link, wenn es Sie überall bekommt: How to handle the new window in Selenium WebDriver using Java?

Edit: Gerade wieder lesen Sie die Frage und glaube nicht, das sowieso arbeiten. Ihre Komponententests sollten Fehler in der Logik Ihres Codes erfassen. Ihre Selentests sollten nur Benutzerfahrten testen und Fehler erfassen, wenn die Benutzerreise abgebrochen wird. Sie sollten nie Code Logik/Fehler werfen durch einen Selen-Test testen.

Verwandte Themen