我有一个API返回以下结果:
{"success":true,
"error":null,
"data": {"EmpId":444,"ProfileNo":0,"ProfileName":"xya","Rank":0,"ScoreValue":0,"CompanyEmpID":"A25842"}}
import groovy.json.JsonSlurper;
JsonSlurper JSON = new JsonSlurper ();
def expected = new groovy.json.JsonSlurper().parseText(vars.get('Employee
data'))
def actual = new
groovy.json.JsonSlurper().parse(prev.getResponseData({"success":true,
"error":null,
"data":
{"EmpId":444,
"ProfileNo":0,
"ProfileName":"xya","Rank":0,"ScoreValue":0,"CompanyEmpID":"A25842"}})
if (expected != actual) {
AssertionResult.setFailure(true)
AssertionResult.setFailureMessage('Mismatch between expected and actual
JSON')
}
断言错误:true断言失败:false断言失败消息:javax.script.scriptexception:org.codehaus.groovy.control.multipleCompilationerrorsexception:startup failed:script20.groovy:10:预期“}”,发现“:”@第10行,第81.rev.getResponseData({“success”:true,^
1错误
正确的代码如下所示:
def expected = new groovy.json.JsonSlurper().parseText('{"success":true,\n' +
' "error":null,\n' +
' "data": {"EmpId":444,"ProfileNo":0,"ProfileName":"xya","Rank":0,"ScoreValue":0,"CompanyEmpID":"A25842"}}')
def actual = new groovy.json.JsonSlurper().parse(prev.getResponseData())
if (expected != actual) {
AssertionResult.setFailure(true)
AssertionResult.setFailureMessage('Mismatch between expected and actual JSON ')
}
但是,如果使用这种方法比较嵌套的JSON对象,它只适用于第一级值--您将得到假阳性结果,因此最好选择执行“深度扫描”的Jackson或JSONAssert库,请查看使用JMeter比较REST API响应的最简单方法文章了解更多细节。
但是根据目前的需求,我们需要从mongodb中获取数据,将这些动态值传递给HTTP请求采样器,我的意思是我们需要根据数据库中的动态值构建HTTP请求采样器? 你能不能请谁帮我一下。
问题内容: 我正在尝试使用 nodejs 和 请求 [2] 向google QPX Express API [1]发出HTTP POST请求。 我的代码如下: 我想做的是使用multipart参数[3]传递JSON。但是我没有正确的JSON响应,而是收到一个错误(未定义400)。 当我使用CURL使用相同的JSON和API密钥发出请求时,它工作正常。因此,我的API密钥或JSON没错。 我的代码有
问题内容: 我是liferay portlet开发的初学者,我正在开发一个接收http get请求,处理一些信息并且必须返回json对象的portlet。我的问题是我的Portlet发送了整个html页面,而不仅仅是json对象。这是我的代码: 我在doView()方法中执行此操作,我知道这不是最佳做法,但目前我对此并不关心。有人可以向我解释如何仅返回json对象,但我阅读了有关serveResp
现在,根据响应,我希望在JSR223断言中验证响应是否基于chgId字段是正确的。这意味着在两个“data”数组“chgid”中都应该出现405文本。 有人能建议吗?
我试图读取在POST请求的正文中传递的内容,或者使用REST保证库的请求规范或响应对象。我找不到任何方法可以返回传递的正文内容。有什么帮助吗? 我试图打印JSONBody通过测试()在PerformPOST操作()
红色矩形中样本结果的度量值等于0。没有可供查看的响应数据(标题和正文)。 是否可以在采样结果选项卡中获得实数而不是0 0 0 0 0 0 0,并在响应数据选项卡中获得可见的响应?