譯自:6 top open-source testing automation frameworks: How to choose
如果您正在考慮構建自己的測試自動化框架,請在自賤之前參考一下以下的六大熱門自動化測試框架。
在大多數情況下,您將會很好地考慮一個或多個可用的開放源代碼選項。這是因為一般來說,框架是可以在團隊中使用的一套最佳實踐,假設,通用工具和庫。很多時候,其實您并不需要一個開發一個獨特的測試框架。
您只需要一個框架來幫助您實現自動化測試代碼:
可重復使用
可維護性
穩定
我看到一些團隊通過從頭開始構建自己的復雜的自動化框架,花費了大量的功夫去實現這些必備選項。這使我瘋狂,因為其實他們可以很容易地利用現有的開源工具和測試庫,而不需要編寫任何代碼就可以滿足他們的需求,而在大多數情況下,這些工具和庫都能獲得更好的結果。
在陷入“構建自己的框架”陷阱之前,請務必查看這六個開源測試自動化解決方案。
Serenity
如果您需要一個基于Java的框架,與諸如Cucumber和JBehave之類的行為驅動的開發工具集成在一起,您可以將測試場景保持在高水平,同時在報告中包含較低級別的實施細節,Serenity可能是您比較好的選擇。 Serenity(以前稱為Thucydides)是一種開源工具,旨在使驗收測試和回歸測試更容易。
一個主要的好處是,Serenity作為Selenium WebDriver和BDD工具之上的包裝。這使得BDD和Selenium測試變得更簡單,因為它抽出了許多有時需要編寫的樣板代碼才能開始使用。 Serenity還提供了許多內置功能,例如提供WebDriver管理,在步驟之間管理狀態,截取屏幕,并行運行測試,促進Jira集成以及更多的功能,而無需編寫單行代碼。
Serenity真正的好處是可以生成非常好的測試報告。開箱即用,使用Serenity來創建文檔,不僅可以用于查看您的 Selenium BDD測試結果,還可以作為您的應用程序的文檔。
它還有一個額外的注釋稱為@Step。@Step方法為您提供了一個額外的抽象級別,當正確使用時,可以使您的測試更具可重用性和可維護性。
如果您正在創建自己的BDD框架,Serenity將照顧許多您通常必須從頭開始編寫的內容。我認為這是非常好用的開源框架之一,但是我可能有點偏見,因為它是我日常測試自動化工作中使用的工具。(此處是作者的介紹,本人還沒使用過,國內好像也沒怎么聽說)
Robot Framework
如果您想使用Python進行測試自動化工作,最好的選擇就是Robot Framework。
Robot Framework 是為測試人員提供了的成熟解決方案; 它使用關鍵字驅動的方法來使測試可讀和易于創建。它還有許多測試庫和其他可以使用的工具。
Selenium WebDriver庫可能是最常用的外部測試庫,但Robot Framework可以測試FTP,MongoDB,Android,Appium等網站以外的其他內容。除了所有這些開放源代碼的美妙之處以外,它還有很多API可以幫助它盡可能的擴展。
Robot Framework 是基于Python的,但您也可以使用Jython(Java)或IronPython(.NET)。
Robot Framework 使用的關鍵字方法對于已經熟悉其他基于供應商的關鍵字驅動的測試工具的測試人員來說非常有用,使得向開源的過渡更容易。
如果您的團隊由大多數測試人員組成,Robot Framework將是您的自動化框架的一個很好的選擇。(CC先生覺得這是目前用過的最好的測試框架,沒有之一)
RedwoodHQ
RedwoodHQ與此列表中其他工具的方法略有不同。
它創建一個網站界面,允許多個測試人員一起工作,并從一個可訪問的網站運行測試。
測試可以用Java / Groovy,Python和C#編寫,使用他們的Web IDE測試Web應用程序,其中包括內置的GIT集成。
您可以利用RedwoodHQ現有的操作關鍵字來快速開始創建和修改測試。
要創建測試腳本,只需要找到要執行的操作,將其拖動到測試用例中,然后輸入其期望的參數值。
內置IDE還允許您創建和修改測試用例和操作以及執行測試。
您還可以并行對預定義的機器執行測試,并查看以前所有測試運行的運行歷史記錄。
RedwoodHQ對測試人員是友好的,并且有很多內置功能,可以為您的團隊創建完整的測試自動化和測試管理解決方案。
Sahi
開發用于測試Web應用程序, Sahi提供開源和專業版。Sahi作為代理服務器,可以讓您在瀏覽器中使用它。您可以從Sahi儀表板啟動要測試的瀏覽器。
Sahi控制器將引導您完成對您的應用程序執行的交互的記錄和捕獲。例如,當您將鼠標懸停在Sahi瀏覽器中的任何元素時,它將顯示您可以對該特定元素執行的所有操作。您還可以使用控制器播放腳本。
Sahi的記錄和播放功能使您可以輕松開始簡單的HTML應用程序的測試自動化。但要注意依靠錄音和播放; 這種方法已被證明是創建可維護,強大的自動化測試的不良做法。幫助創建初始測試可以,但您需要自定義它,使其可靠和可維護。
我聽說過Sahi很多,但是我的第一印象就是它不像其他選擇那么強大。然而,很多人都喜歡Sahi專業版。
Galen Framework
如果您的自動化工作專注于用戶體驗設計(UX)或布局測試,Galen框架可能完全適合您的需求。
Galen專門為UX測試而創建,并具有特殊的語法和規則,可用于描述和驗證應用程序的布局。
它還允許您指定瀏覽器大小,然后根據應用程序運行測試以驗證布局規范。
Galen測試還生成具有截圖的詳細HTML報告,它包括與酷熱圖功能的可視圖像比較。
測試可以使用Galen語法,JavaScript或Java編寫在一個簡單的文本文件中。
Gauge
Gauge是Mac,Windows和Linux最新的開源測試自動化工具之一,由ThoughtWorks開發,對,就是開發Selenium的那家。
TDD和BDD的簇擁者將欣賞Gauge將創建可被書面化和可執行文檔的作為重點。
Gauge的自動化測試用例是依據markdown語法來編寫,也支持Java,Ruby和C#語言,可使用現在常用的開發人員IDE(如Eclipse和Visual Studio)。
Gauge的功能也可以通過其對插件的支持來擴展。
Gauge還是一個初生期,仍然處于測試階段,所以如果您的團隊想接觸一些前沿尖端的測試開發技術,您可以嘗試一下。
CC先生的小黑板
綜上所述呢,Rotbot Framework還是算比較靠譜的一個自動化測試框架,如有興趣,你也可以嘗試其它的測試框架,畢竟,多態才是這個世界的常態。
So be it.
以上