1. 场景一:获取请求响应中的数据,并保存

import com.alibaba.fastjson.*;  // 引入包。这个包需要先放在:<安装目录>\apache-jmeter-3.2\lib\ext中

// 获取数据

String response = prev.getResponseDataAsString();  // 获取Response

JSONObject responseObj = JSON.parseObject(response);  // 整个Response作为JSON对象

JSONObject resObj = responseObj.getJSONObject("res");  // 获取某一部分对象。即,json串中{}的内容

JSONArray listArray = resObj.getJSONArray("list");  // 获取列表。即,json串中[]的内容

// 保存数据

// 1) 列表

int len = listArray.size();

for(int i=0; i<len; i++){

temp[i] = listArray.get(i).getString("name");

}

vars.put("names", Arrays.toString(temp));  // 保存到JMeter变量中,vars.put只能保存字符串,因此这里使用了toString()进行转换

// 2) String类型

String id = resObj.get("id");  // 获取对象中某一字符串的内容。

vars.put("id", id);  // 保存到JMeter变量中,后面的组件可以使用

// 3) Integer类型

Integer no = resObj.get("id"); // 获取对象中某一整型的内容。

vars.put("no", no.toString());   // 保存到JMeter变量中,vars.put只能保存字符串,因此这里使用了toString()进行转换

2. 场景二:获取数据库中查询到的数据,并保存

前提:在JDBC Request中已经获取到数据,详见《JDBCRequest的用法》。

select total_cash from t_cash where user_name="tom";

在Result variable name中的值为:result

String cash_new = vars.getObject("result").get(0).get("total_cash").toString();

vars.put("cash_new", cash_new);  // 操作前与此步骤相同,不再赘述。保存的变量名为cash_old
---------------------
作者:aduocd
来源:CSDN
原文:https://blog.csdn.net/aduocd/article/details/80351719
版权声明:本文为博主原创文章,转载请附上博文链接!

JMeter组件之BeanShell PostProcessor的使用的更多相关文章

  1. Jmeter组件8. BeanShell Sampler

    BeanShell是一个小巧免费的JAVA源码解释器,支持对象式的脚本语言特性,亦可嵌入到JAVA源代码中,能动态执行JAVA源代码并为其扩展了脚本语言的一些特性,像JavaScript和perl那样 ...

  2. Jmeter BeanShell PostProcessor提取json数据

    需求:提取sample返回json数据中所有name字段值,返回的json格式如下: {“body”:{“apps”:[{“name”:”111”},{“name”:”222”}]}} jmeter中 ...

  3. jmeter 之 BeanShell PostProcessor跨线程全局变量使用

    BeanShell PostProcessor是用户对一些变量的操作,操作方法很灵活,大概原理是通过parameters传回来对象,然后在script中对对象进行操作 场景:从登陆接口中获取token ...

  4. Jmeter中JDBC Request和BeanShell PostProcessor的结合使用(SQL模糊查询)

    [前言] 今天记录一下Jmeter中JDBC Request和BeanShell PostProcessor的结合使用的方法(SQL模糊查询) [步骤] 1.下载对应数据库的驱动包到jmeter安装目 ...

  5. JSR223 PostProcessor VS BeanShell PostProcessor in JMeter

    I would recommend using JSR223 PostProcessor About performance: In JMeter's official user manual, Ab ...

  6. 二、Jmeter 后置处理器(BeanShell PostProcessor)

    1.新建JDBC Request,如下图所示: 重要的参数说明: Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable N ...

  7. jmeter中beanshell postprocessor结合fastjson库提取不确定个数的json参数

    在项目实践中,遇到了这样一个问题.用jmeter作http接口测试,需要的接口参数个数是不确定的.也就是说,在每次测试中,根据情况不同,可能页面中的列表中所含的参数个数是不确定的,那么要提取的参数个数 ...

  8. 【Jmeter测试】BeanShell介绍和使用

      BeanShell是什么? BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言: BeanShell是用Jav ...

  9. Jmeter---后置处理器 BeanShell PostProcessor 获取JDBC结果(多行)并以列表传入另一个请求

    之前用python+locust对脚本生成商品编码, 商品上架,购买商品进行编写脚本和压测: 开始是打算用Jmeter,后来遇到问题在 Jmeter如何读取JDBC多行并组成列表,作为下一个请求 一直 ...

随机推荐

  1. SqlMapConfig配置文件中的typeAliases标签用于自定义别名

    1.mybatis支持别名: 别名 映射的类型 _byte byte _long long _short short _int int _integer int _double double _flo ...

  2. python之selenium调用js(execute_script)

    转载: http://www.cnblogs.com/fnng/p/3230768.html 本节重点: 调用js方法 execute_script(script, *args) 在当前窗口/框架 同 ...

  3. Laravel/Homestead storage:link -> symlink(): Protocol error

    I'm trying to run the following artisan command: php artisan storage:link I get this error: [ErrorEx ...

  4. [IIS] 测试的产品登陆之后有个引用外部站点js的请求半天都无法返回,导致网页一直在打转,Selenium的driver也无法对页面进行下一步的操作

    测试的产品登陆之后有个引用外部站点js的请求半天都无法返回: https://cdn.heapanalytics.com/js/heap-3497400264.js 这个js如果是在美国的机器上就可以 ...

  5. Java Thread系列(七)死锁

    Java Thread系列(七)死锁 当线程需要同时持有多个锁时,有可能产生死锁.考虑如下情形: 线程 A 当前持有互斥所锁 lock1,线程 B 当前持有互斥锁 lock2.接下来,当线程 A 仍然 ...

  6. iPhone X 的“刘海”正是苹果的品牌象征

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 在iPhone X发布活动结束之后,关于其在屏幕顶端独特的“刘海”设计,引起了不少人的讨论.其实,这 ...

  7. 修改数据库中的内容报错:PropertyAccessException:Null value was assinged to a property of primitive type setter of

    错误原因:totalTime的类型为int,数据库中为NULL,int 类型不能赋值为NULL,只能为0,所以报此异常. 解决方案:将totalTime的类型改为Integer,或者初始化为0

  8. K8S中RC与Deployment的区别

    原文:http://fx114.net/qa-81-152379.aspx replication controller与deployment的区别 replication controller Re ...

  9. Redis数据结构(五)

    存储set (1)和List类型不同的是,Set集合中不允许出现重复的元素 (2)set可包含的最大元素数量是4294967295 存储set常用命令: (1)添加/删除元素 添加 sadd myli ...

  10. 20155316 2016-2017-2 《Java程序设计》第6周学习总结

    教材学习内容总结 IO操作的目标 从数据源当中读取数据,以及将数据写入到数据目的地当中: I/O的来源地与目的地多种多样 I/O的流向:输入流.输出流.参照物 IO的分类方法 输入流\输出流: 字节流 ...