我还是jmeter方面的新手,我正试图解决我遇到的问题。
我正在向api端点提交json记录。 json包含许多参数,包括以下内容:
{ “开始时间”: “1487869700”, “QueryEndTime”: “12345678910”, “条件”:“ThingILookFor” “原因”: “ReasonILook” }
我想将此更改为:
{ “开始时间”: “1487869700”, “QueryEndTime”: “结束时间”, “条件”:“ThingILookFor” “原因”: “ReasonILook”
数字字符串是一个纪元值。 我希望endTime是一个变量,我可以在Http中输入查询体并在运行时指定。
我的问题是我需要在提交查询时将该纪元值更改为api,作为当前的纪元值。
我尝试过使用Beanshell,但没有成功。
这个(可能非常差的伪代码)就是我想做的事情:
显然,任何结合其中一些步骤的方法都会很好。
答案 0 :(得分:0)
只需使用__time功能
即可" QueryEndTime":" $ {__时间(,)}"
答案 1 :(得分:0)
可能不是'正确'的解决方案,但这就是我所做的并且有效:
1)设置用户定义的变量currentEpoch
2)currentEpoch的值为${__time(/1000,)}
,因为我需要以秒为单位的纪元
3)用“replaceQueryStartTimeWithEpoch”替换我想在测试数据中替换的值(变量是“Query”)
4)设置一个beanhell采样器,其中包含以下代码:
vars.put("Query",vars.get("Query").replace("replaceQueryStartTimeWithEpoch", vars.get("currentEpoch")));
幸运的是,这似乎适用于我需要的东西。
有兴趣看一些更“优雅”的解决方案。