2012-02-24 33 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