Jmeter的核心知識點-關聯
一、關聯
1.1 什麼是關聯?
概念:關聯就是一個請求的響應結果要作爲另一個請求的提交數據
1.2關聯常用的兩種方式(後置處理器中)
- 正則表達式提取
- 使用xpath進行提取
二、步驟的實施(正則表達式提取)
1、創建測試計劃,線程組,添加http請求
2、添加正則表達式提取器
圖:
參考解釋:
- 引用名稱:下一個請求要引用的參數名稱,如填寫title,則可用${title}引用它。
- 正則表達式:制定規則的公式 公式模板:前綴識別()後綴識別():括起來的部分就是要提取的數據。1):匹配任何字符。2) +:一次或多次。3)?:在找到第一個匹配項後停止。4)*:匹配規則內所有字符串
- 模版:$$格式;表示解析到的第一個值,如果匹配到有兩個值,第二個值就是,以此類推。
- 匹配數字:1代表全部取值,0代表隨機取值,通常情況填1。
注:傳值的話,把第一個請求的值傳給第二個請求,格式是:${變量名}
三、步驟實施(xpath提取器)
1、創建測試計劃,線程組,http請求
2、添加xpath提取器
圖:
參考解釋:
- Use Tidy:當需要處理的頁面是HTML格式時,必須選中該選項。備註:Tidy 一種HTML格式化模版
- Reference Name(引用名稱):存放提取出的參數名稱(被引用時使用)
- Xpath Query:用於提取值的Xpath表達式(和web自動化中元素定位的xpath是一樣的)
注意兩點:
-
如果返回的響應值是json格式該如何提取?
比如這段json: { "data": [ { "dep_id":"T01", "dep_name":"Test學院", "master_name":"Test-Master", "slogan":"Here is Slogan" } ] }
如果提取web端的html數據直接使用xpath進行定位即可。若返回值如上邊json格式的數據,則不需要點擊Use Tidy複選框。舉例:提取 “dep_id”的值作爲下一次請求的提交數據
引用名稱:my_id
Xpath query:$.data[0].dep_id
-
傳值方法
傳值:將第一個請求的xpath提取的數據傳遞給第二個請求格式: $ {變量名},例如:提取上邊json格式中的dep_id數據,則是 $ {my_id}
關聯總結
1. 正則表達式可以用於提取對頁面任何文本文檔、標籤文檔的提取,提取的內容是根據正則表達式在頁面內容中進行文本匹配
2. xpath Extractor則可以提取返回頁面任意標籤元素的任意屬性,如://a[@href="http://tieba.baidu.com"]/@name