watir-webdriver和代理凭证

问题描述 投票:0回答:1

我正在尝试在公司环境中使用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代码才能单击“确定”按钮(可能还需要更多“我理解风险”对话框等)

b = Watir::Browser.new :firefox, :profile => 'default'

我不允许发布图片作为新手,但对话文字说

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

欢迎任何建议。

更新我设法得到一些工作,它使用默认配置文件并调整名为'signon.autologin.proxy'的firefox设置 - 将其设置为true(在浏览器中点击about:config,过滤'prox',它应该出现在底部)

仍然会更喜欢基于watir-webdriver的解决方案;-)

ruby proxy watir
1个回答
1
投票

如果您需要一个特定的代理服务器用于被测系统而另一个用于一般用途,我建议您考虑使用PAC文件。 Link to Automatically Configuring Browsers for 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";
}

希望有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.