我的jmeter测试如下 - 我有一个针对每个控制器,在其下面有一个JDBC请求&一个豆壳断言。
我的beanshell声明代码是这样的 -
String value1 = "${__V(statusapi_${__counter(,)})}";
String value2 = vars.get("status_db_1");
String value9 = vars.get("tenant");
print(value1);
if(value1 != null) {
if(!value1.equals(value2)) {
Failure = true;
FailureMessage = value9 + ": status name doesnt match, api: "+ value1 + " db: "+ value2;
print(FailureMessage);
} } else {
if(value2 != null) {
Failure = true;
FailureMessage = value9 + ": status name doesnt match, api: "+ value1 + " db: "+ value2;
print(FailureMessage);
} }
我正在使用value1的计数器功能。我想知道如何重置此计数器以从1开始为每个请求添加新计数器?
答案 0 :(得分:0)
如果您需要statusapi_
我的期望是你使用了错误的测试元素,每次调用__counter()函数时都会递增。所以我相信你应该切换到Counter test元素并根据你的场景进行配置。
计数器测试元素产生"正常" JMeter变量,您可以使用Beanshell PreProcesssor中的vars.put("your_counter_reference_name", "1");
重置。
另请注意starting from JMeter version 3.1 it is recommended to use JSR223 Test Elements and Groovy language脚本编写,因此请尽快考虑迁移到JSR223 Assertion。更多信息:Apache Groovy - Why and How You Should Use It了解更多详情。