新聞中心
本文就來詳細(xì)介紹一下如何利用BeanShell腳本從響應(yīng)結(jié)果中提取所需參數(shù)。

成都創(chuàng)新互聯(lián)公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個客戶多一個朋友!為您提供成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、成都網(wǎng)頁設(shè)計、成都微信小程序、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、app軟件定制開發(fā)是成都本地專業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計公司,等你一起來見證!
在JMeter中,我們經(jīng)常需要通過前一個請求的響應(yīng)結(jié)果來獲取一些關(guān)鍵信息,然后將這些信息作為參數(shù)傳遞給下一個請求。而使用BeanShell腳本可以很方便地實現(xiàn)這個過程。本文就來詳細(xì)介紹一下如何利用BeanShell腳本從響應(yīng)結(jié)果中提取所需參數(shù),并將它們傳遞到下一個請求中。
首先,我們需要在JMeter中添加一個Sampler(比如HTTP Request),發(fā)送請求并接收響應(yīng)。假設(shè)我們要從該響應(yīng)結(jié)果中獲取兩個值:token和userId。
1. 在HTTP Request的“Response”選項卡里勾選“Save response as MD5 hash”,以便于后面查看變量名稱。
2. 在HTTP Request的“Beanshell PostProcessor”選項卡里編寫以下代碼:
```java
import org.apache.commons.lang3.StringUtils;
String response = new String(data);
if(StringUtils.isNotBlank(response)){
vars.put("token", "");//清空舊數(shù)據(jù)
vars.put("userId", "");//清空舊數(shù)據(jù)
//解析response得到token和userId
JSONObject jsonObject = JSONObject.fromObject(response);
if(jsonObject.containsKey("data")){
JSONObject dataObject = jsonObject.getJSONObject("data");
if(dataObject.containsKey("token")){
String tokenValue = dataObject.getString("token");
vars.put("token", tokenValue);//保存新數(shù)據(jù)
}
if(dataObject.containsKey("user_id")){
String userIdValue = dataObject.getString("user_id");
vars.put("userId", userIdValue);//保存新數(shù)據(jù)
}
}
```
上述代碼的作用是解析響應(yīng)結(jié)果,從中提取出token和userId并將它們存儲在變量中。
3. 在下一個請求(比如另一個HTTP Request)的參數(shù)化選項卡里使用變量名來引用這些值。如:${token}、${userId}
通過以上步驟,我們就可以成功地從響應(yīng)結(jié)果中獲取所需參數(shù),并將它們傳遞到下一個請求中了。
總結(jié):
網(wǎng)站標(biāo)題:JMeter之BeanShell:如何取出需要的參數(shù)并傳遞給下一個請求
當(dāng)前地址:http://www.5511xx.com/article/dhsejpe.html


咨詢
建站咨詢
