4個不錯的Python自動化測試框架,Robot Framework有哪些優勢?

2021-01-11 51Testing軟體測試網

隨著技術的進步和自動化技術的出現,市面上出現了一些自動化測試框架。只需要進行一些適用性和效率參數的調整,這些自動化測試框架就能夠開箱即用,大大節省了測試時間。而且由於這些框架被廣泛使用,他們具有很好的健壯性,並且具有廣泛多樣的用例集和技術來輕易發現微小的缺陷。

以前,測試團隊接手一個項目,他們不得不為這個項目構建一個自動化測試框架。一個測試框架應該具有最佳的測試用例、假設(assumptions)、腳本和技術來運行每一處代碼和模塊,從而發現代碼缺陷和不足。不同的項目需要不同的測試用例、假設和腳本,而這也是為什麼會在這些測試中花費大量時間。然而,現在令測試人員萬分高興的是,構建自己的測試框架的日子終於結束了。今天,我們就聊一聊可用的 Python 自動化測試框架。

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 框架是性能最全面的自動化測試框架。

關注51Testing軟體測試網,提升it技能,從不會到熟練只差一步。

相關焦點

  • Python RF環境搭建
    什麼是RF自動化功能測試技術。基於Selenium來實現自動化功能測試,而RobotFramework,簡稱RF,一種基於Python和Selenium技術來實現的自動化測試工具。搭建RF下載Python3.7的安裝包,進行安裝:https://www.python.org/配置環境變量:3.使用pip安裝
  • 利用tox打造自動自動化測試框架
    什麼是toxtox官方文檔的第一句話 standardize testing in Python,意思就是說標準化python中的測試,那是不是很適合測試人員來使用呢,我們來看看他究竟是什麼?根據官方文檔的解釋,tox是一個管理測試虛擬環境的命令行工具,可以支持穿件隔離的python環境,在裡面可以安裝不同版本的python解釋器和項目的各種依賴庫,可以進行自動化測試、打包以及持續集成。
  • Python框架有哪些?區別是什麼?
    眾所周知,Python開發框架大大減少了開發者不必要的重複勞動,提高了項目開發效率的同時,還使得創建的程序更加穩定。目前比較主流的Python框架都有哪些呢?它與其他框架最大的區別就是,鮮明獨特的特性,支持orm,將資料庫的操作封裝成為Python,對於需要適用多種資料庫的應用來說是個比較好的特性。2、Flask相信大家都知道Flask是一個用Python編寫的輕量級Web應用框架。
  • 微軟最強 Python 自動化工具開源了!不用寫一行代碼!
    前言 最近,微軟開源了一款非常強大的 Python 自動化依賴庫:playwright-python 它支持主流的瀏覽器,包含:Chrome、Firefox、Safari、Microsoft Edge 等,同時支持以無頭模式、有頭模式運行 playwright-python 提供了同步、異步的
  • 項目案例:手把手教你做自動化測試,記一次Appium框架運行實例!
    眾所周知,Appium是移動端界面自動化中最常用的開源框架之一,它能夠支持 iOS 平臺和 Android 平臺上app及web應用測試,支持Mac,Windows作業系統,並且支持多種語言,java、python、php、C#、js等,讓你不受程式語言的束縛 。下面我將展示Appium框架應用測試的一個具體實例。
  • 機器人流程自動化(RPA):6大開源工具
    開源聽起來可能會嚇到非開發人員,但在這方面有個好消息:雖然一些開源項目特別以開發人員為中心,但眾多解決方案與商業解決方案一樣強調易用性以及無代碼或低代碼工具。原因之一是:RPA使用場景涉及從財務、銷售到人力資源的各種業務職能。工具的採用在很大程度上將取決於這些部門自行管理RPA開發和日常管理的能力,最好與IT部門通力合作,但並不完全依賴IT部門。
  • 自動化測試的測試模型有哪些?優缺點分別是什麼?
    自動化測試的測試模型有哪些?測試行業從業者需要掌握的測試模型有線性測試、模塊化驅動測試、數據驅動測試以及行為驅動測試 ,這些測試模型的優缺點也十分鮮明。下面我們一起來詳細分析一下吧!任何一個測試用例腳本拿出來都可以單獨執行。(3)缺點:開發成本高,用例之間存在重複的操作。比如重複的用戶登錄和退出。維護成本高,由於重複的操作,當重複的操作發生改變時,則需要逐一進行腳本的修改。(4)線性測試實例:用戶登錄。
  • Hunt framework 2.0.0 發布,簡單且高性能的 Web 服務框架
    ,對整個框架的完整性和易用性再一次得到了提升。Hunt framework 是一個使用 Dlang 語言開發的全棧 web 框架,易用性和完整性都貼近於 Laravel / Django / Spring boot 等主流框架的設計,優勢主要體現在部署方面,不需要搭建運行環境就可開啟 web 服務。而且 D 語言自身是一個性能極高的編譯型語言,我們可以基於 hunt framework 非常簡單的開發出高性能的 web 服務。
  • 觀點 傳統銀行敏捷自動化測試探索
    其中所用到的一些自動化測試框架工具,作者深入敏捷轉型項目開發過程中自動化軟體測試,希望通過本文拋磚引玉,拓展自動化測試思路,找到適合自身特點,安全可靠的自動化測試方法。現狀分析俗話說:「工欲善其事、必先利其器。」
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    (6套課程) 注:零基礎全能篇中,針對windows和liunx系統均有兩套課程可供選擇學習,單純學python,哪個系統都一樣,初學者只需選擇自己熟悉的系統學習相應課程即可。 因篇幅有限,以下展示的只是課程裡部分內容如對python課程有更多疑問 請諮詢客服 1零基礎入門全能班 01 –python簡介 02 第一個程序 03-python執行方式和pycharm設置 04-程序的注釋和算術運算符 05 程序執行原理 06變量的使用以及類型 07
  • 禪道ZTF 發布 2.2 版本,新增對持續集成、單元和自動化測試框架的...
    ZTF 是一款用GO語言編寫的開源自動化測試框架,支持 Python、Ruby、Lua、Tcl、PHP、Perl、Javascript
  • 這個Python框架你值得擁有!
    談到Python,它似乎天生就和速度無關,你可能很熟悉Django、Flask這些框架,雖然開發效率的確不錯,但是速度就一言難盡。那麼在前後端分離開發的時代,有沒有能拿得出手的Python Web框架呢?當然是有的,FastApi它來了。一、為什麼是FastApi?
  • 單個骰子自動化沒什麼,多個自動化就刺激了,看python如何實現
    本次寫作是因為有些朋友對我說,擲骰子的自動化很吸引人,可是一個骰子多次投擲沒那麼多技術含量,因此希望我能夠作出一個能夠同時投擲多個骰子並求出多個骰子之和的小程序。雖然很唐突,但為了感謝各位的支持,我還是決定專門發文解答這一問題。
  • 高頓ACCA:Competence framework 能力框架講解
    Hello everyone,this is Nancy老師~在平日的答疑和直播串講的過程中,我發現很多同學對Personal effectiveness章節中Competence framework能力框架以及涉及到的三個角色Coaching、Mentoring、Counselling比較費解。
  • MiniFramework 2.6.0 發布,PHP 開源框架
    MiniFramework 是一款遵循 Apache2 開源協議發布的,支持 MVC 和 RESTful 的超輕量級 PHP 開發框架,在滿足開發者最基礎的 MVC 分層開發、資料庫和緩存訪問等少量功能基礎上
  • 2020Leaderobot中國機器人頒獎盛典19個獎項及行業榜單
    他希望年會的持續舉辦對機器人產業不斷結合南京江北新區優勢集聚,打造成為具備獨特產業優勢的長三角機器人產業高地,為江北新區晶片等核心智能製造提供高質量發展載體和機遇,也為推進南京江北新區持續自主創新提供智力支撐。
  • 關於零基礎學習Python有什麼好的建議?
    Python下有許多款不同的 Web 框架。Django是重量級選手中最有代表性的一位。許多成功的網站和APP都基於Django。Django 是一個開放原始碼的 Web 應用框架,遵守 BSD 版權。
  • Python,爬蟲開發的不二選擇
    那麼這三類語言都是有什麼優缺點呢?請看下面描述:1)JAVAJava的語法比較規則,採用嚴格的面向對象編程方法,同時有很多大型的開發框架,比較適合企業級應用。Java的學習曲線較長,不僅要學習語言相關的特性,還要面向對象的軟體構造方法,在此之後要學習一些框架的使用方法。
  • Python最佳經典學習路線
    (3)類與對象,繼承,多態 (4)tkinter界面編程 (5)文件與異常,數據處理簡介 (6)Pygame實戰飛機大戰 python語言高級:(python語言的高級庫,常用的企業級開發案例實戰)
  • 想學習Python開發,你要先懂Python是什麼?
    很多小夥伴也發出靈魂拷問:零基礎想快速入行,有靠譜的上海Python培訓嗎?怎麼才算是靠譜。首先我們要清楚一個點,那就是無論學習什麼東西,最主要的還是需要有足夠新穎跟得上時代需求的內容!不然,怎麼學也都是白費!想學習Python開發,你要先懂Python到底是什麼?他有那些優點?學習之後能從事什麼?接下來,就讓千鋒上海帶你詳細了解!