隨著技術(shù)的進(jìn)步和自動(dòng)化技術(shù)的出現(xiàn),市面上出現(xiàn)了一些自動(dòng)化測試框架。只需要進(jìn)行一些適用性和效率參數(shù)的調(diào)整,這些自動(dòng)化測試框架就能夠開箱即用,大大節(jié)省了測試時(shí)間。而且由于這些框架被廣泛使用,他們具有很好的健壯性,并且具有廣泛多樣的用例集和技術(shù)來輕易發(fā)現(xiàn)微小的缺陷。
以前,測試團(tuán)隊(duì)接手一個(gè)項(xiàng)目,他們不得不為這個(gè)項(xiàng)目構(gòu)建一個(gè)自動(dòng)化測試框架。一個(gè)測試框架應(yīng)該具有最佳的測試用例、假設(shè)(assumptions)、腳本和技術(shù)來運(yùn)行每一處代碼和模塊,從而發(fā)現(xiàn)代碼缺陷和不足。不同的項(xiàng)目需要不同的測試用例、假設(shè)和腳本,而這也是為什么會(huì)在這些測試中花費(fèi)大量時(shí)間。然而,現(xiàn)在令測試人員萬分高興的是,構(gòu)建自己的測試框架的日子終于結(jié)束了。今天,我們就聊一聊可用的 Python 自動(dòng)化測試框架。
Robot Framework
Robot Framework(RF)是用于驗(yàn)收測試和驗(yàn)收測試驅(qū)動(dòng)開發(fā)(ATDD)的自動(dòng)化測試框架。 基于 Python 編寫,但也可以在 Jython(Java)和 IronPython(.NET) 上運(yùn)行,提供跨平臺支持( Windows、 Linux 或 MacOS )。
優(yōu)點(diǎn):
通過使用關(guān)鍵字驅(qū)動(dòng)測試(KDT)方法簡化了自動(dòng)化測試過程,方便測試人員創(chuàng)建易讀的測試。
測試數(shù)據(jù)語法簡單易用。
生態(tài)系統(tǒng)豐富。由各種通用測試庫和工具組成,這些工具都是作為獨(dú)立項(xiàng)目開發(fā)的。
具有高度可擴(kuò)展性。
可通過 pabot 或 Selenium Grid 執(zhí)行并行測試。
缺點(diǎn):
自定義 HTML 報(bào)告較為麻煩。
如果是針對大范圍的庫和擴(kuò)展的 KDT 自動(dòng)化測試,建議使用此跨平臺框架。如果想要添加新的關(guān)鍵字(通過 RF 測試庫 API ),需要具備 Java / Python / C 語言的基礎(chǔ)知識
RedwoodHQ
RedwoodHQ 是一個(gè)流行的自動(dòng)化測試工具,它之所以流行是因?yàn)榇蟛糠至餍械木幊陶Z言都可以用來編寫測試,例如 Java、Python、C# 等。在 RedwoodHQ 的網(wǎng)站界面上,多個(gè)測試人員可以在一個(gè)平臺上協(xié)作并運(yùn)行測試用例。開發(fā)者可以使用 RedwoodHQ 中出現(xiàn)的 action 關(guān)鍵字來毫不費(fèi)力地創(chuàng)建和修改測試用例。
你需要做的只是找到需要的 action,拖到測試盒中,然后輸入?yún)?shù)并改變它們的值來生成一份完整的測試報(bào)告。RedwoodHQ 有一個(gè)內(nèi)置的 IDE(集成開發(fā)環(huán)境),可以在那里創(chuàng)建、修改以及運(yùn)行測試用例。RedwoodHQ 是對用戶最友好或?qū)y試人員最友好的平臺之一,它關(guān)注一個(gè)重大項(xiàng)目的全部測試過程。
Jasmine
Jasmine 是一個(gè) JavaScript 單元測試框架, 也被稱為 JavaScript 的行為驅(qū)動(dòng)開發(fā)(BDD)測試框架。適用于網(wǎng)頁、Node.js 項(xiàng)目或任何可以運(yùn)行 JavaScript 的地方。它主要與 AngularJS 配對使用。
優(yōu)點(diǎn):
除了 JavaScript ,還可以運(yùn)行在 Python 和 Ruby 中。如果想在你的服務(wù)器端運(yùn)行客戶端測試,它可以幫助你。
被許多 CIs 使用和支持。
內(nèi)置用于斷言的語法。
缺點(diǎn):
多數(shù)情況下,它需要一個(gè)測試運(yùn)行器(如 Karma )。
難以異步測試。
如果你正在尋找一個(gè)統(tǒng)一的(客戶端 - 服務(wù)器)單元測試解決方案,Jasmin 可能會(huì)非常適合。
Pytest
如果你的項(xiàng)目比較小、復(fù)雜度比較低,Pytest 是最適合的自動(dòng)化測試平臺。pytest 是 python 的一種單元測試框架,與 python 自帶的 unittest 測試框架類似,但是比 unittest 框架使用起來更簡潔,效率更高。根據(jù) pytest 的官方網(wǎng)站介紹,它具有如下特點(diǎn):
非常容易上手,入門簡單,文檔豐富,文檔中有很多實(shí)例可以參考
能夠支持簡單的單元測試和復(fù)雜的功能測試
支持參數(shù)化
執(zhí)行測試過程中可以將某些測試跳過,或者對某些預(yù)期失敗的 case 標(biāo)記成失敗
支持重復(fù)執(zhí)行失敗的 case
支持運(yùn)行由 nose , unittest 編寫的測試 case
具有很多第三方插件,并且可以自定義擴(kuò)展
方便的和持續(xù)集成工具集成
Pytest 還有各種可用插件來給現(xiàn)有測試技術(shù)和測試用例增加更多功能和多樣性。事實(shí)上,在其活躍社區(qū)中有 300 多個(gè)可用的插件。該平臺設(shè)計(jì)用于編寫更簡單,錯(cuò)誤率更小的代碼。你可以將 Pytest 與諸如 Selenium 和 Splinter 之類的圖形用戶界面一起使用,來使測試工作更輕松。文章來源:http://www.zghlxwxcb.cn/news/detail-777163.html
結(jié)語
對于任何編程語言來說,都沒有絕對理想的測試框架。它取決于測試者的舒適度、項(xiàng)目需求和項(xiàng)目中特定模塊所需的測試類型。可用的自動(dòng)化測試框架有線性自動(dòng)化、基于模塊的測試、函數(shù)庫框架測試、混合測試、關(guān)鍵詞驅(qū)動(dòng)和數(shù)據(jù)驅(qū)動(dòng)測試等。每個(gè)框架都有它的優(yōu)點(diǎn)和缺點(diǎn)。上面列舉的 python 框架是性能最全面的自動(dòng)化測試框架。文章來源地址http://www.zghlxwxcb.cn/news/detail-777163.html
總結(jié)
最后如果你想學(xué)習(xí)軟件測試和需要軟件測試資料,歡迎加入筆者的交流群:731789136,里面可以免費(fèi)領(lǐng)取軟件測試+自動(dòng)化測試資料+軟件測試面試寶典+簡歷模版+實(shí)戰(zhàn)項(xiàng)目+面試刷題工具和大佬答疑解惑,我們一起交流一起學(xué)習(xí)!
到了這里,關(guān)于常用Python自動(dòng)化測試框架有哪些?優(yōu)缺點(diǎn)對比的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!