JMeter之BeanShell:如何取出需要的参数并传递给下一个请求

本文就来详细介绍一下如何利用BeanShell脚本从响应结果中提取所需参数。

成都创新互联公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!为您提供成都网站制作、成都做网站、外贸营销网站建设、成都网页设计、成都微信小程序、成都网站开发、成都网站制作、成都软件开发、app软件定制开发是成都本地专业的网站建设和网站设计公司,等你一起来见证!

在JMeter中,我们经常需要通过前一个请求的响应结果来获取一些关键信息,然后将这些信息作为参数传递给下一个请求。而使用BeanShell脚本可以很方便地实现这个过程。本文就来详细介绍一下如何利用BeanShell脚本从响应结果中提取所需参数,并将它们传递到下一个请求中。

首先,我们需要在JMeter中添加一个Sampler(比如HTTP Request),发送请求并接收响应。假设我们要从该响应结果中获取两个值: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", "");//清空旧数据

vars.put("userId", "");//清空旧数据

//解析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);//保存新数据

}

if(dataObject.containsKey("user_id")){

String userIdValue = dataObject.getString("user_id");

vars.put("userId", userIdValue);//保存新数据

}

}

```

上述代码的作用是解析响应结果,从中提取出token和userId并将它们存储在变量中。

3. 在下一个请求(比如另一个HTTP Request)的参数化选项卡里使用变量名来引用这些值。如:${token}、${userId}

通过以上步骤,我们就可以成功地从响应结果中获取所需参数,并将它们传递到下一个请求中了。

总结:

分享题目:JMeter之BeanShell:如何取出需要的参数并传递给下一个请求
分享链接:http://www.36103.cn/qtweb/news29/8329.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联