自動(dòng)化測(cè)試常用的Python框架有哪些?
自動(dòng)化測(cè)試常用的Python框架有哪些?常用的框架有Robot Framework、Pytest、UnitTest/PyUnit、Behave、Lettuce。Pytest、Robot Framework和UnitTest主要用于功能與單元測(cè)試,Lettuce和Behave僅適用于行為驅(qū)動(dòng)測(cè)試。
一、Robot FrameworkPython測(cè)試框架之一,Robot Framework被用在測(cè)試驅(qū)動(dòng)(test-driven)類(lèi)型的開(kāi)發(fā)與驗(yàn)收中。雖然是由Python開(kāi)發(fā)而來(lái),但是它也可以在基于.Net的IronPython和基于Java的Jython上運(yùn)行。作為一個(gè)Python框架,Robot還能夠兼容諸如Windows、MacOS、以及Linux等平臺(tái)。在使用Robot Framework(RF)之前,需要先安裝Python 2.7.14及以上的版本。推薦使用Python 3.6.4,以確保適當(dāng)?shù)淖⑨屇軌虮惶砑拥酱a段中,并能夠跟蹤程序的更改。同時(shí)還需要安裝Python包管理器--pip。
二、Pytest適用于多種軟件測(cè)試的Pytest,是另一個(gè)Python類(lèi)型的自動(dòng)化測(cè)試框架。憑借著其開(kāi)源和易學(xué)的特點(diǎn),該工具經(jīng)常被QA(質(zhì)量分析)團(tuán)隊(duì)、開(kāi)發(fā)團(tuán)隊(duì)、個(gè)人團(tuán)隊(duì)、以及各種開(kāi)源項(xiàng)目所使用。鑒于Pytest具有“斷言重寫(xiě)(assert rewriting)”之類(lèi)的實(shí)用功能,許多大型互聯(lián)網(wǎng)應(yīng)用,如Dropbox和Mozilla,都已經(jīng)從下面將要提到的unittest(Pyunit)切換到了Pytest之上。除了基本的Python知識(shí),用戶并不需要更多的技術(shù)儲(chǔ)備。另外,用戶只需要有一臺(tái)帶有命令行界面的測(cè)試設(shè)備,并且安裝好了Python包管理器、以及可用于開(kāi)發(fā)的IDE工具。
三、UnitTest/PyUnitUnitTest/PyUnit一種標(biāo)準(zhǔn)化的針對(duì)單元測(cè)試的Python類(lèi)自動(dòng)化測(cè)試框架?;?lèi)TestCase提供了各種斷言方法、以及所有清理和設(shè)置的例程。因此,TestCase子類(lèi)中的每一種方法都是以“test”作為名詞前綴,以標(biāo)識(shí)它們能夠被作為測(cè)試用例所運(yùn)行。用戶可以使用load方法和TestSuite類(lèi)來(lái)分組、并加載各種測(cè)試??梢酝ㄟ^(guò)聯(lián)合使用,來(lái)構(gòu)建自定義的測(cè)試運(yùn)行器。正如我們使用Junit去測(cè)試Selenium那樣,UnitTest也會(huì)用到UnitTest-sml-reporting、并能生成各種XML類(lèi)型的報(bào)告。由于UnitTest默認(rèn)使用了Python,因此我們并不需要什么先決條件。除了需要具備Python框架的基本知識(shí),您也可以額外地安裝pip、以及用于開(kāi)發(fā)的IDE工具。
四、Behave行為驅(qū)動(dòng)開(kāi)發(fā)是一種基于敏捷軟件開(kāi)發(fā)的方法。它能夠鼓勵(lì)開(kāi)發(fā)人員、業(yè)務(wù)參與者和QA人員,三者之間的協(xié)作。Python測(cè)試框架Behave允許團(tuán)隊(duì)避開(kāi)各種復(fù)雜的情況,去執(zhí)行BDD測(cè)試。從本質(zhì)上說(shuō)該框架與SpecFlow和Cucumber相似,常被用于執(zhí)行自動(dòng)化測(cè)試。用戶可以通過(guò)簡(jiǎn)單易讀的語(yǔ)言來(lái)編寫(xiě)測(cè)試用例,并能夠在其執(zhí)行期間粘貼到代碼之中。而且,那些被設(shè)定的行為規(guī)范與步驟,也可以被重用到其他的測(cè)試方案中。任何具備Python基礎(chǔ)知識(shí)的人都可以使用Behave。其他先決條件還包括:先安裝Python 2.7.14及以上的版本。通過(guò)Python包管理器或pip來(lái)與Behave協(xié)作。大多數(shù)開(kāi)發(fā)人員會(huì)選擇Pycharm作為開(kāi)發(fā)環(huán)境,當(dāng)然您也可以選用其他的IDE工具。
五、LettuceLettuce是另一種基于Cucumber和Python的行為驅(qū)動(dòng)類(lèi)自動(dòng)化工具。Lettuce主要專(zhuān)注于那些具有行為驅(qū)動(dòng)開(kāi)發(fā)特征的普通任務(wù)。它不但簡(jiǎn)單易用,而且能夠使得整個(gè)測(cè)試過(guò)程更流暢、甚至更有趣。安裝帶有IDE的Python 2.7.14、及以上的版本。當(dāng)然,您也可以使用Pycharm或任何其他IDE工具。同時(shí),您還需要安裝Python包管理器。自動(dòng)化測(cè)試的Python框架,Pytest、Robot Framework和UnitTest可主要用于功能與單元測(cè)試,而Lettuce和Behave僅適用于行為驅(qū)動(dòng)測(cè)試。對(duì)于功能測(cè)試而言,Pytest是的。如果您是基于Python自動(dòng)化測(cè)試的新手,Robot Framework是的入門(mén)工具。雖然其功能有所受限,但是它非常容易上手。對(duì)于基于Python的BDD測(cè)試而言,Lettuce和Behave同樣優(yōu)秀。不過(guò),如果你已經(jīng)有了一定的Pytest經(jīng)驗(yàn),那么請(qǐng)使用Pytest-bdd,希望本文能夠幫助您選出合適的Python測(cè)試框架,并順利開(kāi)展測(cè)試工作。