Jmeter關(guān)聯(lián)實(shí)現(xiàn)及參數(shù)化使用解析
前言
一、Jmeter介紹
- 一款融合接口、性能都能完成的測(cè)試工具
- 純JAVA開(kāi)發(fā)的工具
- 開(kāi)源工具
- 支持多種協(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é)果樹(shù):右擊線程組--添加--監(jiān)聽(tīng)器--新增察看結(jié)果樹(shù)
- 保存剛設(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)一些常見(jià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取樣器寫(xiě)java代碼來(lái)實(shí)現(xiàn)等
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
spring boot上傳文件出錯(cuò)問(wèn)題如何解決
這篇文章主要介紹了spring boot上傳文件出錯(cuò)問(wèn)題如何解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
Hadoop?MapReduce實(shí)現(xiàn)單詞計(jì)數(shù)(Word?Count)
這篇文章主要為大家詳細(xì)介紹了如何利用Hadoop實(shí)現(xiàn)單詞計(jì)數(shù)(Word?Count)的MapReduce,文中的示例代碼講解詳細(xì),感興趣的可以跟隨小編一起學(xué)習(xí)一下2023-05-05
maven依賴版本沒(méi)有按照最短路徑原則生效的解決方案
這篇文章主要介紹了maven依賴版本沒(méi)有生效的解決方案,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下2021-01-01
spring?IOC容器管理必須知道的一些操作(基于XML方式)
Spring框架的核心是Spring容器,容器創(chuàng)建對(duì)象,將它們裝配在一起,配置它們并管理它們的完整生命周期,下面這篇文章主要給大家介紹了關(guān)于spring?IOC容器管理必須知道的一些操作,需要的朋友可以參考下2022-03-03
完整B樹(shù)算法Java實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了完整的B樹(shù)算法Java實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
java.lang.UnsupportedOperationException分析及解決辦法
日常開(kāi)發(fā)中我遇到j(luò)ava.lang.UnsupportedOperationException:異常兩次了,下面這篇文章主要給對(duì)大家介紹了關(guān)于java.lang.UnsupportedOperationException分析及解決辦法,需要的朋友可以參考下2024-03-03
Java的System.getProperty()方法獲取大全
這篇文章主要介紹了Java的System.getProperty()方法獲取大全,羅列了System.getProperty()方法獲取各類信息的用法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12

