弹出窗口只发生在我使用Fire Fox浏览器的情况下,有没有办法解决这个问题?每次我使用FF作为浏览器时,我都必须输入用户名/密码。
目前,我每次运行测试时都会进入,这非常痛苦,但希望使其更加自动化....
答案 0 :(得分:6)
http://username:password@xyz.com
这对我有用(xyz.com是网站名称)
答案 1 :(得分:5)
如果这是一个Windows用户帐户&密码,然后您需要enable the integrated windows login设置
network.negotiate-auth.delegation-uris: MyIISServer.domain.com
network.automatic-ntlm-auth.trusted-uris: MyIISServer.domain.com
network.automatic-ntlm-auth.allow-proxies: True
network.negotiate-auth.allow-proxies: True
在WebDriver启动的Firefox配置文件中。创建并保存配置文件后(在没有其他实例运行时运行“Firefox -P”以选择配置文件),您可以在代码中执行此操作:
File profileDir = new File("C:/wherever/SeleniumFirefoxProfile");
FirefoxProfile profile = new FirefoxProfile(profileDir);
profile.setEnableNativeEvents(true);
driver = new FirefoxDriver(profile);
答案 2 :(得分:5)
花了几个小时阅读后,我终于找到了解决方案,效果很好,我希望这对其他人也有帮助。 - 享受!!
首先 - 按照以下步骤操作:
1) Open the FireFox browser
2) Type the following `about:config`
3) Look for `network.http.phishy-userpass-length` if you don't find then create a new Integer key
Create a new Integer key (right-click->New->Integer): `network.http.phishy-userpass-length` with value `255`
第二:您需要使用以下内容创建Firefox驱动程序:
FirefoxProfile profile = new FirefoxProfile();
profile.SetPreference("network.http.phishy-userpass-length", 255);
profile.SetPreference("network.automatic-ntlm-auth.trusted-uris", "YOUR HOST ADDRESS HERE");
_driver = new FirefoxDriver(profile);
如果您有任何问题,请与我们联系。
答案 3 :(得分:0)
我必须处理这几次,但我的方法是在Selenium之外使用脚本。你在Windows上工作吗?
基本上你做的是:
1)在加载页面之前,单击导致该对话框出现的URL等:
-- Launch an asynchronous script to handle the login
2)然后加载页面,点击链接等
-- Selenium will block until your asynch script completes
异步脚本:
-- Sleep for a few seconds
-- Activate the dialog
-- Send the username
-- Send a TAB
-- Send the password
-- Send a TAB
-- Send the Enter Key
如果您正在使用Windows,我可以发布示例脚本来处理这个问题。我用Java和C#完成了它,但我猜想无论你如何编写测试,基本上相同的东西都会起作用(除非你严格使用FF插件,在这种情况下这不起作用)。 / p>
如果您想了解更多详情,请与我们联系。
答案 4 :(得分:0)
您可以使用FF插件" autoauth"。下载此插件并通过以下方式创建Firefox实例:
FirefoxProfile firefoxProfile = new ProfilesIni().getProfile("default");
File pluginAutoAuth = new File("D:\\autoauth-2.1-fx+fn.xpi");
firefoxProfile.addExtension(pluginAutoAuth);
driver = new FirefoxDriver(firefoxProfile);
我使用" autoauth-2.1-fx + fn.xpi"