Node.js 有没有办法对chrome扩展运行webdriver.io selenium测试?

Node.js 有没有办法对chrome扩展运行webdriver.io selenium测试?,node.js,selenium,webdriver-io,Node.js,Selenium,Webdriver Io,我在想一些关于 capabilities: [ { maxInstances: 1, browser: "Chrome", name: "Chrome" }, { maxInstances: 1, browser: "Chrome", options: "myIeExtension", name: "IE" } ] 名称位是可选的,但非常方便 编辑:

我在想一些关于

capabilities: [
    {
        maxInstances: 1,
        browser: "Chrome",
        name: "Chrome"
    },
    {
        maxInstances: 1,
        browser: "Chrome",
        options: "myIeExtension",
        name: "IE"
    }
]
名称位是可选的,但非常方便

编辑: 目前我有

const fs = require('fs');
function encode(file) {
    const stream = fs.readFileSync(file);
    return Buffer.from(stream).toString('base64');
}

capabilities: [
{
  maxInstances: 1,
  browserName: 'chrome',
  chromeOptions: { extensions: [encode('path_to_my_crx_file/my_extension.crx')] },
}
],

这是可行的,但每次我运行selenium测试时,我都必须通过扩展介绍-输入电子邮件、密码,选择此选项并启动。作为测试的一部分,有没有办法让selenium输入所有这些值?

这样您就可以如上所述,在ChromeOptions中指定chrome扩展的路径。但是,每次都必须设置它

或者,只需使用默认配置文件:

  capabilities: [
{
  maxInstances: 1,
  browserName: 'chrome',
  chromeOptions: { args: ['user-data-dir=/home/<username>/.config/google-chrome'] },
},
功能:[
{
主要实例:1,
browserName:“chrome”,
chromeOptions:{args:['user-data-dir=/home/.config/google chrome']},
},
您不必每次使用扩展时都设置它,只需执行一次,然后它就会出现在那里