【问题标题】:How to edit javascript response in 'save response to a file' in jmeter?如何在jmeter的“保存对文件的响应”中编辑javascript响应?
【发布时间】:2017-09-07 09:10:32
【问题描述】:

我得到 javascript 格式的休息呼叫响应。我可以将整个响应保存在本地文件中。但我必须保存响应的一部分,即 javascript 变量的值。

请找到我的 javascript 响应数据:

在下面的代码中,我想保存 s0.responseTextJson 的值,并且需要在保存到文件之前解析 json 字符串。

var s0=new Response();s0.api=null;s0.ckStatus=200;s0.ckStatusText="OK";
s0.responseText="{\"com.response-message\":{}}";
s0.responseTextJson="{\"com.response-message\":{}}";
s0.responseTextXml="<ns4:response-message></ns4:response-message>";
s0.responseType='JSON';
dwr.engine._remoteHandleCallback('0','0',s0);

Please click here to see the screenshot of actual response in jmeter

【问题讨论】:

    标签: jmeter load-testing jmeter-plugins


    【解决方案1】:
    1. 添加一个Regular Expression Extractor作为返回上述JavaScript的请求的子节点,并配置如下:

      • 参考名称:任何有意义的名称,即s0.responseTextJson
      • 正则表达式:s0.responseTextJson="(.+?)";
      • 模板:$1$
    2. 将下一行添加到 user.properties 文件(位于 JMeter 安装的“bin”文件夹中)

      sample_variables=s0.responseTextJson
      

      请参阅Sample Variables 用户手册条目以了解此处发生的情况。

    3. 重新启动 JMeter 以获取属性。
    4. Run your JMeter test in command-line non-GUI mode点赞

      jmeter -n -t test.jmx -l result.jtl
      
    5. 测试完成后,您将在 .jtl 结果文件中看到名为 s0.responseTextJson 的新列,它将保存每个 HTTP 请求采样器的相关值

    【讨论】:

    • 感谢德米特里的回复。我可以通过使用 BeanShell PostProcessor 来解决它。
    【解决方案2】:

    我可以通过添加带有以下脚本的 BeanShellPostProcessor 来解决上述问题。

    String originalResponse = new String(data);
    String filteredResponse = 
    originalResponse.substring(originalResponse.indexOf("s0.responseTextJson=\"")+21, originalResponse.indexOf("\";s0.responseTextXml=\"")).replace("\\\\","#temp#").replace("\\","").replace("#temp#","\\");
    prev.setResponseData(filteredResponse.getBytes());
    

    Please click here to see my BeanShellPostProcessor in Jmeter

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-31
      • 1970-01-01
      • 2020-12-13
      • 2015-04-16
      • 1970-01-01
      • 2015-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多