Das Problem:
Vor einigen Monaten haben wir einen Test für eine Funktion mit mehreren Tabs hinzugefügt, bei dem die Tabs mit CTRL/COMMAND + t
geöffnet und mit den Tastenkombinationen CTRL/COMMAND + v
geschlossen werden.
Relevante Hilfsfunktionen:
%Vor% Kürzlich hat es mit einem Fehler Expected 1 to be greater than 1
fehlgeschlagen, was bedeutet, dass ein neuer Tab nicht geöffnet wurde. Und ich habe bestätigt, dass beide Tastenkombinationen nicht mehr funktionieren.
Warum hat das Öffnen und Schließen von Tabs mit Shortcuts aufgehört?
Mit dem aktuellsten Protractor 2.1.0 und ChromeDriver 2.15 (auch mit den neuesten 2.16 versucht, kein Glück).
Gedanken und weitere Informationen:
Zuerst dachte ich, es handelt sich um ein Chrome 44-Problem:
Aber mit BrowserStack
habe ich das Problem auch bei älteren Chrome-Versionen reproduziert.
Es funktioniert in Firefox wie ein Uhrwerk.
body
-Element in den Protokollen BrowserStack
gesendet wurde, aber im Browser passiert nichts. Ich habe versucht, die Art zu ändern, wie die Schlüssel gesendet werden. Hier sind einige meiner Versuche:
%Vor%Auch auf den Beta-Kanal umgeschaltet und das gleiche Problem auf Chrome 46 reproduziert.
Als Workaround kann ich zum Öffnen eines Tabs CTRL/COMMAND + SHIFT + click
auf jedem Link innerhalb der Anwendung ausführen:
Das Problem hier ist, dass ich die Registerkarte immer noch nicht schließen kann, da CTRL/COMMAND + w
nicht funktioniert.
Es ist nicht nur ein Winkelmesser. Hier ist ein Ausschnitt aus Python-Code, der google.com öffnet, "testing" in das Suchfeld einfügt und COMMAND + A
an das Eingabefeld sendet. In Firefox verhält es sich wie erwartet - wählt den Text im Eingabefeld aus, aber das funktioniert nicht in Chrome (Python 2.7, Selen 2.47.1, Chrome 46, Chromedriver 2.17):
Ich denke, ich bin viel näher dran zu verstehen, was vor sich geht.
Zunächst scheint es betriebssystemspezifisch zu sein. Meine eigenen Tests mit BrowserStack und Madhan's Tests mit Sauce Labs haben gezeigt, dass Tastaturkürzel mit CONTROL in Chrome 44 unter Windows funktionieren.
Hier finden Sie ein Zitat aus dem relevanten damit verbundenen offenen Chrom-Fehler :
>Dieser Fehler ist besonders auf dem Mac bemerkbar , weil viele spezielle Die Schlüsselbehandlung erfolgt in der Renderansicht Hostansicht mac, die oben angezeigt wird wo wir das Ereignis simulieren.
Dies führt zu einigen Dingen wie Strg + w schließt das Fenster nicht (auf Windows), Befehl + a wählt alle auf dem Mac, usw. Das ist bedauerlich aber kann größtenteils herum gearbeitet werden.
Ich habe mit sauclabs von chromeVersion 38 bis 44
getestetUnd es funktionierte nur auf 44.v44.0.2403.125 um genau zu sein auf Saucen [Getestet auf lokale [44.0.2403.130 m] als auch]
Und ich habe ChromeDriver 2.17 und SeleniumWebDriver 2.47.1
verwendet Ich habe es in Java
only.Hope versucht, es ist das gleiche für Javascript
Tags und Links javascript google-chrome selenium selenium-webdriver protractor