WebDriverIO:使用浏览器会话和Cookie启动Chrome

时间:2019-10-21 23:18:58

标签: selenium selenium-webdriver selenium-chromedriver webdriver-io

是否可以在不创建“私有Chrome窗口” 没有缓存或cookie )的情况下,使用Google Chrome运行WebdriverIO测试用例。

我要启动Chrome浏览器,但要使用Chrome的cookie和缓存,而不是完全默认的状态

场景:我正在Chrome上登录到后端,该后端设置了我在本地主机上使用的令牌。当我通过Webdriverio运行测试时,它没有令牌,必须再次进行登录过程。

因此,在终端中,如果我运行打开的http://localhost:3001,Chrome将打开应用程序而无需再次登录。

!注意::我不想在测试中经历登录过程……我只想在手动登录后使用Chrome中存储的会话令牌。

1 个答案:

答案 0 :(得分:1)

首先,测试工具从空白状态浏览器启动应该不会让您感到震惊。谁希望测试上下文被以前的浏览,设置,Cookie等污染?其次,我觉得您想自动化一个任务有点可笑,但是却不介意再执行3-5个步骤来成功执行登录。


如果您需要在Chrome实例中添加大量配置( cookie,本地存储,扩展名,用户和密码),那么自定义Chrome Profiles是您所需要的正在寻找。

  1. 确定Chrome存储默认文件夹的位置

您基本上是在尝试使用一组特定的配置生成Chrome。这些通常保存在默认文件夹中(路径:/Users/YourUserHere/Library/Application Support/Google/Chrome/Default )。

!注意:该路径可能因操作系统而异,因此建议的方法是打开新的Chrome标签并输入{{1 }}。我们在此处寻找的设置是个人资料路径

  1. 默认文件夹的内容存储在指定的资产文件夹中

  2. 通过chrome://version Chromium CLI switch将路径添加到自定义Chrome配置中:


--user-data-dir
  1. 使用'goog:chromeOptions': { // 'moz:firefoxOptions': { args: [ '--no-sandbox', '--disable-gpu', '--start-fullscreen', '--disable-notifications', '--user-data-dir=/Path/To/Your/CustomConfigsFolder', ], } } 运行测试并检查配置是否已成功导入。

注意::我认为我在this答案上以更一般的方式解决了这个问题。进行检查,也许可以帮助您进行设置。