JMeter + jenkins + SVN 接口自動(dòng)化之簡(jiǎn)單 demo

在上面一篇文章,已經(jīng)就 JMeter 自動(dòng)化框架進(jìn)行環(huán)境搭建,如果大家還不了解,請(qǐng)先查看 環(huán)境搭建

編寫(xiě) JMeter 腳本

首先,準(zhǔn)備好一個(gè) JMeter 腳本文件及其參數(shù)化的數(shù)據(jù),本篇文章以訪問(wèn)百度首頁(yè)為例。編寫(xiě) JMeter 腳本的過(guò)程就不在這里贅述了,大家可以百度一下。
下圖是一個(gè)編寫(xiě)完整的 JMeter 腳本,完整版本,大家請(qǐng)到這里下載 my-baidu-test.jmx。

JMeter 腳本

配置 svn 上的工程目錄和文件

在 svn 上配置好工程目錄以及相應(yīng)的 JMeter 腳本。圖片顯示 JMeterTest002 工程的目錄結(jié)構(gòu)及腳本所在文件。

svn目錄詳情.png

PS:說(shuō)句題外話,在工程中構(gòu)建良好的目錄結(jié)構(gòu),有助于更清晰地查看問(wèn)題,請(qǐng)查看謝佳老師的文章 JMeter工具基礎(chǔ)知識(shí)篇-工程目錄結(jié)構(gòu)及命名規(guī)范

Jenkins 操作

完成以上2個(gè)步驟后,剩下的,均為 jenkins 工具的事了。

一、在 jenkins 創(chuàng)建工程

創(chuàng)建工程的步驟,以幾張圖片來(lái)說(shuō)明吧。

jenkins 創(chuàng)建工程1.png
jenkins 創(chuàng)建工程2.png
jenkins 創(chuàng)建工程3.png
jenkins 創(chuàng)建工程4.png

按4張圖片所設(shè)置的步驟一致,即可完成創(chuàng)建一個(gè)自由風(fēng)格的 jenkins 工程。在配置構(gòu)建步驟之前,最好先確認(rèn)一下 svn 的配置是否準(zhǔn)確,按下圖操作:

jenkins 創(chuàng)建工程5.png

確認(rèn)成功構(gòu)建,到 jenkins 的主目錄(可到【首頁(yè)-系統(tǒng)管理-系統(tǒng)設(shè)置-主目錄】查看)下的 workspace 文件夾中,查看是否下載工程文件成功即可。

二、配置工程構(gòu)建步驟

jenkins 構(gòu)建工程的核心是終端命令的運(yùn)行,所以我們?cè)谂渲脴?gòu)建步驟時(shí),都是配置 JMeter 的命令行,根據(jù)使用的系統(tǒng)不同,選擇不同的腳本語(yǔ)言。Windows 選擇(Windows batch command),macOS 和 Linux 選擇 Shell。

準(zhǔn)備

首先,我們要思考的問(wèn)題是我們想要的一個(gè)測(cè)試流程,根據(jù)這個(gè)流程挑選 JMeter 的命令。

1、創(chuàng)建好指定的結(jié)果目錄;
2、執(zhí)行 jmeter 結(jié)果,得出測(cè)試結(jié)果 jtl;
3、根據(jù) jtl 生成測(cè)試報(bào)告;
4、(選做)最好能將測(cè)試報(bào)告顯示在 jenkins 上,方便查看。

步驟1-3在【配置 - 構(gòu)建】路徑完成,步驟4在【配置 - 構(gòu)建/構(gòu)建后操作】?jī)蓚€(gè)路徑完成。

1、創(chuàng)建結(jié)果子目錄,便于管理執(zhí)行結(jié)果

jenkins 配置構(gòu)建1.png

2、配置 JMeter 執(zhí)行命令

jenkins 配置構(gòu)建2.png

PS:如果腳本換行,在執(zhí)行過(guò)程中,會(huì)報(bào)錯(cuò)。

3、配置 JMeter 生成報(bào)告命令

jenkins 配置構(gòu)建3.png

4、配置測(cè)試報(bào)告呈現(xiàn)插件

本次步驟需要額外的插件,請(qǐng)到【首頁(yè)-系統(tǒng)管理-管理插件-可選插件】安裝HTML Publisher Plugin插件。

jenkins 配置構(gòu)建4.png

5、總結(jié)

進(jìn)行到這里,基本上,一個(gè)工程構(gòu)建+測(cè)試+測(cè)試報(bào)告呈現(xiàn)基本都已經(jīng)實(shí)現(xiàn)了。

二、優(yōu)化上述構(gòu)建步驟命令

從上述命令可以看出,命令還不是很好,不夠規(guī)范,有很多重復(fù)的參數(shù)。我們可以使用參數(shù)化來(lái)優(yōu)化上述的命令??偨Y(jié)一下上述命令重復(fù)的參數(shù):

param1: /usr/local/Cellar/jmeter/3.3/libexec/bin
param2: /Users/yourName/.jenkins/workspace/JMeterTest001
param3: my-baidu-test
param4: 加上執(zhí)行次數(shù)

將以上三個(gè)重復(fù)的參數(shù)并加上執(zhí)行次數(shù)后,重新命名為

param1 --> jmeterExecutePath
param2 --> WORKSPACE (jenkins 的環(huán)境變量)
param3 --> jmeterScriptName
param4 --> resultIndex

完成后,那么上述構(gòu)建的執(zhí)行命令應(yīng)該如下所示:

# 創(chuàng)建結(jié)果子目錄,便于管理執(zhí)行結(jié)果
mkdir $WORKSPACE/result/html/$resultIndex
mkdir $WORKSPACE/result/jtl/$resultIndex
mkdir $WORKSPACE/result/log/$resultIndex

# jmeter 腳本執(zhí)行命令
$jmeterExecutePath/jmeter.sh -n -t $WORKSPACE/script/$jmeterScriptName.jmx -l $WORKSPACE/result/jtl/$resultIndex/$jmeterScriptName.jtl -j $WORKSPACE/result/log/$resultIndex/$jmeterScriptName.log

# jmeter 報(bào)告生成命令
$jmeterExecutePath/jmeter.sh -g $WORKSPACE/result/jtl/$resultIndex/$jmeterScriptName.jtl -o $WORKSPACE/result/html/$resultIndex -j $WORKSPACE/result/log/$resultIndex/${jmeterScriptName}-report.log

# html報(bào)告呈現(xiàn)
html Report 路徑:$WORKSPACE/result/html/$resultIndex

完成后,如下圖所示

參數(shù)化后的命令1.png
參數(shù)化后的命令2.png

三、總結(jié)

一個(gè)簡(jiǎn)單實(shí)用 jenkins 構(gòu)建 JMeter 接口自動(dòng)化的例子就到這里結(jié)束了。本篇文章還沒(méi)正式完成,沒(méi)有將測(cè)試結(jié)果回傳到服務(wù)器上,我過(guò)幾天再針對(duì)這塊更新下。歡迎大家一起討論,一起進(jìn)步。

最后編輯于
?著作權(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ù)。

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