連接:http://robotframework.org/python
Robot Framework(RF)是用於驗收測試和驗收測試驅動開發(ATDD)的自動化測試框架。 基於 Python 編寫,但也能夠在 Jython(Java)和 IronPython(.NET) 上運行,提供跨平臺支持( Windows、 Linux 或 MacOS )。git
優勢:github
經過使用關鍵字驅動測試(KDT)方法簡化了自動化測試過程,方便測試人員建立易讀的測試。編程
測試數據語法簡單易用。服務器
生態系統豐富。由各類通用測試庫和工具組成,這些工具都是做爲獨立項目開發的。框架
具備高度可擴展性。異步
可經過 pabot 或 Selenium Grid 執行並行測試。編程語言
缺點:函數
自定義 HTML 報告較爲麻煩。工具
若是是針對大範圍的庫和擴展的 KDT 自動化測試,建議使用此跨平臺框架。若是想要添加新的關鍵字(經過 RF 測試庫 API ),須要具有 Java / Python / C 語言的基礎知識。
連接:http://redwoodhq.com/
RedwoodHQ 是一個流行的自動化測試工具,它之因此流行是由於大部分流行的編程語言均可以用來編寫測試,例如 Java、Python、C# 等。在 RedwoodHQ 的網站界面上,多個測試人員能夠在一個平臺上協做並運行測試用例。開發者可使用 RedwoodHQ 中出現的 action 關鍵字來絕不費力地建立和修改測試用例。
你須要作的只是找到須要的 action,拖到測試盒中,而後輸入參數並改變它們的值來生成一份完整的測試報告。RedwoodHQ 有一個內置的 IDE(集成開發環境),能夠在那裏建立、修改以及運行測試用例。RedwoodHQ 是對用戶最友好或對測試人員最友好的平臺之一,它關注一個重大項目的所有測試過程。
連接:https://jasmine.github.io/
Jasmine 是一個 JavaScript 單元測試框架, 也被稱爲 JavaScript 的行爲驅動開發(BDD)測試框架。適用於網頁、Node.js 項目或任何能夠運行 JavaScript 的地方。它主要與 AngularJS 配對使用。
優勢:
除了 JavaScript ,還能夠運行在 Python 和 Ruby 中。若是想在你的服務器端運行客戶端測試,它能夠幫助你。
被許多 CIs 使用和支持。
內置用於斷言的語法。
缺點:
多數狀況下,它須要一個測試運行器(如 Karma )。
難以異步測試。
若是你正在尋找一個統一的(客戶端 - 服務器)單元測試解決方案,Jasmin 可能會很是適合。
連接:https://docs.pytest.org/en/latest/
若是你的項目比較小、複雜度比較低,Pytest 是最適合的自動化測試平臺。pytest 是 python 的一種單元測試框架,與 python 自帶的 unittest 測試框架相似,可是比 unittest 框架使用起來更簡潔,效率更高。根據 pytest 的官方網站介紹,它具備以下特色:
很是容易上手,入門簡單,文檔豐富,文檔中有不少實例能夠參考
可以支持簡單的單元測試和複雜的功能測試
支持參數化
執行測試過程當中能夠將某些測試跳過,或者對某些預期失敗的 case 標記成失敗
支持重複執行失敗的 case
支持運行由 nose , unittest 編寫的測試 case
具備不少第三方插件,而且能夠自定義擴展
方便的和持續集成工具集成
Pytest 還有各類可用插件來給現有測試技術和測試用例增長更多功能和多樣性。事實上,在其活躍社區中有 300 多個可用的插件。該平臺設計用於編寫更簡單,錯誤率更小的代碼。你能夠將 Pytest 與諸如 Selenium 和 Splinter 之類的圖形用戶界面一塊兒使用,來使測試工做更輕鬆。
結語
對於任何編程語言來講,都沒有絕對理想的測試框架。它取決於測試者的溫馨度、項目需求和項目中特定模塊所需的測試類型。可用的自動化測試框架有線性自動化、基於模塊的測試、函數庫框架測試、混合測試、關鍵詞驅動和數據驅動測試等。每一個框架都有它的優勢和缺點。上面列舉的 python 框架是性能最全面的自動化測試框架。