在上面一篇文章军俊,已經(jīng)就 JMeter 自動(dòng)化框架進(jìn)行環(huán)境搭建锄禽,如果大家還不了解躯砰,請(qǐng)先查看 環(huán)境搭建
編寫 JMeter 腳本
首先辉阶,準(zhǔn)備好一個(gè) JMeter 腳本文件及其參數(shù)化的數(shù)據(jù),本篇文章以訪問百度首頁為例翔脱。編寫 JMeter 腳本的過程就不在這里贅述了奴拦,大家可以百度一下。
下圖是一個(gè)編寫完整的 JMeter 腳本届吁,完整版本错妖,大家請(qǐng)到這里下載 my-baidu-test.jmx。
配置 svn 上的工程目錄和文件
在 svn 上配置好工程目錄以及相應(yīng)的 JMeter 腳本疚沐。圖片顯示 JMeterTest002
工程的目錄結(jié)構(gòu)及腳本所在文件暂氯。
PS:說句題外話,在工程中構(gòu)建良好的目錄結(jié)構(gòu)濒旦,有助于更清晰地查看問題株旷,請(qǐng)查看謝佳老師的文章 JMeter工具基礎(chǔ)知識(shí)篇-工程目錄結(jié)構(gòu)及命名規(guī)范。
Jenkins 操作
完成以上2個(gè)步驟后,剩下的晾剖,均為 jenkins 工具的事了锉矢。
一、在 jenkins 創(chuàng)建工程
創(chuàng)建工程的步驟齿尽,以幾張圖片來說明吧沽损。
按4張圖片所設(shè)置的步驟一致,即可完成創(chuàng)建一個(gè)自由風(fēng)格的 jenkins 工程循头。在配置構(gòu)建步驟之前绵估,最好先確認(rèn)一下 svn 的配置是否準(zhǔn)確,按下圖操作:
確認(rèn)成功構(gòu)建卡骂,到 jenkins 的主目錄(可到【首頁-系統(tǒng)管理-系統(tǒng)設(shè)置-主目錄】查看)下的 workspace 文件夾中国裳,查看是否下載工程文件成功即可。
二全跨、配置工程構(gòu)建步驟
jenkins 構(gòu)建工程的核心是終端命令的運(yùn)行缝左,所以我們?cè)谂渲脴?gòu)建步驟時(shí),都是配置 JMeter 的命令行浓若,根據(jù)使用的系統(tǒng)不同渺杉,選擇不同的腳本語言。Windows 選擇(Windows batch command)挪钓,macOS 和 Linux 選擇 Shell是越。
準(zhǔ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é)果
2、配置 JMeter 執(zhí)行命令
PS:如果腳本換行,在執(zhí)行過程中务漩,會(huì)報(bào)錯(cuò)拄衰。
3、配置 JMeter 生成報(bào)告命令
4瘩例、配置測(cè)試報(bào)告呈現(xiàn)插件
本次步驟需要額外的插件弄贿,請(qǐng)到【首頁-系統(tǒng)管理-管理插件-可選插件】安裝HTML Publisher Plugin
插件唯欣。
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ù)化來優(yōu)化上述的命令块促∪傺撸總結(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
完成后,如下圖所示
三斋扰、總結(jié)
一個(gè)簡(jiǎn)單實(shí)用 jenkins 構(gòu)建 JMeter 接口自動(dòng)化的例子就到這里結(jié)束了渡八。本篇文章還沒正式完成,沒有將測(cè)試結(jié)果回傳到服務(wù)器上传货,我過幾天再針對(duì)這塊更新下屎鳍。歡迎大家一起討論,一起進(jìn)步问裕。