譯自:6 top open-source testing automation frameworks: How to choose
如果您正在考慮構建自己的測試自動化框架,請在自賤之前參考一下以下的六大熱門自動化測試框架勋磕。
在大多數情況下妈候,您將會很好地考慮一個或多個可用的開放源代碼選項。這是因為一般來說挂滓,框架是可以在團隊中使用的一套最佳實踐苦银,假設,通用工具和庫赶站。很多時候幔虏,其實您并不需要一個開發(fā)一個獨特的測試框架。
您只需要一個框架來幫助您實現自動化測試代碼:
可重復使用
可維護性
穩(wěn)定
我看到一些團隊通過從頭開始構建自己的復雜的自動化框架贝椿,花費了大量的功夫去實現這些必備選項想括。這使我瘋狂,因為其實他們可以很容易地利用現有的開源工具和測試庫烙博,而不需要編寫任何代碼就可以滿足他們的需求瑟蜈,而在大多數情況下,這些工具和庫都能獲得更好的結果渣窜。
在陷入“構建自己的框架”陷阱之前铺根,請務必查看這六個開源測試自動化解決方案。
Serenity
如果您需要一個基于Java的框架乔宿,與諸如Cucumber和JBehave之類的行為驅動的開發(fā)工具集成在一起位迂,您可以將測試場景保持在高水平,同時在報告中包含較低級別的實施細節(jié)予颤,Serenity可能是您比較好的選擇囤官。 Serenity(以前稱為Thucydides)是一種開源工具,旨在使驗收測試和回歸測試更容易蛤虐。
一個主要的好處是,Serenity作為Selenium WebDriver和BDD工具之上的包裝肝陪。這使得BDD和Selenium測試變得更簡單驳庭,因為它抽出了許多有時需要編寫的樣板代碼才能開始使用。 Serenity還提供了許多內置功能氯窍,例如提供WebDriver管理饲常,在步驟之間管理狀態(tài),截取屏幕狼讨,并行運行測試贝淤,促進Jira集成以及更多的功能,而無需編寫單行代碼政供。
Serenity真正的好處是可以生成非常好的測試報告播聪。開箱即用朽基,使用Serenity來創(chuàng)建文檔,不僅可以用于查看您的 Selenium BDD測試結果离陶,還可以作為您的應用程序的文檔稼虎。
它還有一個額外的注釋稱為@Step。@Step方法為您提供了一個額外的抽象級別招刨,當正確使用時霎俩,可以使您的測試更具可重用性和可維護性。
如果您正在創(chuàng)建自己的BDD框架沉眶,Serenity將照顧許多您通常必須從頭開始編寫的內容打却。我認為這是非常好用的開源框架之一,但是我可能有點偏見谎倔,因為它是我日常測試自動化工作中使用的工具学密。(此處是作者的介紹,本人還沒使用過传藏,國內好像也沒怎么聽說)
Robot Framework
如果您想使用Python進行測試自動化工作腻暮,最好的選擇就是Robot Framework。
Robot Framework 是為測試人員提供了的成熟解決方案; 它使用關鍵字驅動的方法來使測試可讀和易于創(chuàng)建毯侦。它還有許多測試庫和其他可以使用的工具哭靖。
Selenium WebDriver庫可能是最常用的外部測試庫,但Robot Framework可以測試FTP侈离,MongoDB试幽,Android,Appium等網站以外的其他內容卦碾。除了所有這些開放源代碼的美妙之處以外铺坞,它還有很多API可以幫助它盡可能的擴展。
Robot Framework 是基于Python的洲胖,但您也可以使用Jython(Java)或IronPython(.NET)济榨。
Robot Framework 使用的關鍵字方法對于已經熟悉其他基于供應商的關鍵字驅動的測試工具的測試人員來說非常有用,使得向開源的過渡更容易绿映。
如果您的團隊由大多數測試人員組成擒滑,Robot Framework將是您的自動化框架的一個很好的選擇。(CC先生覺得這是目前用過的最好的測試框架叉弦,沒有之一)
RedwoodHQ
RedwoodHQ與此列表中其他工具的方法略有不同丐一。
它創(chuàng)建一個網站界面,允許多個測試人員一起工作淹冰,并從一個可訪問的網站運行測試库车。
測試可以用Java / Groovy,Python和C#編寫樱拴,使用他們的Web IDE測試Web應用程序柠衍,其中包括內置的GIT集成洋满。
您可以利用RedwoodHQ現有的操作關鍵字來快速開始創(chuàng)建和修改測試。
要創(chuàng)建測試腳本拧略,只需要找到要執(zhí)行的操作芦岂,將其拖動到測試用例中,然后輸入其期望的參數值垫蛆。
內置IDE還允許您創(chuàng)建和修改測試用例和操作以及執(zhí)行測試禽最。
您還可以并行對預定義的機器執(zhí)行測試,并查看以前所有測試運行的運行歷史記錄袱饭。
RedwoodHQ對測試人員是友好的川无,并且有很多內置功能,可以為您的團隊創(chuàng)建完整的測試自動化和測試管理解決方案虑乖。
Sahi
開發(fā)用于測試Web應用程序懦趋, Sahi提供開源和專業(yè)版。Sahi作為代理服務器疹味,可以讓您在瀏覽器中使用它仅叫。您可以從Sahi儀表板啟動要測試的瀏覽器。
Sahi控制器將引導您完成對您的應用程序執(zhí)行的交互的記錄和捕獲糙捺。例如诫咱,當您將鼠標懸停在Sahi瀏覽器中的任何元素時,它將顯示您可以對該特定元素執(zhí)行的所有操作洪灯。您還可以使用控制器播放腳本坎缭。
Sahi的記錄和播放功能使您可以輕松開始簡單的HTML應用程序的測試自動化。但要注意依靠錄音和播放; 這種方法已被證明是創(chuàng)建可維護签钩,強大的自動化測試的不良做法掏呼。幫助創(chuàng)建初始測試可以,但您需要自定義它铅檩,使其可靠和可維護憎夷。
我聽說過Sahi很多,但是我的第一印象就是它不像其他選擇那么強大柠并。然而岭接,很多人都喜歡Sahi專業(yè)版。
Galen Framework
如果您的自動化工作專注于用戶體驗設計(UX)或布局測試臼予,Galen框架可能完全適合您的需求。
Galen專門為UX測試而創(chuàng)建啃沪,并具有特殊的語法和規(guī)則粘拾,可用于描述和驗證應用程序的布局。
它還允許您指定瀏覽器大小创千,然后根據應用程序運行測試以驗證布局規(guī)范缰雇。
Galen測試還生成具有截圖的詳細HTML報告入偷,它包括與酷熱圖功能的可視圖像比較。
測試可以使用Galen語法械哟,JavaScript或Java編寫在一個簡單的文本文件中疏之。
Gauge
Gauge是Mac,Windows和Linux最新的開源測試自動化工具之一暇咆,由ThoughtWorks開發(fā),對锋爪,就是開發(fā)Selenium的那家。
TDD和BDD的簇擁者將欣賞Gauge將創(chuàng)建可被書面化和可執(zhí)行文檔的作為重點爸业。
Gauge的自動化測試用例是依據markdown語法來編寫其骄,也支持Java,Ruby和C#語言扯旷,可使用現在常用的開發(fā)人員IDE(如Eclipse和Visual Studio)拯爽。
Gauge的功能也可以通過其對插件的支持來擴展。
Gauge還是一個初生期钧忽,仍然處于測試階段毯炮,所以如果您的團隊想接觸一些前沿尖端的測試開發(fā)技術,您可以嘗試一下耸黑。
CC先生的小黑板
綜上所述呢桃煎,Rotbot Framework還是算比較靠譜的一個自動化測試框架,如有興趣崎坊,你也可以嘗試其它的測試框架备禀,畢竟,多態(tài)才是這個世界的常態(tài)奈揍。
So be it.
以上