2012-02-24 75 views
0

我试图在企业环境中使用watir-webdriver/ruby​​,但遇到需要输入代理证书以便访问被测系统的问题。watir-webdriver&代理证书

我已经阅读了其他论坛的各种片段,其中包括Alister Scott关于一般设置代理并将其保存到配置文件的有用提示。但是,这仍然不能让我超越实际需要输入代理证书。

两个固定物,我能想到的包括

  1. 不知何故保存凭据以同样的方式为代理本身。例如:

    profile = Selenium :: WebDriver :: Firefox :: Profile.new profile.proxy = Selenium :: WebDriver :: Proxy.new:http =>'myproxy.com:8080',::ssl => 'myproxy.com:8080'

    委托代理证书?

    B =的Watir :: Browser.new:火狐,:配置=>轮廓

  2. 使用具有代理凭据保存,但仍需要进行一些webdriver的代码,点击“确定”按钮(我的默认配置文件可能更多与 '我了解风险' 对话框中,后等)

    b =的Watir :: Browser.new:火狐,:配置=> '默认'

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

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

任何建议欣然欢迎。

UPDATE 我设法东西工作这是使用默认的配置文件和调整称为“signon.autologin.proxy” Firefox的设置 - 在这个设置为true(自来水:在浏览器的配置,过滤器在“PROX”,它应该出现在底部)

仍倾向于一个的Watir-webdriver的基础的解决方案,虽然;-)

+0

什么意思是“设法让某些东西上班”?它解决了你的问题吗? – p0deje 2012-02-24 11:50:54

回答

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"; 
} 

希望有所帮助。

+0

谢谢戴夫。我设法通过调整firefox配置文件,并使用密码管理器来保留凭据,然后在浏览器中更改signon.autologin.proxy设置。虽然你的解决方案看起来更优雅 - 我会做更多的阅读和实验。再次感谢! – user1158166 2012-02-28 16:28:43