12

只有当我使用 Fire Fox 浏览器时才会出现弹出窗口,有没有办法解决这个问题?每次我使用 FF 作为浏览器时,我都必须输入用户名/密码。

目前,我每次运行测试时都会进入,这非常痛苦,但希望使其更加自动化......

我已经护目镜,在这里这里找到了两个链接,但无济于事

在此处输入图像描述

4

5 回答 5

7
http://username:password@xyz.com 

这对我有用(xyz.com 是网站名称)

于 2012-10-29T10:03:35.080 回答
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);

如果您有任何问题,请告诉我。

于 2012-12-07T17:26:32.227 回答
5

如果这是一个 windows 用户帐户和密码,那么您需要通过设置启用集成 windows 登录

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);
于 2012-10-09T22:14:43.543 回答
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 插件,在这种情况下这将不起作用)。

如果您想了解更多详情,请告诉我。

于 2012-08-28T16:38:43.653 回答
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”

于 2016-04-15T06:06:45.927 回答