2012-05-31 54 views
2

我正在使用Python編寫SeleniumRC的測試。測試在Ubuntu中針對Firefox實例運行。我有一個使用BasicAuth的web應用程序。Selenium測試:使用BasicAuth重新進行身份驗證會產生錯誤

在我的測試類的設置中,我在我的web應用程序中設置了一個頁面(foo.html)。

我已經得到了很多在這個類到這個網頁,並使用URL像自己的身份驗證測試:

self.selenium.open('http://user:[email protected]%s:%s/foo.html' % (host, port)) 

我有一個測試(讓我們把它叫做BAR)創建另一個頁面(一個bar.html),然後打開網頁:

self.selenium.open('http://user:[email protected]%s:%s/bar.html' % (host, port)) 

這是我的問題的核心:

  • 如果我跑得日是登錄工作的一項測試(BAR)。
  • 如果我在執行BasicAuth並轉到另一個URL(如foo.html,這在我的情況中很常見)之前運行另一個測試,我會得到一個BasicAuth屏幕。

如果我改變調用打開一個bar.html和有:

self.selenium.open('bar.html') 
  • 如果我跑這只是一個測試(BAR)登錄失敗(我得到一個基本驗證屏幕)
  • 如果我在執行BasicAuth並轉到另一個URL之前運行另一個測試,我可以成功地轉到該URL。

所以問題主要是:我不能總是一個基本驗證,因爲那時的BAR測試將失敗的大部分時間。從來沒有做過BasicAuth也不是一種選擇,因爲我不能指望經過另一次測試BasicAuth之後的BAR測試。

這個問題似乎看起來像描述here in the SeleniumRC docs的一個,但我不明白,爲什麼這個重新認證應該在這種情況下,給出一個錯誤......

回答

2

對於Firefox。 嘗試改變下列標誌由URL about:config打字,搜索以下過濾器:

browser.safebrowsing.malware.enabled 

enter image description here

可以使用有關更改此標誌在默認的Firefox配置文件的狀態:配置服務頁面(雙點擊標誌來改變它的狀態)從現在開始,Firefox應該讓你通過使用URL中的名字和密碼進行http認證。 (請注意,如果您使用的是Selenium WebDriver 2.6或更高版本,則應默認禁用此標誌)

相關問題