Webdriverio: Gibt es eine Möglichkeit, Chrome in webdriverio zu erweitern?

Erstellt am 2. Apr. 2015  ·  4Kommentare  ·  Quelle: webdriverio/webdriverio

Eigentlich muss ich Seiten mit installierter Erweiterung in jedem Browser öffnen (nicht speziell in Chrome). Es kann also Firefox oder Phantomjs sein (nicht sicher, ob es überhaupt möglich ist).

Gibt es eine Möglichkeit, Chrome/Firefox/Phantom über Webdriverio mit vorinstallierter Erweiterung auszuführen, und wenn ja, wie kann ich das tun?

Vielen Dank im Voraus!

Hilfreichster Kommentar

ja, das funktioniert

var data = await fs.readFileSync('./ext.zip');
options.desiredCapabilities.chromeOptions.extensions = [data.toString('base64')];

Alle 4 Kommentare

Ja da ist! Sie können die Eigenschaft chromeOptions in Ihrer gewünschten Fähigkeit haben. Dieses Objekt hat eine Eigenschaft namens extensions , die den base64-String Ihrer crx Datei verwendet. Weitere Informationen finden Sie unter https://sites.google.com/a/chromium.org/chromedriver/capabilities

ja, das funktioniert

var data = await fs.readFileSync('./ext.zip');
options.desiredCapabilities.chromeOptions.extensions = [data.toString('base64')];

Hallo! Danke, dass du deinen Ansatz teilst!
@d668 Vielleicht hatten Sie ein ähnliches Problem, als Sie daran arbeiteten, Ihren Tests eine Erweiterung hinzuzufügen?
Ich habe versucht, eine Erweiterung hinzuzufügen, und nach dem Ausführen eines Tests
Ich habe einen Fehler:
ERROR webdriver: Request failed due to unknown error: unknown error: cannot process extension #1 from unknown error: cannot read manifest

 maxInstances: 5,
        "goog:chromeOptions": {
            extensions: [(function () {
                try {
                    const webExt = fs.readFileSync('./extension.zip').toString('base64');
                    return webExt;
                } catch (e) {
                    console.log(e, 'An error occurred while to parse extension zip file!');
                }
            })()],
            args: ['--headless', '--disable-gpu']
        },

@Madebyspeedster Sie müssen die Erweiterung packen. Öffnen Sie chrome://extensions und klicken Sie auf Erweiterung packen. Es generiert ein .crx-Paket und einen .pem-Schlüssel. Danach können Sie den .pem-Schlüssel verwenden, um eigene Pakete zu generieren. Sie können diese Bibliothek dafür verwenden https://github.com/Constellation/crxmake

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

kiraLinden picture kiraLinden  ·  3Kommentare

sarahdayan picture sarahdayan  ·  4Kommentare

davidsoderberg picture davidsoderberg  ·  4Kommentare

christian-bromann picture christian-bromann  ·  3Kommentare

mrahman2327 picture mrahman2327  ·  3Kommentare