一尘不染

如何在Selenium WebDriver中对FirefoxDriver,ChromeDriver和IEdriver执行基本身份验证?

selenium

我正在使用 Selenium-Firefox-driverSelenium-Chrome-Driver 版本2.0a5( Web
Driver API

),并且正在尝试测试具有BASIC身份验证的Web应用程序(当出现以下情况时会弹出一个窗口来对用户进行身份验证我点击任何页面,弹出窗口都不是HTML的一部分。

现在,我需要一种策略来在Firefox,Chrome和IE中对用户进行身份验证(我将很快导入IE驱动程序)。

我读过几篇文章,我可以设置Firefox配置文件,例如:

FirefoxProfile ffProfile = new FirefoxProfile();
ffProfile.setPreference("network.http.phishy-userpass-length", 255);
WebDriver driver = new FirefoxDriver(ffProfile);
driver.get("http://username:password@hostname");

但这似乎对我不起作用。有没有人为这些浏览器提供有效的解决方案?


阅读 240

收藏
2020-06-26

共1个答案

一尘不染

是的,目前尚不支持BASIC HTTP身份验证,但我现在可以将其用于FF和Chrome。

我在问题中编写的代码适用于那些驱动程序。我只是尝试使用FF3.6作为Firefox默认浏览器(安装在Firefox文件夹中)而不是FF4(尚不支持)。对于IE,我可能会尝试通过Windows注册表禁用身份验证。

此页面http://code.google.com/p/selenium/issues/detail?id=34可能有帮助。

2020-06-26