Webdriverio: Standard-Browserprofil öffnen

Erstellt am 15. Okt. 2014  ·  7Kommentare  ·  Quelle: webdriverio/webdriverio

Ich versuche, eine Seite zu testen, die einige Browsererweiterungen und Plugins verwendet. Bei der von Webdriverio geöffneten Browserinstanz werden jedoch standardmäßig alle Erweiterungen entfernt, und meine Tests schlagen fehl. In Chrome habe ich versucht, --user-data-dir an chromeOptions zu übergeben, um das Standardprofil zu laden. Während chrome : // version / überprüft, ob das Profil geladen wurde, scheint es eine Reihe von Befehlszeilenoptionen zu geben, die dieses und überschreiben Meine Erweiterungen sind immer noch weg. In Firefox werden meine Erweiterungen entfernt und alle Plugins auf "Nach Aktivierung fragen" gesetzt. Gibt es eine Problemumgehung dafür?

Question Selenium Related

Hilfreichster Kommentar

Wenn es helfen kann, könnte ich eine Erweiterung wie diese laden:

desiredCapabilities: {
                    browserName: 'chrome',
                    "chromeOptions": {
                        "args": [
                            "load-extension="+__dirname+"/test/extensions/adblock",
                            "lang=de-DE","window-size=1280,800"]
                    }
                }

Der Erweiterungspfad, der auf die unkomprimierte Adblock-Chrome-Erweiterung verweist (die ich im Google OS X-Anwendungsunterstützungsverzeichnis auf meinem Computer gefunden habe).

Alle 7 Kommentare

Ich habe einmal eine Chrome-Erweiterung über chromeOptions.extensions hinzugefügt. Vielleicht könnten Sie versuchen, Ihre Erweiterungen in base64 zu verschlüsseln und es auf die gleiche Weise tun. Abgesehen davon habe ich keine weiteren Erfahrungen mit der Erweiterung in Selenium und ich habe nie versucht, ein vorhandenes Benutzerprofil zu laden. Wie stellen Sie Ihre gewünschten Fähigkeiten ein?

Dies betrifft jedoch auch Plugins. Wenn ich beispielsweise testen möchte, ob ein HTML5-Video-Fallback-Player funktioniert, ist er standardmäßig deaktiviert. Ich versuche nur, das Standardprofil zu laden, kein separates Benutzerprofil, aber es scheint, dass der Webdriver benutzerdefinierte Flags setzt, um Plugins und Erweiterungen zu deaktivieren. Haben Sie eine Idee, wie Sie den Browser einfach mit den Standardeinstellungen öffnen können?

mhm .. wenn Flaggen nicht funktionieren, habe ich keine Ideen mehr. Hatte noch nie diesen Anwendungsfall. Könnten Sie mir Ihre Situation etwas genauer erklären? Ich verstehe immer noch nicht ganz, was die Erweiterungsrolle hier ist?

Ich vermute, dass dies jetzt eher ein Selenium-Problem als ein WebdriverIO-Problem ist. Aber ich werde hier ein bisschen mehr Infos hinzufügen, um klar zu sein.

Ich möchte testen, ob eine HTML5-Video-Polyfüllung beispielsweise auf Flash zurückgreift und Funktionen immer noch ordnungsgemäß funktionieren, wenn bestimmte Bedingungen erfüllt sind / nicht erfüllt werden. Das Standardprofil verhindert jedoch das Laden von Flash, sodass diese Tests immer fehlschlagen.

Am 27. Oktober 2014, um 13:48 Uhr, schrieb Christian Bromann [email protected] :

mhm .. wenn Flaggen nicht funktionieren, habe ich keine Ideen mehr. Hatte noch nie diesen Anwendungsfall. Könnten Sie mir Ihre Situation etwas genauer erklären? Ich verstehe immer noch nicht ganz, was die Erweiterungsrolle hier ist?

- -
Antworte direkt auf diese E-Mail oder sieh sie dir auf GitHub an.

Wenn es helfen kann, könnte ich eine Erweiterung wie diese laden:

desiredCapabilities: {
                    browserName: 'chrome',
                    "chromeOptions": {
                        "args": [
                            "load-extension="+__dirname+"/test/extensions/adblock",
                            "lang=de-DE","window-size=1280,800"]
                    }
                }

Der Erweiterungspfad, der auf die unkomprimierte Adblock-Chrome-Erweiterung verweist (die ich im Google OS X-Anwendungsunterstützungsverzeichnis auf meinem Computer gefunden habe).

Bei mir funktioniert alles. Ich denke, dies wird auch von einem vollständigen Stapel von Technologien beeinflusst, die Sie verwenden. Mine Stack erstellt bei jeder Testausführung ein neues Profil und löscht es anschließend. Es ist leicht zu sehen, was passiert, wenn man nur die Prozesse beim Ausführen von Selen betrachtet. Es wird ein variabler Pfad zu selenium-xxx.jar angezeigt.

Das Schließen ist eher ein Problem von Selenium als von WebdriverIO

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen