実際、私は任意のブラウザ(特にクロームではない)に拡張機能がインストールされたページを開く必要があります。 したがって、Firefoxまたはphantomjsである可能性があります(それが可能かどうかはわかりません)。
それで、プレインストールされた拡張機能を備えたwebdriverioを介してchrome / firefox / phantomを実行する方法はありますか?もしあれば-どうすればそれを行うことができますか?
前もって感謝します!
はいあります! ご希望のCapabilityにchromeOptions
プロパティを含めることができます。 このオブジェクトには、 crx
ファイルのbase64文字列を受け取るextensions
というプロパティがあります。 詳細については、 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:// extendsを開き、[https://github.com/Constellation/crxmakeに使用でき
最も参考になるコメント
うん、それはうまくいく