這是非常可能的運行非常大量的硒測試。在我的組織中,我們每天在多個網站上運行約200,000到300,000次測試。所以是可能的。
注意: - 我在JAVA代碼和下面的所有信息是從JAVA的角度來看。
對於大規模測試使用硒是成功的,我會說,它需要3個基本組成
- 基礎設施
- 一個好的框架和易於維護的代碼
- 簡單而明確的報告
基礎設施
您的基礎架構應該能夠支持巨大的負載。我們使用硒網格(如果您使用Selenium 2,則稱其爲Grid 2.0)來實現此目的。 Selenium Grid允許我們在多個瀏覽器中並行運行多個測試。我們使用我們自己的服務器來部署虛擬機來支持這種測試。像Saucelabs.com這樣的供應商可以將基礎架構維護外包給他們。
框架和testcode
你的框架必須支持多線程,它應該是線程安全的利用硒網格功能。我們使用JAVA來確保發生這種情況。使用並行運行測試testNG。 testNG可以並行運行多個方法,所有這些測試都將指向一個Hub。集線器然後將所有這些測試分配給連接到它的多個遙控器(RC)。
當您有大量測試時,維護是不可避免的。爲了減少由於應用程序更改而導致的返工工作,最好遵循頁面對象模型。頁面對象本質上意味着 - 應用程序中的每個頁面都應該在代碼中具有相應的類。你將定義該類中可能發生的所有元素和功能。這是一個非常模塊化和可重複使用的結構。你可以谷歌的pageobject模型,你會發現很多文章。
報告
它的偉大,以每天運行20萬周的測試,但如果你不能展示什麼失敗,是什麼在一個方便的方法來傳遞您的自動化測試將沒有多大用處的。有多種方法。從HTML報告到構建自定義儀表板以顯示結果。
一旦你掌握了所有這些,那麼你將需要的唯一東西就是一個工具來保持這些測試不斷運行。您可以使用任何CI(持續集成)工具來實現此目的。 Hudson,cruisecontrol是主要使用的少數CI工具。
您是否熟悉了頁面對象? – JacekM
你用什麼編程語言? Perl的? –
Test :: WWW :: Selenium是一個perl模塊,是的。 –