Jmeter關(guān)聯(lián)實(shí)現(xiàn)及參數(shù)化使用解析
前言
一、Jmeter介紹
- 一款融合接口、性能都能完成的測(cè)試工具
- 純JAVA開發(fā)的工具
- 開源工具
- 支持多種協(xié)議
- 應(yīng)該是測(cè)試業(yè)界目前應(yīng)用最多的工具之一
二、接口執(zhí)行實(shí)現(xiàn)
- 添加HTTP取樣器:右擊測(cè)試計(jì)劃--新建并右擊線程組--添加--取樣器--新增HTTP請(qǐng)求
- 在HTTP請(qǐng)求元件中添加相應(yīng)請(qǐng)求信息(請(qǐng)求行、請(qǐng)求頭、請(qǐng)求正文)
- 添加察看結(jié)果樹:右擊線程組--添加--監(jiān)聽器--新增察看結(jié)果樹
- 保存剛設(shè)置的接口腳本,點(diǎn)擊執(zhí)行
三、關(guān)聯(lián)實(shí)現(xiàn)
3.1 關(guān)聯(lián)的概念
關(guān)聯(lián)也稱為串行傳參或數(shù)據(jù)依賴,即上一個(gè)接口返回的內(nèi)容的部分值作為下一個(gè)接口運(yùn)行的參數(shù)的過(guò)程。
3.2 關(guān)聯(lián)的實(shí)現(xiàn)步驟
- 在jmeter中錄入A、B兩個(gè)接口的信息(A為上一個(gè)接口、B為下一個(gè)接口,方便下面描述)
- 右擊 A 接口的取樣器 -- 添加 -- 后置處理器 -- 正則表達(dá)式提取器
- 在正則表達(dá)式提取器設(shè)置截取B接口所需要的參數(shù)信息,參數(shù)名假定為token
- 進(jìn)入 B 接口的取樣器,把需要填入A接口參數(shù)的地方用 ${token} 來(lái)替換
- 備注:如果返回的響應(yīng)正文是json數(shù)據(jù),還可以使用JSON提取器
正則表達(dá)式提取器界面操作介紹:
JSON提取器界面操作介紹:
四、參數(shù)化實(shí)現(xiàn)
參數(shù)化是為了讓相同的模塊、方法使用不同的參數(shù)進(jìn)行測(cè)試,達(dá)到提高測(cè)試覆蓋率的目的,jmeter實(shí)現(xiàn)參數(shù)化的方式很多,常用的方式有:
用戶定義的變量實(shí)現(xiàn)
函數(shù)助手對(duì)話框的部分函數(shù)實(shí)現(xiàn)
依次進(jìn)入--tools菜單--函數(shù)助手對(duì)話框,部分函數(shù)舉例如下:
${__machineIP()}函數(shù):
${__Random()}函數(shù):
${__RandomDate()}函數(shù):
${__RandomString()}函數(shù):
利用csv文件實(shí)現(xiàn)
CSV是一種通用的、相對(duì)簡(jiǎn)單的文件格式,被用戶、商業(yè)和科學(xué)廣泛應(yīng)用。最廣泛的應(yīng)用是在程序之間轉(zhuǎn)移表格數(shù)據(jù),jmeter使用csv文件也可以來(lái)進(jìn)行參數(shù)化。
通過(guò)右擊線程組--添加--配置文件--csv數(shù)據(jù)文件設(shè)置,界面如下:
五:總結(jié)
- 關(guān)聯(lián)和參數(shù)化是jmeter必備技能之一,必須掌握
- 關(guān)聯(lián)可以擴(kuò)展到實(shí)現(xiàn)一些常見的業(yè)務(wù)場(chǎng)景,比如隨機(jī)對(duì)商品下單、隨機(jī)選擇選項(xiàng)等
- 進(jìn)行分布式性能測(cè)試的時(shí)候,csv文件注意保持每臺(tái)獨(dú)立
- 參數(shù)化這一塊還可以調(diào)用數(shù)據(jù)庫(kù)數(shù)據(jù)、利用Bean shell取樣器寫java代碼來(lái)實(shí)現(xiàn)等
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
gradle配置國(guó)內(nèi)鏡像的實(shí)現(xiàn)
這篇文章主要介紹了gradle配置國(guó)內(nèi)鏡像的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Java四舍五入時(shí)保留指定小數(shù)位數(shù)的五種方式
這篇文章主要介紹了Java四舍五入時(shí)保留指定小數(shù)位數(shù)的五種方式,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2020-09-09java8 實(shí)現(xiàn)map以value值排序操作
這篇文章主要介紹了java8 實(shí)現(xiàn)map以value值排序操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12Java動(dòng)態(tài)腳本Groovy獲取Bean技巧
這篇文章主要給大家分享的是Java動(dòng)態(tài)腳本Groovy獲取Bean技巧,在Java代碼中當(dāng)我們需要一個(gè)Bean對(duì)象,通常會(huì)使用spring中@Autowired注解,用來(lái)自動(dòng)裝配對(duì)象。下面我們一起進(jìn)入文章學(xué)習(xí)個(gè)表格多 詳細(xì)內(nèi)容吧2021-12-12java中public class與class的區(qū)別詳解
以下是對(duì)java中public class與class的區(qū)別進(jìn)行了分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-07-07一文帶你學(xué)會(huì)Java網(wǎng)絡(luò)編程
網(wǎng)絡(luò)編程是指編寫運(yùn)行在多個(gè)設(shè)備(計(jì)算機(jī))的程序,這些設(shè)備都通過(guò)網(wǎng)絡(luò)連接起來(lái)。這篇文章將帶大家深入了解一下Java的網(wǎng)絡(luò)編程,需要的可以了解一下2022-08-08詳解Java中while和do-while循環(huán)、break的使用
本文介紹了循環(huán)結(jié)構(gòu)語(yǔ)句while和do-while循環(huán)、break的使用,while循環(huán)語(yǔ)句通過(guò)流程圖和語(yǔ)法語(yǔ)句結(jié)合一個(gè)求1~10的整數(shù)和的例子來(lái)幫助大家理解while循環(huán)的用法,感興趣的朋友跟隨小編來(lái)看看吧2020-11-11解析ConcurrentHashMap:成員屬性、內(nèi)部類、構(gòu)造方法
ConcurrentHashMap是由Segment數(shù)組結(jié)構(gòu)和HashEntry數(shù)組結(jié)構(gòu)組成。Segment的結(jié)構(gòu)和HashMap類似,是一種數(shù)組和鏈表結(jié)構(gòu),今天給大家普及java面試常見問(wèn)題---ConcurrentHashMap知識(shí),一起看看吧2021-06-06Java女裝商城系統(tǒng)的實(shí)現(xiàn)流程
讀萬(wàn)卷書不如行萬(wàn)里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實(shí)現(xiàn)一個(gè)女裝商城系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-11-11Spring @Value如何通過(guò)${}、#{}注入不同類型的值
這篇文章主要介紹了Spring @Value如何通過(guò)${}、#{}注入不同類型的值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05