Jmeter基础006----Jmeter关联(重点)
一、Jmeter關(guān)聯(lián)概述
1、概述
在性能測(cè)試腳本中,常常出現(xiàn)上一個(gè)請(qǐng)求的返回結(jié)果中包含了下一個(gè)請(qǐng)求需要發(fā)送的參數(shù),這就是關(guān)聯(lián)。關(guān)聯(lián)實(shí)質(zhì)是請(qǐng)求與請(qǐng)求之間存在數(shù)據(jù)依賴關(guān)系,一個(gè)請(qǐng)求的結(jié)果是另一個(gè)請(qǐng)求提交的數(shù)據(jù),兩個(gè)請(qǐng)求不再是獨(dú)立存在的。
2、關(guān)聯(lián)的一般步驟
從上一個(gè)請(qǐng)求提取關(guān)心的數(shù)據(jù)保存到變量
在下一個(gè)請(qǐng)求引用該變量 ${變量名}。
3、關(guān)聯(lián)的使用方法
JDBC將操作結(jié)果賦值給變量,再在另一個(gè)請(qǐng)求中調(diào)用變量
正則表達(dá)式提取器
XPath提取器
Css/Jquary提取器
Json提取器
BeanShell等具有提取功能的后置處理器
二、關(guān)聯(lián)之XPath提取器
1、需求:
在Google中打開百度界面-----將百度請(qǐng)求得到的tltle標(biāo)簽值作為google請(qǐng)求的請(qǐng)求數(shù)據(jù)進(jìn)行請(qǐng)求
2、實(shí)現(xiàn)過(guò)程:
(1)創(chuàng)建訪問(wèn)百度和訪問(wèn)Google的HTTP請(qǐng)求,如下圖所示,Google請(qǐng)求的路徑先不填寫。
(2)查看結(jié)果樹,并將訪問(wèn)百度請(qǐng)求的響應(yīng)結(jié)果的格式修改為HTML格式,如下圖所示:
(3)在訪問(wèn)百度請(qǐng)求上右鍵----添加----后置處理器----Xpath Extractor,創(chuàng)建Xpath提取器,定義變量并編寫Xpath路徑,如下圖所示:
(4)修改google中的請(qǐng)求路徑,調(diào)用定義的變量,如下圖所示:
(5)運(yùn)行測(cè)試計(jì)劃,查看結(jié)果樹的顯示結(jié)果,如下圖所示:
三、參數(shù)化之正則表達(dá)式提取器
1、正則表達(dá)式
正則表達(dá)式,又稱規(guī)則表達(dá)式,正則表達(dá)式通常被用來(lái)檢索 、替換那些符合某個(gè)規(guī)則的文本。詳情資料:https://www.w3cschool.cn/regexp/tfua1pq5.html
2、需求
查詢接口查詢某個(gè)學(xué)院信息,并使用百度進(jìn)行搜索該學(xué)院信息。
3、實(shí)現(xiàn)過(guò)程
(1)創(chuàng)建查詢某個(gè)學(xué)院信息的HTTP請(qǐng)求,運(yùn)行測(cè)試計(jì)劃,查看結(jié)果樹,并修改請(qǐng)求結(jié)果的格式為JSON格式,如下圖所示:
(2)查詢某個(gè)學(xué)院信息的HTTP請(qǐng)求右鍵-----添加-----后置處理器-----正則表達(dá)式提取器,新建正則表達(dá)式提取器并編輯提取器中的變量名、正則表達(dá)式、模板、匹配數(shù)字等,如下圖所示:
注:當(dāng)匹配數(shù)字為0時(shí)獲取到的是隨機(jī)的學(xué)院信息,當(dāng)為2時(shí),獲取的時(shí)第二個(gè)學(xué)院信息。不加?匹配到最后一個(gè)結(jié)束標(biāo)記(;,);加?表示匹配到第一個(gè)結(jié)束標(biāo)記。
(3)創(chuàng)建百度訪問(wèn)請(qǐng)求,修改訪問(wèn)路徑,調(diào)用正則表達(dá)式提取器中定義的變量,如下圖所示:
(4)運(yùn)行測(cè)試計(jì)劃,查看結(jié)果樹
4、正則表達(dá)式提取器設(shè)置
(1)引用名稱:下一個(gè)請(qǐng)求要引用的參數(shù)名稱,如填寫title,則可用${title}引用它。
(2)正則表達(dá)式:制定規(guī)則的公式,公式模板:前綴識(shí)別()后綴識(shí)別
():括號(hào)括起來(lái)的部分就是要提取的數(shù)據(jù)
. :點(diǎn)表示匹配字符
+ :代表+號(hào)前面的字符必須至少出現(xiàn)一次(一次或多次)
?:在找到第一個(gè)匹配項(xiàng)后停止
* :匹配規(guī)則內(nèi)所有的字符串
(3)模板:$$格式:如果只有一個(gè)模板,一般就填寫$?1$,也可有多個(gè)模板,如$1$…3$等等,表示解析到的第幾個(gè)值給保存到定義的變量中。如:$1$表示解析到的第1個(gè)值;
(4)匹配數(shù)字:表示將第幾個(gè)匹配結(jié)果返回。0代表隨機(jī)取值,1代表全部取值,通常情況下填0
(5)缺省值:如果參數(shù)沒有取得到值,那默認(rèn)給一個(gè)值讓它取
三、總結(jié)
1、使用場(chǎng)景:一個(gè)請(qǐng)求的響應(yīng)數(shù)據(jù)作為另一個(gè)請(qǐng)求提交的數(shù)據(jù)
2、 優(yōu)點(diǎn):使用關(guān)聯(lián)可以組織多樣的業(yè)務(wù)邏輯
3、實(shí)現(xiàn)方案1:XPath 提取器(html 等標(biāo)簽語(yǔ)言)
實(shí)現(xiàn)方案2:正 則表達(dá)式提取器(普通文本)
.:表示任意字符
*:任意字符串
+:一個(gè)或多個(gè)
?:到第一個(gè)結(jié)束標(biāo)記
():聲明截取的區(qū)間范圍
4、選用:如果從標(biāo)簽(HTML|XML)語(yǔ)言提取數(shù)據(jù)最好使用Xpath提取器,如果想要的數(shù)據(jù)是文本格式,則使用正則表達(dá)式比較方便。
5、注意:提取器必須放在請(qǐng)求下面,如下圖所示:
注:可通過(guò)線程組右鍵----添加----取樣器----debug sampler,查看提取器是否獲取到值。
注:正則表達(dá)式提取器中若正則表達(dá)式是JSON格式,冒號(hào)后沒有空格,否則可能導(dǎo)致無(wú)法解析出來(lái)。
總結(jié)
以上是生活随笔為你收集整理的Jmeter基础006----Jmeter关联(重点)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 上海南翔古镇(上海嘉定的南翔古镇)
- 下一篇: 无线局域网络 WIFI/WAPI/WLA