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']},
},
您不必每次使用扩展时都设置它,只需执行一次,然后它就会出现在那里