Firefox 配置文件服务
您想使用特定扩展运行 Firefox 浏览器,或者需要设置一些首选项?Selenium 允许您通过将此配置文件作为 base64
字符串传递到所需功能中的 moz:firefoxOptions.profile
属性来使用 Firefox 浏览器的配置文件。这需要构建该配置文件并将其转换为 base64
。此wdio 测试运行器服务将编译配置文件的工作从您的手中解放出来,并允许您从 wdio.conf.js
文件中轻松定义所需选项。
要查找所有可能的选项,请在您的 Firefox 浏览器中打开about:config,或访问mozillaZine网站以查找有关每个设置的完整文档。除此之外,您还可以定义在测试开始前应安装的已编译(例如 *.xpi
)Firefox 扩展。
安装
最简单的方法是将 @wdio/firefox-profile-service
作为开发依赖项保存在您的 package.json
中,通过
npm install @wdio/firefox-profile-service --save-dev
有关如何安装 WebdriverIO
的说明,请参见此处。
配置
通过将 firefox-profile
服务添加到您的服务列表中来设置您的配置文件。然后像这样在 firefoxProfile
属性中定义您的设置
// wdio.conf.js
export const config = {
// ...
services: [
['firefox-profile', {
extensions: [
'/path/to/extensionA.xpi', // path to .xpi file
'/path/to/extensionB' // or path to unpacked Firefox extension
],
'xpinstall.signatures.required': false,
'browser.startup.homepage': 'https://webdriverio.node.org.cn',
legacy: true // only use for firefox <= 55
}]
],
// ...
};
如果您构建了一个自定义 Firefox 扩展,并希望将其安装到浏览器中,请确保将 'xpinstall.signatures.required':
false` 设置为配置文件标志,因为 Firefox 扩展需要由Mozilla 签名。
要使用自定义未签名的扩展,您还需要使用Firefox 开发者版,因为常规 Firefox 48 及更高版本不允许这样做。
选项
包含所有设置,以键值对的形式呈现。您可以在 about:config
页面上找到所有可用的设置。
扩展
向浏览器会话添加一个或多个扩展。所有条目可以是 .xpi
文件的绝对路径,也可以是解压缩的 Firefox 扩展目录的路径。
类型:String[]
默认值:[]
配置文件目录
通过设置该配置文件的绝对路径,基于现有配置文件创建 Firefox 配置文件。
类型:String
默认值:null
代理
设置网络代理设置。参数 proxy
是一个哈希表,其结构取决于必填 proxyType
键的值,该键采用以下字符串值之一
direct
- 直接连接(无代理)system
- 使用操作系统代理设置pac
- 基于autoconfigUrl
键的值使用自动代理配置集manual
- 手动代理设置,使用以下键的值为不同的协议分别定义:ftpProxy
、httpProxy
、sslProxy
、socksProxy
类型:Object
默认值:null
示例
-
自动代理
// wdio.conf.js
export const config = {
// ...
services: [
['firefox-profile', {
proxy: {
proxyType: 'pac',
autoconfigUrl: 'http://myserver/proxy.pac'
}
}]
],
// ...
}; -
手动 HTTP 代理
// wdio.conf.js
export const config = {
// ...
services: [
['firefox-profile', {
proxy: {
proxyType: 'manual',
httpProxy: '127.0.0.1:8080'
}
}]
],
// ...
}; -
手动 HTTP 和 HTTPS 代理
// wdio.conf.js
export const config = {
// ...
services: [
['firefox-profile', {
proxy: {
proxyType: 'manual',
httpProxy: '127.0.0.1:8080',
sslProxy: '127.0.0.1:8080'
}
}]
],
// ...
};
旧版
如果您使用 Firefox v55 或更低版本,请将此标志设置为 true
。
类型:Boolean
默认值:false
有关 WebdriverIO 的更多信息,请参阅主页。