美文网首页
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