Webdriverio: Existe alguma maneira de adicionar extensão ao Chrome no webdriverio?

Criado em 2 abr. 2015  ·  4Comentários  ·  Fonte: webdriverio/webdriverio

Na verdade, preciso abrir páginas com extensão instalada em qualquer navegador (não especificamente no Chrome). Portanto, pode ser firefox ou phantomjs (não tenho certeza se é possível).

Então, existe alguma maneira de executar chrome / firefox / phantom via webdriverio com extensão pré-instalada e se houver - como posso fazer isso?

Desde já, obrigado!

Comentários muito úteis

sim, isso funciona

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

Todos 4 comentários

Sim existe! Você pode ter a propriedade chromeOptions em sua propriedade desejada. Este objeto tem uma propriedade chamada extensions que pega a string base64 do seu arquivo crx . Você encontrará mais informações https://sites.google.com/a/chromium.org/chromedriver/capabilities

sim, isso funciona

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

Olá! Obrigado por compartilhar sua abordagem!
@ d668 Talvez você tenha tido algum problema semelhante ao trabalhar para adicionar uma extensão aos seus testes?
Tentei adicionar uma extensão e, após a execução de um teste,
Recebi um erro:
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 você precisa embalar a extensão. Abra chrome: // extensions e clique em Pack extension. Ele irá gerar um pacote .crx e uma chave .pem. Depois disso, você pode usar a chave .pem para gerar pacotes para você. Você pode usar esta biblioteca para esse https://github.com/Constellation/crxmake

Esta página foi útil?
0 / 5 - 0 avaliações