一、Jmeter關(guān)聯(lián)的方式:
Jmeter中關(guān)聯(lián)可以在需要獲取數(shù)據(jù)的請(qǐng)求上 右鍵-->后置處理器 選擇需要的關(guān)聯(lián)方式送爸,如下圖有很多種方法可以提取動(dòng)態(tài)變化數(shù)據(jù):
二灌闺、正則表達(dá)式提取器:
1骤公、比如需要提取如下響應(yīng)文本中的 “百度一下,你就知道” 里面的 “百度一下满俗,你就知道”:
2转捕、設(shè)置正則表達(dá)式提取器:
說(shuō)明:
(1)引用名稱:下一個(gè)請(qǐng)求要引用的參數(shù)名稱,如填寫title唆垃,則可用${title}引用它五芝。
(2)正則表達(dá)式:
():括起來(lái)的部分就是要提取的。
.:匹配任何字符串辕万。
+:一次或多次枢步。
?:不要太貪婪,在找到第一個(gè)匹配項(xiàng)后停止渐尿。
(3)模板:用$$引用起來(lái)砖茸,如果在正則表達(dá)式中有多個(gè)正則表達(dá)式,則可以是$2$$3$等等,表示解析到的第幾個(gè)值給title蹲姐。如:$1$表示解析到的第1個(gè)值
(4)匹配數(shù)字:0代表隨機(jī)取值凫岖,1代表全部取值扎阶,通常情況下填0
(5)缺省值:如果參數(shù)沒(méi)有取得到值犀农,那默認(rèn)給一個(gè)值讓它取。
3、使用2中獲取到的值:
三谎柄、關(guān)于正則表達(dá)式的舉例說(shuō)明:
1劈猿、提取單個(gè)字符串:
假如想匹配Web頁(yè)面的如下部分:name = "file" value = "readme.txt">并提取readme.txt。一個(gè)合適的正則表達(dá)式:name = "file" value = "(.+?)">必逆。
():封裝了待返回的匹配字符串。
.:匹配任何單個(gè)字符串揽乱。
+:一次或多次名眉。
?:不要太貪婪,在找到第一個(gè)匹配項(xiàng)后停止凰棉。
2损拢、提取多個(gè)字符串:
假如想匹配Web頁(yè)面的如下部分:name = "file.name" value = "readme.txt">并提取file.name和readme.txt。一個(gè)合適的正則表達(dá)式:name = "(.+?)" value = "(.+?)"撒犀。這樣就會(huì)創(chuàng)建2個(gè)組福压,分別用于$1$和$2$
比如:
引用名稱:MYREF
模板:$1$$2$
如下變量的值將會(huì)被設(shè)定:
MYREF: file.namereadme.txt
MYREF_g0: ?name = "file.name"value = "readme.txt"
MYREF_g1: file.name
MYREF_g2: readme.txt
在需要引用地方可以通過(guò):${MYREF}, ${MYREF_g1進(jìn)行使用掏秩。
參考:http://jmeter.apache.org/usermanual/regular_expressions.html