Selenium RemoteWebDriver和Windows身份验证对话框

时间:2016-08-15 08:35:23

标签: selenium selenium-webdriver windows-authentication remotewebdriver

我已经看过这个问题已被问过几次,并且建议了很多解决方案 - 但它们似乎都不适用于 RemoteWebDriver (即:使用Selenium Grid)。它们通常以使用本地ChromeDriver / FirefoxDriver / IEDriver类为中心。

顺便说一下,我正在使用.NET绑定。)。

我想做的事情相当简单(就要求而言)。我有一个Selenium Server设置,我目前正在使用RemoteWebDriver在各种站点上执行自动UI测试。此设置工作正常。

但是,有些网站使用NTLM / Windows身份验证,我们需要开始为这些网站编写自动化测试。但是,据我所知,没有解决方案。

我已经看到了以下“解决方案”,但是 - 除非有人可以纠正我 - 他们要么不能正常工作,要么无法使用RemoteWebDriver:

  • 使用IAlert功能(如here)。但是,这并没有在.NET绑定中实现,并且据我所知,并不适用于所有浏览器。
    • 使用Robot API与弹出窗口进行交互(如here)。但这适用于在本地计算机上运行,​​而不受RemoteWebDriver支持。
    • 使用AutoIt对Robot API执行类似的操作。但是,使用RemoteWebDriver时无法正常工作。
    • 传递网址中的凭据(例如:http://username:password@example.com)。但是,这不适用于Windows身份验证 - 只是普通的HTTP基本身份验证。

除非其他人可以提供帮助,否则我实际上看不到任何其他解决方案?

目前的解决方法是登录Selenium服务器,转到每个浏览器中的站点,然后保存凭据。但这并不理想,并为每项测试增加了一定程度的手动互动。

任何帮助将不胜感激:)。

1 个答案:

答案 0 :(得分:0)

看来我找到了自己的解决方案 - 使用代理自动添加NTLM协商/授权。设置非常简单:)。

http://cntlm.sourceforge.net/