JMeter:为API CRUD测试创建适当的更新调用
我正在执行基本CRUD功能的API测试。对于记录创建,我需要获取响应,修改字段,并将完整内容保存为文件,以便可以调用我进行更新 以下是创造物发生的情况 创建帖子正文JMeter:为API CRUD测试创建适当的更新调用,api,jmeter,Api,Jmeter,我正在执行基本CRUD功能的API测试。对于记录创建,我需要获取响应,修改字段,并将完整内容保存为文件,以便可以调用我进行更新 以下是创造物发生的情况 创建帖子正文 { "id": 0, "name": "apiTest: Code Rate ${__Random(1,10000000)}", "deletable": false, "codePeriods": null } 创建响应体 { "name": "apiTest: Code Rate 86953
{
"id": 0,
"name": "apiTest: Code Rate ${__Random(1,10000000)}",
"deletable": false,
"codePeriods": null
}
创建响应体
{
"name": "apiTest: Code Rate 869531",
"id": 1257745140,
"deletable": true,
"codePeriods": null,
"lastChangedDateTime": "03/01/2016 10:13:09",
"lastChangedTime": 36789410,
"createdUser": {
"id": 1003941890,
"userName": "N9SFBulkUser"
},
"lastChangedDate": 736024,
"lastChangedUser": {
"id": 1003941890,
"userName": "N9SFBulkUser"
},
"createdDateTime": "03/01/2016 10:13:09"
}
我需要更改“name”字段,以便对记录执行更新
截至目前,我已:
- 用于提取名称字段值并保存它的正则表达式。(新编码率)
- 将响应保存到文件以保存整个响应。(newCodeRateFile)
- 另一个更新记录的HTTP请求,其中:
正文数据=
${uuuu文件到字符串(${uuuu eval(${newCodeRateFile})},,)}
JSON
,它不是${__Random(1,10000000,randomNumber)}
- 参考名称:任何有意义的内容,即
body
- 正则表达式:
(?s)(^.*)
- 模板:
$1$
${__BeanShell(return vars.get("body").replaceAll(vars.get("randomNumber")\,"${__Random(1,10000000)}");,)}
有关JMeter函数的更全面信息,请参阅posts系列 迪米特里,非常感谢你。我不会想到在我的请求主体中使用Beanshell函数。使用你的3个步骤非常有效。我现在正试图熟悉RegEx语法,并查看您的博客文章,以便更好地理解,但是,哇,非常感谢您的帮助!
${__BeanShell(return vars.get("body").replaceAll(vars.get("randomNumber")\,"${__Random(1,10000000)}");,)}