1.Robot Framework
做為最重要的Python檢測架構之一,Robot Framework關鍵被用在檢測推動(test-driven)種類的開發設計與工程驗收中。盡管是由Python開發設計而成,可是它還可以在根據.Net的IronPython和根據Java的Jython上運作。與此同時,做為一個Python架構,Robot還可以兼容例如Windows、MacOS、及其Linux等服務平台。
應用前提條件
在應用Robot Framework(RF)以前,您必須 先安裝Python 2.7.14及之上的版本號。推存您應用Python 3.6.4,以保證適度的注解可以被加上到字符串常量中,並可以追蹤程序流程的變更。與此同時,您還必須 安裝Python包管理工具--pip。
自然,您也務必免費下載相對應的開發框架,比如:在開發人員圈子較為時興的PyCharm社區版。此外,因為其字符串常量自身並不依賴於一切IDE,因而您徹底能夠沿用手頭上不僅有的IDE專用工具。
優勢
根據應用關鍵詞推動檢測(keyword-driven-test)的方式,它可以協助測試工程師輕輕松松地建立具備易讀性的功能測試,從而簡單化了全部自動化技術的全過程。
用戶可以輕輕松松地數據測試中的英語的語法。
由於是由各種各樣通用性專用工具和檢測庫所構成,因此 它不僅有着巨大的生態體系,並且能夠在獨立的新項目中應用其每個原素。
因為有着很多種類的API,因而該架構具備高寬比的擴展性。
盡管並不是內嵌作用,可是Robot能夠根據Selenium Grid(請參照https://www.lambdatest.com/blog/lambdatest-now-live-with-an-online-selenium-grid-for-automated-cross-browser-testing/),來協助用戶運作各種各樣並行處理檢測。
缺陷
盡管擁有以上各種各樣便捷,可是Robot Framework在建立自定的HTML匯報層面較為繁雜。您頂多能用它來轉化成xUnit文件格式的簡潔明了匯報。
此外,Robot Framework在並行處理檢測層面也並不漸長。
2.Pytest
適用多種多樣自動化測試的Pytest,是另一個Python種類的功能測試架構。憑着其開源系統和易懂的特性,該專用工具常常被QA(質量檢查)精英團隊、開發設計精英團隊、本人精英團隊、及其各種各樣開源軟件所應用。由於Pytest具備“肯定調用(assert rewriting)”這類的基本功能,很多大中型互聯網技術運用,如Dropbox和Mozilla,都早已從下邊即將提及的unittest(Pyunit)轉換到Pytest以上。
應用前提條件
除開基本上的Python專業知識,用戶並不一定大量的技術實力。此外,用戶只必須 有一台含有命令行界面的檢測設備,而且安裝好啦Python包管理工具、及其可用以開發設計的IDE專用工具。
優勢
以往,開發者務必將她們的檢測包括在各種各樣大中型的類中。現如今,Pytest能夠讓用戶寫下更加緊密的檢測模塊。
別的的檢測工具會規定開發設計或測試工程師應用程序調試,或以日志查驗的方法檢驗某一特殊值的來源於。而用戶在使用Pytest來撰寫功能測試時,徹底能夠將全部的值都儲存在功能測試當中,直至***再獲知有什么值失敗了、及其什么非常值得到肯定。
因為牽涉到的樣版編碼(boilerplate code)並不是很多,因而用戶可以非常容易地撰寫和了解各種各樣檢測。
檢測工裝夾具(Fixture)涵數常被用於向測試函數加上某一主要參數,並回到不一樣的值。在Pytest中,您能夠根據應用一個工裝夾具來模塊化設計此外一個。與此同時,用戶能夠應用好幾個工裝夾具,在不用調用功能測試的狀況下,將檢測遮蓋到全部主要參數的組成。
Pytest開發者根據公布各種各樣好用軟件,來維持架構的擴展性。比如:pytest-xdist能夠在沒有應用別的測試工具的狀況下,被用以實行並行處理檢測。與此同時,單元測試卷還可以在不用拷貝一切編碼的狀況下,完成參數化設計。
根據為開發者給予各種各樣獨特的方法,它可以促使功能測試的撰寫更加簡易、更不容易錯誤,與此同時編碼也會越來越更短、更加容易被了解。
缺陷
以上談及的獨特方法,也代表着用戶務必舍棄一定的兼容模式。盡管便捷了用戶撰寫功能測試,可是這種測試用例卻沒法與一切別的的檢測架構一起被應用。
3.UnitTest/PyUnit
遭受了JUnit啟迪的UnitTest/PyUnit,也是一種規范化的對於單元測試卷的Python類功能測試架構。它的基類TestCase給予了各種各樣肯定方式、及其全部清除和設定的方法。因而,TestCase派生類中的每一種方式全是以“test”做為專有名詞作為前綴,以標志他們可以被做為功能測試所運作。用戶能夠應用load方式和TestSuite類來排序、並載入各種各樣檢測。自然,您還可以根據協同應用,來搭建自定的穩定性測試器。如同大家應用Junit去檢測Selenium那般,UnitTest也會采用UnitTest-sml-reporting、並能轉化成各種各樣XML種類的匯報。
應用前提條件
因為UnitTest默認設置應用了Python,因而大家並不一定哪些前提條件。除開必須 具有Python架構的基礎知識,您還可以附加地安裝pip、及其用以開發設計的IDE專用工具。
優勢
開發者並不一定安裝一切別的的控制模塊。
UnitTest是xUnit的衍生品,其原理與別的xUnit架構十分相近。因而針對這些沒有扎實Python情況的人而言,也可以迅速地面上手。
用戶可以以更加簡易的方法運作單獨功能測試。您只需在終端設備上預訂好名稱,該架構便可靈便地實行各種各樣測試用例的檢測,並造成精練的輸出。
它可以在幾ms內轉化成各種各樣檢測報告。
缺陷
盡管該架構常見snake_case來取名各種各樣Python編碼,可是因為它源於Junit,因而仍保存了一些傳統式的camelCase命名方法。這通常會令人造成搞混。
因為它太多地適用了抽象方法,因而導致了測試程序的目地有時候不足清楚。
必須 很多的樣版編碼。
4.Behave
大家都了解:個人行為驅動開發(behavior-driven development,BDD),是一種根據靈巧開發軟件的***方式。它可以激勵開發者、業務流程參加者和QA工作人員,三者中間的合作。做為另一種Python檢測架構,Behave容許精英團隊繞開各種各樣繁雜的狀況,去實行BDD檢測。從實質上說,該架構與SpecFlow和Cucumber十分類似,常被用以實行功能測試。用戶能夠根據簡易最易讀的語言表達來撰寫功能測試,並可以在其實行期內黏貼到編碼當中。並且,這些被設置的行為准則與流程,還可以被器重到別的的測試方法中。
應用前提條件
一切具有Python基本知識的人都能夠應用Behave。別的前提條件還包含:
您務必先安裝Python 2.7.14及之上的版本號。
必須 根據Python包管理工具或pip來與Behave合作。
大部分開發者會挑選Pycharm做為開發工具,自然您還可以采用別的的IDE專用工具。
優勢
因為系統軟件個人行為應用了半宣布(semi-formal)語言表達、及其域詞匯(domain vocabulary),因而Behave有利於在機構中維持一致性的個人行為。
讓這些工作中在不一樣控制模塊上的開發設計精英團隊,根據融洽解決來具備相近的特點。
其搭建的每個功能塊可以實行各種各樣功能測試。
因為具備大量非常值得用戶邏輯推理和思索的關鍵點,因而總體目標商品會具備更強的規范化。
依據相近的標准文件格式,它可以讓工程項目經理和相關者,對開發設計精英團隊和QA精英團隊的輸出具備更清晰地掌握。
缺陷
只適用黑盒測試方法。
5.Lettuce
Lettuce是另一種根據Cucumber和Python的個人行為推動類自動化技術專用工具。Lettuce關鍵致力於這些具備個人行為驅動開發特點的一般每日任務。它不僅簡易實用,並且可以促使全部檢測全過程更順暢、乃至更有意思。
應用前提條件
您必須 安裝含有IDE的Python 2.7.14、及之上的版本號。自然,您還可以應用Pycharm或一切別的IDE專用工具。與此同時,您還必須 安裝Python包管理工具。
優勢
和別的BDD檢測架構相近,Lettuce可以讓開發者建立好幾個情景,並且用簡易的自然語言理解去敘述不一樣的作用。
依據相近的標准文件格式,開發設計與QA精英團隊可以融洽相處。
針對黑盒測試方法來講,Lettuce特別適合於這些個人行為推動的功能測試。
缺陷
為了更好地取得成功地完成個人行為推動檢測,開發設計精英團隊、QA工作人員及其相關者中間必須 不斷開展溝通交流。假若欠缺該類溝通交流,則會造成步驟模模糊糊,並讓精英團隊碰到難題。
Python的五大自動化測試架構bj.qa.tedu.cn/news/445373.html