Webdriverio: ¿Hay alguna forma de agregar una extensión a Chrome en webdriverio?

Creado en 2 abr. 2015  ·  4Comentarios  ·  Fuente: webdriverio/webdriverio

En realidad, necesito abrir páginas con la extensión instalada en cualquier navegador (no específicamente Chrome). Entonces puede ser firefox o phantomjs (no estoy seguro si es posible).

Entonces, ¿hay alguna forma de ejecutar chrome / firefox / phantom a través de webdriverio con la extensión preinstalada, y si la hay, cómo puedo hacerlo?

¡Gracias por adelantado!

Comentario más útil

sí, eso funciona

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

Todos 4 comentarios

¡Sí hay! Puede tener la propiedad chromeOptions en su capacidad deseada. Este objeto tiene una propiedad llamada extensions que toma la cadena base64 de su archivo crx . Encontrará más información https://sites.google.com/a/chromium.org/chromedriver/capabilities

sí, eso funciona

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

¡Hola! ¡Gracias por compartir su enfoque!
@ d668 ¿ Tal vez tuvo algún problema similar mientras trabajaba en agregar una extensión a sus pruebas?
Intenté agregar una extensión y, después de ejecutar una prueba,
Tengo un error:
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 necesitas empaquetar la extensión. Abra chrome: // extensiones y haga clic en Empaquetar extensión. Generará el paquete .crx y la clave .pem. Después de eso, puede usar la clave .pem para generar paquetes para usted. Puede usar esta biblioteca para https://github.com/Constellation/crxmake

¿Fue útil esta página
0 / 5 - 0 calificaciones