我們了解RobotFramework編寫自動(dòng)化測(cè)試用例的方法,了解如何將用例在Jenkins上運(yùn)行。

但是,隨著用例的增多,傳統(tǒng)的pybot/robot命令運(yùn)行測(cè)試用例會(huì)耗費(fèi)大量的時(shí)間,這就慢慢成為了一個(gè)苦惱的問(wèn)題。
那么,在Jenkins上如何實(shí)現(xiàn)用例的并發(fā)運(yùn)行呢?!
我們需要認(rèn)識(shí)的是Jenkins只是一個(gè)持續(xù)集成的自動(dòng)化工具,在Jenkins服務(wù)里,我們可以通過(guò)調(diào)用shell腳本或python腳本等的方式實(shí)現(xiàn)我們的用例運(yùn)行。
通過(guò)RobotFramework要實(shí)現(xiàn)用例的并發(fā)運(yùn)行,不得不提一下pabot庫(kù)——RobotFramework測(cè)試并行執(zhí)行器,可以將一個(gè)執(zhí)行拆分為多個(gè)執(zhí)行并節(jié)約測(cè)試執(zhí)行時(shí)間。
pabot安裝方法
在線安裝方法:使用pip install -U robotframework-pabot 命令即可。
離線安裝方法:通過(guò)https://github.com/mkorpela/pabot地址下載,安裝壓縮包,解壓后,使用setup.py install命令即可。
pabot使用方法
1、參數(shù)列表

2、使用方法
基本使用方法,如:pabot --processsess 2 /home/robotframwork-test,使用2個(gè)并行執(zhí)行/home/robotframework-test目錄下的測(cè)試用例。
pabot使用場(chǎng)景模擬
1、如何多并發(fā)執(zhí)行測(cè)試用例
這是我們選擇使用pabot的最原始和基本需求,使用--processess參數(shù)即可滿足,參考上述”基本使用方法”。
2、如何重復(fù)測(cè)試失敗測(cè)試用例
在沒(méi)有選擇使用pabot之前,我們使用pybot運(yùn)行用例時(shí),可以使用--rerunfailed參數(shù)讀取output.xml文件中失敗的用例重新執(zhí)行。命令如:pybot --rerunfailed ./output.xml。
當(dāng)我們使用pabot并發(fā)運(yùn)行之后,我們同樣可以調(diào)用pybot的--rerunfailed參數(shù),重新運(yùn)行失敗用例。參考命令如:pabot --processesses 2 pybot --rerunfailed /home/robotframework-test。
3)如何控制執(zhí)行順序
pabot默認(rèn)通過(guò)pabotsuitenames文件控制執(zhí)行序.pabotsuitenames文件結(jié)果如下圖1所示。前4行為pabot運(yùn)行時(shí)生成的相關(guān)信息,其后為運(yùn)行的用例套件順序。如果我們想控制用例執(zhí)行順序,可通過(guò)--odering [文件名]參數(shù)來(lái)控制,例如:pabot --ordering file,file為文件名。file里的內(nèi)容前4行為空,從第5行開(kāi)始編輯,格式如.pabotsuitenames。

圖1 pabotsuitenames文件內(nèi)容

圖2 編輯的file文件內(nèi)容
通過(guò)pabot –ordering file運(yùn)行用例,可看到執(zhí)行順序如下圖3所示(ID號(hào)表明執(zhí)行順序)。由下圖可見(jiàn),執(zhí)行順序于圖2中指定的順序一致。

圖3 指定file文件控制執(zhí)行順序
此外,還可以并添加#WAIT標(biāo)志,等待前面的用例執(zhí)行完后再執(zhí)行#WAIT后的用例,參考格式如下圖所示。

圖4 #WAIT參數(shù)使用方法
4)如何使用非默認(rèn)的pybot/robot啟動(dòng)命令
有的測(cè)試環(huán)境可能存在不止一個(gè)pybot/robot命令,例如:python2和 python3并存,且都安裝了robotframework。環(huán)境默認(rèn)使用python2語(yǔ)言。當(dāng)使用pabot pybot/robot….時(shí),默認(rèn)使用的時(shí)python2的pybot/robot。那么如何使用python3的pybot/robot呢?
這個(gè)時(shí)候,使用--command [自定義 pybot/robot 命令] –end-command 即可滿足我們的要求。例如:pabot --command python3 -m robot --end-command --processes 2。
4.總結(jié)
本文簡(jiǎn)單介紹了pabot的使用方法和一些使用場(chǎng)景。使用pabot可以提高我們r(jià)obotframework測(cè)試用例的執(zhí)行效率,但是指的注意的是:pabot是以測(cè)試套件為單位并行運(yùn)行的。因此可能存在如果用例套件的用例分布不均(比如A套件100個(gè)用例,B套件10個(gè)用例),那么用例少的套件則會(huì)早早執(zhí)行完,資源空置無(wú)法合理利用。這個(gè)時(shí)候就需要我們拆分用例套件或均勻化用例,提高執(zhí)行效率和資源使用率。此外,用例并發(fā)更加關(guān)鍵的一點(diǎn)是要去除用例之間的耦合和相互依賴性,避免因?yàn)橛美g的順序依賴導(dǎo)致用例運(yùn)行失敗。
最后:
可以到我的個(gè)人號(hào):atstudy-js,可以免費(fèi)領(lǐng)取一份10G軟件測(cè)試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!其中包括了有基礎(chǔ)知識(shí)、Linux必備、Mysql數(shù)據(jù)庫(kù)、抓包工具、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開(kāi)發(fā)測(cè)試框架、性能測(cè)試等。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-678965.html
這些測(cè)試資料,對(duì)于做【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴我走過(guò)了最艱難的路程,希望也能幫助到你!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-678965.html
到了這里,關(guān)于RobotFramework編寫用例,在Jenkins上如何實(shí)現(xiàn)用例的并發(fā)運(yùn)行?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!