自動化測試框架對比


Robot Framework

鏈接:http://robotframework.org/

Robot Framework(RF)是用於驗收測試和驗收測試驅動開發(ATDD)的自動化測試框架。 基於 Python 編寫,但也可以在 Jython(Java)和 IronPython(.NET) 上運行,提供跨平台支持( Windows、 Linux 或 MacOS )。

優點:

通過使用關鍵字驅動測試(KDT)方法簡化了自動化測試過程,方便測試人員創建易讀的測試。

測試數據語法簡單易用。

生態系統豐富。由各種通用測試庫和工具組成,這些工具都是作為獨立項目開發的。

具有高度可擴展性。

可通過 pabot 或 Selenium Grid 執行並行測試。

缺點:

自定義 HTML 報告較為麻煩。

如果是針對大范圍的庫和擴展的 KDT 自動化測試,建議使用此跨平台框架。如果想要添加新的關鍵字(通過 RF 測試庫 API ),需要具備 Java / Python / C 語言的基礎知識。

RedwoodHQ

鏈接:http://redwoodhq.com/

RedwoodHQ 是一個流行的自動化測試工具,它之所以流行是因為大部分流行的編程語言都可以用來編寫測試,例如 Java、Python、C# 等。在 RedwoodHQ 的網站界面上,多個測試人員可以在一個平台上協作並運行測試用例。開發者可以使用 RedwoodHQ 中出現的 action 關鍵字來毫不費力地創建和修改測試用例。

你需要做的只是找到需要的 action,拖到測試盒中,然后輸入參數並改變它們的值來生成一份完整的測試報告。RedwoodHQ 有一個內置的 IDE(集成開發環境),可以在那里創建、修改以及運行測試用例。RedwoodHQ 是對用戶最友好或對測試人員最友好的平台之一,它關注一個重大項目的全部測試過程。

Jasmine

鏈接:https://jasmine.github.io/

Jasmine 是一個 JavaScript 單元測試框架, 也被稱為 JavaScript 的行為驅動開發(BDD)測試框架。適用於網頁、Node.js 項目或任何可以運行 JavaScript 的地方。它主要與 AngularJS 配對使用。

優點:

除了 JavaScript ,還可以運行在 Python 和 Ruby 中。如果想在你的服務器端運行客戶端測試,它可以幫助你。

被許多 CIs 使用和支持。

內置用於斷言的語法。

缺點:

多數情況下,它需要一個測試運行器(如 Karma )。

難以異步測試。

如果你正在尋找一個統一的(客戶端 - 服務器)單元測試解決方案,Jasmin 可能會非常適合。

Pytest

鏈接:https://docs.pytest.org/en/latest/

如果你的項目比較小、復雜度比較低,Pytest 是最適合的自動化測試平台。pytest 是 python 的一種單元測試框架,與 python 自帶的 unittest 測試框架類似,但是比 unittest 框架使用起來更簡潔,效率更高。根據 pytest 的官方網站介紹,它具有如下特點:

非常容易上手,入門簡單,文檔豐富,文檔中有很多實例可以參考

能夠支持簡單的單元測試和復雜的功能測試

支持參數化

執行測試過程中可以將某些測試跳過,或者對某些預期失敗的 case 標記成失敗

支持重復執行失敗的 case

支持運行由 nose , unittest 編寫的測試 case

具有很多第三方插件,並且可以自定義擴展

方便的和持續集成工具集成

Pytest 還有各種可用插件來給現有測試技術和測試用例增加更多功能和多樣性。事實上,在其活躍社區中有 300 多個可用的插件。該平台設計用於編寫更簡單,錯誤率更小的代碼。你可以將 Pytest 與諸如 Selenium 和 Splinter 之類的圖形用戶界面一起使用,來使測試工作更輕松。

結語

對於任何編程語言來說,都沒有絕對理想的測試框架。它取決於測試者的舒適度、項目需求和項目中特定模塊所需的測試類型。可用的自動化測試框架有線性自動化、基於模塊的測試、函數庫框架測試、混合測試、關鍵詞驅動和數據驅動測試等。每個框架都有它的優點和缺點。上面列舉的 python 框架是性能最全面的自動化測試框架。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM