2012-10-26 54 views
1

我需要單獨運行我的Selenium Webdriver JUnit測試,但也要同時運行。我一直在尋找一種解決方案,基本上可以減少一個問題:我正在測試使用SSO的應用程序。Selenium和SSO

這意味着,我必須在運行測試時手動登錄。另一方面,這也是期望的,因爲你不想在任何文件中存儲重要的密碼。當你運行單個測試時,這甚至不會有害。但是當你需要全部運行它們,並且你有大約100次測試時,你將不得不登錄100次。想都別想!

我發現一種可能的解決方案可能是Java代理服務器。我發現代碼顯示如何創建和處理一個,但不是其中的SSO部分。誰能幫我?或者將密碼存儲在任何地方?

回答

2

您需要了解有關SSO實施的更多信息。我建議使用瀏覽器的開發人員工具使用我們的調試代理(如Fiddler或Charles)在SSO身份驗證期間捕獲瀏覽器和服務器之間的HTTP通信,然後在Java Web客戶端中實現這些請求。 SSO身份驗證通常會導致設置Cookie。如果您在驗證階段後捕獲此cookie,那麼您可以在每次Selenium測試中重新使用此cookie。

身份驗證將需要憑據,您可以將其放入屬性文件中。您可以從源代碼控制中排除此屬性文件,並要求所有開發人員在運行測試時使用他們自己的憑據。