WebDriverIO:使用浏览器会话和 cookie 启动 Chrome
WebDriverIO: Starting Chrome with browser sessions & cookies
是否可以 运行 使用 Google Chrome 的 WebdriverIO 测试用例,而不创建 "private Chrome window"(没有缓存或 cookies)。
我想启动 Chrome 浏览器我想使用来自 Chrome 的 cookie 和缓存,而不是完全默认状态
场景: 我在 Chrome 上登录我们的后端,它设置了一个我在本地主机上使用的令牌。当我 运行 通过 Webdriverio 进行测试时,它没有令牌,我必须再次进行登录过程。
因此,在终端中,如果我 运行 打开 http://localhost:3001
,Chrome 将打开应用程序而无需再次登录。
!注意: 我不想在我的测试中通过登录过程...我只想使用存储在 Chrome 中的会话令牌在我手动登录后。
首先,测试工具从空白状态的浏览器启动,您应该不会感到震惊。谁会希望测试上下文被以前的浏览、设置、cookie 等污染?其次,我觉得有点可笑,你想自动化一个任务,但不关心自动化 3-5 个步骤来执行成功登录。
如果您有一些广泛的配置需要添加到您的 Chrome 实例(cookies、本地存储、扩展、用户和密码),那么自定义 Chrome Profiles 就是您要找的。
- 确定 Chrome 存储 默认 文件夹的位置
您基本上是在尝试使用一组特定的配置生成 Chrome。这些通常保存在 Default 文件夹中(路径:/Users/YourUserHere/Library/Application Support/Google/Chrome/Default
)。
!注意: 此路径可能不同于 OS 到 OS,因此推荐的方法是找出 Chrome 的存储位置您设备上的这些配置是通过打开一个新的 Chrome 选项卡并键入 chrome://version
。我们在这里寻找的设置是配置文件路径。
将您的默认文件夹的内容存储在您指定的资产文件夹中
通过 --user-data-dir
Chromium CLI switch:
添加自定义 Chrome 配置的路径
'goog:chromeOptions': {
// 'moz:firefoxOptions': {
args: [ '--no-sandbox',
'--disable-gpu',
'--start-fullscreen',
'--disable-notifications',
'--user-data-dir=/Path/To/Your/CustomConfigsFolder',
],
}
}
- 运行 使用
browser.debug()
进行测试并检查配置是否已成功导入。
注意: 我想我在 回答中从更一般的意义上解决了这个问题。检查一下,也许它进一步有助于设置它。
是否可以 运行 使用 Google Chrome 的 WebdriverIO 测试用例,而不创建 "private Chrome window"(没有缓存或 cookies)。
我想启动 Chrome 浏览器我想使用来自 Chrome 的 cookie 和缓存,而不是完全默认状态
场景: 我在 Chrome 上登录我们的后端,它设置了一个我在本地主机上使用的令牌。当我 运行 通过 Webdriverio 进行测试时,它没有令牌,我必须再次进行登录过程。
因此,在终端中,如果我 运行 打开 http://localhost:3001
,Chrome 将打开应用程序而无需再次登录。
!注意: 我不想在我的测试中通过登录过程...我只想使用存储在 Chrome 中的会话令牌在我手动登录后。
首先,测试工具从空白状态的浏览器启动,您应该不会感到震惊。谁会希望测试上下文被以前的浏览、设置、cookie 等污染?其次,我觉得有点可笑,你想自动化一个任务,但不关心自动化 3-5 个步骤来执行成功登录。
如果您有一些广泛的配置需要添加到您的 Chrome 实例(cookies、本地存储、扩展、用户和密码),那么自定义 Chrome Profiles 就是您要找的。
- 确定 Chrome 存储 默认 文件夹的位置
您基本上是在尝试使用一组特定的配置生成 Chrome。这些通常保存在 Default 文件夹中(路径:/Users/YourUserHere/Library/Application Support/Google/Chrome/Default
)。
!注意: 此路径可能不同于 OS 到 OS,因此推荐的方法是找出 Chrome 的存储位置您设备上的这些配置是通过打开一个新的 Chrome 选项卡并键入 chrome://version
。我们在这里寻找的设置是配置文件路径。
将您的默认文件夹的内容存储在您指定的资产文件夹中
通过
--user-data-dir
Chromium CLI switch: 添加自定义 Chrome 配置的路径
'goog:chromeOptions': {
// 'moz:firefoxOptions': {
args: [ '--no-sandbox',
'--disable-gpu',
'--start-fullscreen',
'--disable-notifications',
'--user-data-dir=/Path/To/Your/CustomConfigsFolder',
],
}
}
- 运行 使用
browser.debug()
进行测试并检查配置是否已成功导入。
注意: 我想我在