Ruby watirwebdriver&;代理凭据

Ruby watirwebdriver&;代理凭据,ruby,proxy,watir,Ruby,Proxy,Watir,我试图在公司环境中使用watir webdriver/ruby,但遇到了需要输入代理凭据才能访问测试系统的问题 我读过其他论坛的各种片段,包括Alister Scott关于设置一般代理并将其保存到配置文件的有用提示。然而,这仍然不能让我克服输入代理凭据的实际需要 我能想到的两个大头钉包括 选项1:以与代理本身相同的方式保存凭据。例如 profile = Selenium::WebDriver::Firefox::Profile.new profile.proxy = Selenium::WebD

我试图在公司环境中使用watir webdriver/ruby,但遇到了需要输入代理凭据才能访问测试系统的问题

我读过其他论坛的各种片段,包括Alister Scott关于设置一般代理并将其保存到配置文件的有用提示。然而,这仍然不能让我克服输入代理凭据的实际需要

我能想到的两个大头钉包括

选项1:以与代理本身相同的方式保存凭据。例如

profile = Selenium::WebDriver::Firefox::Profile.new
profile.proxy = Selenium::WebDriver::Proxy.new :http => 'myproxy.com:8080', :ssl =>     'myproxy.com:8080'
# COMMAND FOR PROXY CREDENTIALS?
b = Watir::Browser.new :firefox, :profile => profile
选项2:使用我的默认配置文件,该配置文件保存了代理凭据,但仍需要一些webdriver代码来单击“确定”按钮(之后可能还会使用“我了解风险”对话框等进行更多操作)

作为一个新手,我还不能发布图片,但对话文本显示

代理[BLAH]正在请求用户名和密码。网站上说[废话] 用户名: 密码: [确定][取消]

欢迎提出任何建议

更新 我成功地使用了默认配置文件并调整了一个名为“signon.autologin.proxy”的firefox设置,将其设置为true(在浏览器中点击about:config,在“prox”上过滤,它应该显示在底部)


尽管如此,还是希望使用基于watir webdriver的解决方案;-)

如果您需要一个特定的代理服务器用于测试中的系统,另一个用于一般用途,我建议您考虑使用PAC文件

示例脚本:

function FindProxyForURL(url, host)
{
if (shExpMatch(url, "http://principia.mo.techpaths.com*")) {
return "DIRECT";
}
if (isInNet(myIpAddress(), "192.168.1.0", "255.255.255.0"))
return "PROXY 192.168.1.1:8080";
else
return "DIRECT";
}

希望这能有所帮助。

你说的“设法让某些东西发挥作用”是什么意思?它解决了你的问题吗?谢谢Dave。我通过调整firefox配置文件,使用密码管理器保留凭据,然后更改浏览器中的signon.autologin.proxy设置,暂时实现了这一点。不过,您的解决方案看起来更优雅一些——我将进行更多的阅读和实验。再次感谢!
function FindProxyForURL(url, host)
{
if (shExpMatch(url, "http://principia.mo.techpaths.com*")) {
return "DIRECT";
}
if (isInNet(myIpAddress(), "192.168.1.0", "255.255.255.0"))
return "PROXY 192.168.1.1:8080";
else
return "DIRECT";
}