一、獲取上個介面的數據
如果需要在JMeter中的一個請求中使用上一個請求的數據,需要使用JMeter內置的函數${__V()}。例如,第一個請求返回一個需要被使用的返回碼,在參數化的第二個請求中需要使用返回的狀態碼。
在請求1的結果中提取返回碼為變數code,可以使用如下代碼:
//在請求1的結果中提取code,並且保存到v_code變數中 ${__jexl3("${JMeterThread.last_sample_ok} == true" && "${__groovy(vars.get("RESPONSE_DATA").contains("code"),)}" ? vars.put("v_code", "${__groovy(vars.get("RESPONSE_DATA").substring(vars.get("RESPONSE_DATA").indexOf("code") + 7, vars.get("RESPONSE_DATA").indexOf("code") + 10))}") : "")}
在參數化的第二個請求中使用code變數,在路徑中的需使用${__V()},如下:
/login/${__V(v_code)}
二、JMeter提取返回的所有數據
使用正則表達式可以提取出返回內容中的所有數據,從而用於後續的請求。如下代碼可以提取名字欄位的值,然後保存到變數name中。
//使用正則表達式提取名字,並且保存到v_name變數中 ${__jexl3("${JMeterThread.last_sample_ok} == true" && "${__groovy(vars.get("RESPONSE_DATA").contains("name"),)}" ? vars.put("v_name", "${__groovy(vars.get("RESPONSE_DATA").replaceAll("(?s)).*?(name.*?)=([^\"]*?).(.*?)()", "$2"))}") : "")}
三、JMeter獲取資料庫數據
JMeter可以通過JDBC請求獲取資料庫數據。首先,需要添加JDBC驅動程序,然後配置相關的資料庫連接信息。在請求中添加一個JDBC請求並設置相應的查詢和參數,其中參數可以使用JMeter函數進行動態設置,如下:
SELECT * FROM user WHERE name='${__P(user_name)}'
這裡使用了用戶定義的參數’user_name’,並使用了${__P()}函數進行替換。
四、JMeter獲取響應數據
在JMeter的HTTP請求中,可以使用「斷言」功能來確定響應的正確性。斷言可以使用各種不同的模式,包括請求頭、正文或任何其他可用的信息。例如,使用響應欄位斷言,可以輕鬆地驗證特定的值是否出現在返回的數據中:
響應欄位:
引用名稱: name
匹配規則: Equals
匹配表達式: "John"
這裡的響應數據包含一個名字欄位,使用了”斷言”來驗證該欄位的值是否為”John”。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/311564.html