Gre*_*ith 4 javascript json jmeter
我正在使用Jmeter自动执行一些测试用例。我有一个来自GET的JSON响应,我想更改该JSON响应的单个值,并在PUT主体中使用修改后的响应。PUT需要与响应相同的所有字段,而且我也不知道它们都是什么,因此我认为JSON Path Extractor在我的情况下不起作用。效率是这里的加分项,但我会选择一些可行的方法。
我已经在BSF PostProcessor中尝试过此javascript:
var response = SampleResult.getResponseDataAsString();
var jsonOutput = JSON.parse(response);
jsonOutput.configState = "DELETED";
vars.put("json",jsonOutput);
Run Code Online (Sandbox Code Playgroud)
但是,调试采样器将响应显示为“对象”,仅此而已。有任何想法吗?谢谢。
我不认为您使用JSONRhino或Nashorn,这就是您的脚本失败的原因。我建议考虑切换到JSR223 PostProcessor并使用JSONBuilder和JSONSlurper,例如:
import groovy.json.JsonBuilder
import groovy.json.JsonSlurper
def slurped = new JsonSlurper().parseText(SampleResult.getResponseDataAsString())
def builder = new JsonBuilder(slurped)
builder.content.configState = 'DELETED'
vars.put("json", builder.toPrettyString()) 
Run Code Online (Sandbox Code Playgroud)
请参见Beanshell,JSR223和Java JMeter脚本:您一直在等待的性能下降!要学习的文章
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           1207 次  |  
        
|   最近记录:  |