美文网首页
Jmeter提取多个响应值,并写入csv文件

Jmeter提取多个响应值,并写入csv文件

作者: DayBreakL | 来源:发表于2019-07-09 15:42 被阅读0次

需求

在同一个响应中,某个字段有多个值都需要依次提取,写入csv文件或者作为后续关联接口的入参。

{
    "result": "Successful",
    "data": [{
        "amount_baseamt": 894.80
    }, {
        "amount_baseamt": 1499.00
    }, {
        "amount_baseamt": 1.00
    }, {
        "amount_baseamt": 35.00
    }, {
        "amount_baseamt": 408.00
    }, {
        "amount_baseamt": 247.00
    }, {
        "amount_baseamt": 237.00
    }, {
        "amount_baseamt": 199.00
    }],
    "count": 8
}

如,对于上述JSON响应,我想提取每个amount_baseamt的值,写入.csv文件或用于后续接口。
使用Jmeter正则表达式提取器+ForEach循环控制器+Beanshell Sampler解决。
结构如下图:

  1. 正则表达式提取器:


  2. ForEach循环控制器:


  3. Beanshell Sampler:



    代码如下:

FileWriter fstream = new FileWriter("/Users/leitianxiao/Documents/resamt.csv",true);
BufferedWriter out = new BufferedWriter(fstream);
out.write("${money}");
out.write(System.getProperty("line.separator"));
out.close();
fstream.close();

踩坑:

  • 正则表达式写错,导致少了数据。可以通过正则表达式在线验证工具进行验证。
    正则表达式在线验证工具

  • 如果要关联在后面的接口,使用变量${money}即可。

相关文章

网友评论

      本文标题:Jmeter提取多个响应值,并写入csv文件

      本文链接:https://www.haomeiwen.com/subject/enuxkctx.html