Webdriverio: Existe-t-il un moyen d'ajouter une extension à Chrome dans webdriverio ?

Créé le 2 avr. 2015  ·  4Commentaires  ·  Source: webdriverio/webdriverio

En fait, j'ai besoin d'ouvrir des pages avec l'extension installée dans n'importe quel navigateur (pas spécifiquement Chrome). Cela peut donc être firefox, ou phantomjs (je ne sais pas si c'est possible).

Alors, existe-t-il un moyen d'exécuter chrome/firefox/phantom via webdriverio avec l'extension préinstallée , et s'il y en a, comment puis-je le faire ?

Merci d'avance!

Commentaire le plus utile

ouais ça marche

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

Tous les 4 commentaires

Oui il y a! Vous pouvez avoir la propriété chromeOptions dans votre capacité souhaitée. Cet objet a une propriété appelée extensions qui prend la chaîne base64 de votre fichier crx . Vous trouverez plus d'informations https://sites.google.com/a/chromium.org/chromedriver/capabilities

ouais ça marche

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

Salut! Merci d'avoir partagé votre approche !
@ d668 Peut-être avez-vous eu un problème similaire en travaillant sur l'ajout d'une extension à vos tests ??
J'ai essayé d'ajouter une extension, et après l'exécution d'un test,
J'ai une erreur :
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, vous devez emballer l'extension. Ouvrez chrome://extensions et cliquez sur Pack extension. Il générera le pack .crx et la clé .pem. Après cela, vous pouvez utiliser la clé .pem pour générer des packs pour vous. Vous pouvez utiliser cette bibliothèque pour cela https://github.com/Constellation/crxmake

Cette page vous a été utile?
0 / 5 - 0 notes