Robot Framework測(cè)試用例并行執(zhí)行

背景

在實(shí)際的測(cè)試業(yè)務(wù)中,我們往往會(huì)遇到測(cè)試用例執(zhí)行時(shí)間比較長(zhǎng),大量的測(cè)試用例串行執(zhí)行的話,會(huì)使的整個(gè)測(cè)試周期變長(zhǎng),導(dǎo)致不能及時(shí)的反饋?zhàn)詣?dòng)化測(cè)試的結(jié)果。因此我們會(huì)想出幾種解決方案,來(lái)并行的執(zhí)行測(cè)試用例,加快自動(dòng)化測(cè)試時(shí)間。做到能夠及時(shí)的反饋測(cè)試結(jié)果。

設(shè)計(jì)方案

方案一:

測(cè)試用例分布式執(zhí)行,通過(guò)策略,將不同的測(cè)試用例,分發(fā)到不同的測(cè)試機(jī)上進(jìn)行執(zhí)行,然后收集測(cè)試結(jié)果,合并測(cè)試報(bào)告。

這里我們以web測(cè)試為例:

test-arch-robot.png

通過(guò)Hub節(jié)點(diǎn)中心,將不同的測(cè)試請(qǐng)求分發(fā)到合適的測(cè)試節(jié)點(diǎn)中去,實(shí)現(xiàn)測(cè)試的分布式執(zhí)行。

方案二:

在同一臺(tái)測(cè)試機(jī)上,啟動(dòng)不同的進(jìn)程,來(lái)分別執(zhí)行不同的測(cè)試用例,根據(jù)測(cè)試機(jī)的CPU核數(shù)確定啟動(dòng)的進(jìn)程數(shù),實(shí)現(xiàn)真正的并行執(zhí)行。

這里我們主要用到了開(kāi)源工具pabot來(lái)實(shí)現(xiàn)robot測(cè)試用例的并行執(zhí)行。

robot_pabot.jpg

樣例

執(zhí)行下面這個(gè)簡(jiǎn)單的用例,了解并行執(zhí)行過(guò)程。

pip install -U robotframework-pabot==0.35
git clone https://github.com/wywincl/example-for-pabot.git
cd example-for-robot && pabot --processes 5 topsuite

輸出

ubuntu2@ubuntu2-PowerEdge-R410:~/tmp/example-for-pabot$ pabot --processes 5 topsuite
2017-01-05 15:48:13.683078 [PID:30072] [3] EXECUTING Topsuite.Testsuite2-測(cè)試2
2017-01-05 15:48:13.690442 [PID:30075] [4] EXECUTING Topsuite.Testsuite3
2017-01-05 15:48:13.689776 [PID:30073] [1] EXECUTING Topsuite.2Suite.Testsuite5-測(cè)試5
2017-01-05 15:48:13.696798 [PID:30079] [0] EXECUTING Topsuite.2Suite.Testsuite4
2017-01-05 15:48:13.978538 [PID:30077] [2] EXECUTING Topsuite.Testsuite1
2017-01-05 15:48:14.079019 [PID:30077] [2] PASSED Topsuite.Testsuite1 in 0.1 seconds
2017-01-05 15:48:14.089794 [PID:30072] [3] PASSED Topsuite.Testsuite2-測(cè)試2 in 0.4 seconds
2017-01-05 15:48:14.091765 [PID:30075] [4] PASSED Topsuite.Testsuite3 in 0.4 seconds
2017-01-05 15:48:14.094498 [PID:30073] [1] PASSED Topsuite.2Suite.Testsuite5-測(cè)試5 in 0.4 seconds
2017-01-05 15:48:14.098067 [PID:30079] [0] PASSED Topsuite.2Suite.Testsuite4 in 0.4 seconds
Output:  /home/ubuntu2/tmp/example-for-pabot/output.xml
Log:     /home/ubuntu2/tmp/example-for-pabot/log.html
Report:  /home/ubuntu2/tmp/example-for-pabot/report.html
Elapsed time: 0 minutes 0.664 seconds

小結(jié)

結(jié)合Jenkins+docker技術(shù),我們可以很方便的基于上面的兩套方案,打造分布式并行自動(dòng)化測(cè)試集群。

備注

Does not Support Other Unicode Character Like Chinese Character. 中文支持問(wèn)題已經(jīng)解決了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.測(cè)試與軟件模型 軟件開(kāi)發(fā)生命周期模型指的是軟件開(kāi)發(fā)全過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)性框架。軟件項(xiàng)目的開(kāi)發(fā)包括:需求、設(shè)...
    宇文臭臭閱讀 6,852評(píng)論 5 101
  • 1.測(cè)試與軟件模型 軟件開(kāi)發(fā)生命周期模型指的是軟件開(kāi)發(fā)全過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)性框架。軟件項(xiàng)目的開(kāi)發(fā)包括:需求、設(shè)...
    Mr希靈閱讀 22,376評(píng)論 7 278
  • 文章來(lái)自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鵬閱讀 9,345評(píng)論 2 126
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • 指數(shù)分析 大盤(pán)再次破位下殺,到目前為止,沒(méi)有出現(xiàn)60分鐘的止跌效應(yīng),所以,我們的策略依舊是堅(jiān)決不抄底。我想這是我最...
    牛呼呼閱讀 373評(píng)論 0 2

友情鏈接更多精彩內(nèi)容