【新梦想干货分享】Jmeter技能:Json数据中如何设置变量

发布时间:2020-10-06 04:47:21 作者:qq5ddf70848596b
来源:网络 阅读:453

我有两个接口,A接口和B接口,B接口如下:

【新梦想干货分享】Jmeter技能:Json数据中如何设置变量



问题如何把{"tag":{"name":"123456"}}中name后面的值设置为变量,该变量是从A接口中提取出来的。

如果使用正则表达式或是json提取器,如:


【新梦想干货分享】Jmeter技能:Json数据中如何设置变量


提取出来的值直接在B接口中使用,比如:{"tag":{"name":"${tokens}"}},最终得到的返回值将是{"tag":{"id":149,"name":"${tokens}"}}

解决方法:json格式的数据中,可以存放两种形式的变量(目前我自己知道的),一个是函数助手中的函数,例如:


【新梦想干货分享】Jmeter技能:Json数据中如何设置变量

【新梦想干货分享】Jmeter技能:Json数据中如何设置变量


另外一个就是从外界读取外部文件,再放入json格式的数据中,例如:


【新梦想干货分享】Jmeter技能:Json数据中如何设置变量

【新梦想干货分享】Jmeter技能:Json数据中如何设置变量

【新梦想干货分享】Jmeter技能:Json数据中如何设置变量

【新梦想干货分享】Jmeter技能:Json数据中如何设置变量


剩下来的就很简单了,既然知道如何把数据放在json格式的数据中,那么剩下的就是如何把第一个接口中的数据提取出来放在文件里,下面是示例:

首先,我们添加一个前置处理器BeanShell PreProcessor或者后置处理器BeanShell PostProcess,在里面编写脚本,具体代码如下:

FileWriter fw = new FileWriter("E:\\tokens.csv",false);

BufferedWriter bw = new BufferedWriter(fw);

bw.write(vars.get("tokens")+"\n");

bw.close();

fw.close();

大概的意思就是:现在本地E:这个路径下新建tokens.csv文件,false代表下一次覆盖上一次,如果写true的话,代表在后面追加,新建文件之后,new一个bufferedWriter对象,vars.get表示获取第一个接口中用正则表达式提取出来的数据tokens,然后写入文件,然后关闭这两个方法,一定要写close。

总的一个流程就是,正则表达式提取数据,处理器把提取出来的数据存储到指定文件中,配置原件CSV数据文件设置讲文件中的数据作为变量放入json格式的数据中。


【新梦想干货分享】Jmeter技能:Json数据中如何设置变量


推荐阅读:
  1. Nginx模块概述—干货分享!
  2. 【新梦想老师分享】分布式锁的正确"姿势"

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

新梦想 jmeter 变量

上一篇:详解JAVA 七种创建单例的方法

下一篇:对python中的argv和argc使用详解

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》