【发布时间】:2017-06-08 18:44:12
【问题描述】:
我是一名 QA 分析师,具有一些 JS 知识,并且正在使用 Selenium Webdriverjs 进行一些自动化。该站点需要用户名/密码,因此它是使用嵌入式凭据进行设计的(https://user:password@address.com)。然而,随着本周 Chrome 59 的最新更新,此功能不再被允许,即使作为配置更改也是如此。有谁知道如何处理当您到达需要它的站点时出现的身份验证框?我试过把它当作一个警告框,不相信它是一个模态窗口。任何帮助将不胜感激。
【问题讨论】:
-
您在使用 Active Directory 吗? Chrome 和 IE 共享一个 Internet 设置,如果有,可以自动响应这些请求。
-
感谢您的信息。不,不使用 AD,我正在运行 Mac OS。 Selenium 启动一个单独的/新的浏览器实例,因此现有的浏览器设置都不可用。这有助于测试以防止缓存信息影响测试结果。但这意味着任何浏览器设置都需要通过脚本传入。这个凭证盒真难倒我。
-
您能否澄清您在使用屏幕截图时遇到的问题?但是您应该能够使用 chrome 选项加载带有保存密码的自定义配置文件并加载您的用户配置文件。另一种方法是包含 Robot.js 并让 robotsjs 与对话进行交互。
-
感谢 Rup 提供的信息,我将查看 Robot.js 并使用自定义配置文件。 profile 方法可能不是一个好方法,因为我不想尝试避免测试中的任何环境损坏。我认为与消息框交互是一种更好的方法。我将使用我尝试与之交互的屏幕截图来更新问题。现在,作为一个临时(但 hackey)修复,我包含了第二个
get,它可以工作。任何帮助都将不胜感激。
标签: javascript selenium selenium-webdriver selenium-chromedriver