是否可以在不创建“私有Chrome窗口” (没有缓存或cookie )的情况下,使用Google Chrome运行WebdriverIO测试用例。
我要启动Chrome浏览器,但要使用Chrome的cookie和缓存,而不是完全默认的状态
场景:我正在Chrome上登录到后端,该后端设置了我在本地主机上使用的令牌。当我通过Webdriverio运行测试时,它没有令牌,必须再次进行登录过程。
因此,在终端中,如果我运行打开的http://localhost:3001
,Chrome将打开应用程序而无需再次登录。
!注意::我不想在测试中经历登录过程……我只想在手动登录后使用Chrome中存储的会话令牌。
答案 0 :(得分:1)
首先,测试工具从空白状态浏览器启动应该不会让您感到震惊。谁希望测试上下文被以前的浏览,设置,Cookie等污染?其次,我觉得您想自动化一个任务有点可笑,但是却不介意再执行3-5个步骤来成功执行登录。
如果您需要在Chrome实例中添加大量配置( cookie,本地存储,扩展名,用户和密码),那么自定义Chrome Profiles是您所需要的正在寻找。
您基本上是在尝试使用一组特定的配置生成Chrome。这些通常保存在默认文件夹中(路径:/Users/YourUserHere/Library/Application Support/Google/Chrome/Default
)。
!注意:该路径可能因操作系统而异,因此建议的方法是打开新的Chrome标签并输入{{1 }}。我们在此处寻找的设置是个人资料路径。
将默认文件夹的内容存储在指定的资产文件夹中
通过chrome://version
Chromium CLI switch将路径添加到自定义Chrome配置中:
--user-data-dir
'goog:chromeOptions': {
// 'moz:firefoxOptions': {
args: [ '--no-sandbox',
'--disable-gpu',
'--start-fullscreen',
'--disable-notifications',
'--user-data-dir=/Path/To/Your/CustomConfigsFolder',
],
}
}
运行测试并检查配置是否已成功导入。注意::我认为我在this答案上以更一般的方式解决了这个问题。进行检查,也许可以帮助您进行设置。