Webdriverio: Есть ли способ добавить расширение к Chrome в webdriverio?

Созданный на 2 апр. 2015  ·  4Комментарии  ·  Источник: webdriverio/webdriverio

На самом деле мне нужно открывать страницы с расширением, установленным в любом браузере (не конкретно в Chrome). Так что это может быть firefox или phantomjs (не уверен, возможно ли это вообще).

Итак, есть ли способ запустить chrome / firefox / phantom через webdriverio с предустановленным расширением, и если есть - как это сделать?

Заранее спасибо!

Самый полезный комментарий

да, это работает

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

Все 4 Комментарий

Да, есть! У вас может быть свойство chromeOptions в желаемой способности. Этот объект имеет свойство с именем extensions которое принимает строку base64 вашего файла crx . Дополнительную информацию можно найти на https://sites.google.com/a/chromium.org/chromedriver/capabilities.

да, это работает

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

Привет! Спасибо, что поделились своим подходом!
@ d668 Может быть, у вас была похожая проблема, когда вы работали над добавлением расширения в свои тесты ??
Я попытался добавить расширение, и после запуска теста
У меня ошибка:
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 вам нужно упаковать расширение. Откройте chrome: // extensions и нажмите Упаковать расширение. Он сгенерирует пакет .crx и ключ .pem. После этого вы можете использовать ключ .pem для создания собственных пакетов. Вы можете использовать эту библиотеку для этого https://github.com/Constellation/crxmake

Была ли эта страница полезной?
0 / 5 - 0 рейтинги