我尝试进行从DB读取的测试并断言数据 我创建了一个JDBC请求和JSR223 sampler + Jsr223断言。 在采样器中,我创建了一个名为sensativity_results的变量。 我想将它传递给断言。 我用了
vars.putObject("sensativity_results", sensativity_results);
然后在断言中我试着调用它并打印出来, 问题是Jmeter只是没有认出断言, 此外,我创建了另一个名为test的采样器来打印“sensativity_results”的结果,Jmeter只是通过它而不执行它
int actual_sensativity ()
{
float Actual_sensativity;
int loop_num = vars.get("Loop_Number") as int;
int conversion_sense = vars.get("Conv_sens") as int;
int actual_conversion = vars.get("Conv_numbers_1") as int;
Actual_sensativity = (float) (actual_conversion/loop_num)*100;
System.out.println("************** Actual_sensativity in %: " + Actual_sensativity);
System.out.println("**conversion_sensativity: " + conversion_sense);
System.out.println("**actual_conversion: " + actual_conversion);
System.out.println("**loop number: " + loop_num);
return Actual_sensativity;
}
int sensativity_results;
sensativity_results = actual_sensativity();
vars.putObject("sensativity_results", sensativity_results);
System.out.println("sensativity_results: " + sensativity_results);
测试计划按预期运行直到此步骤并且在没有任何错误的情况下停止,它会在第一个采样器处打印出灵敏度结果,并且只是不继续,有人可以建议吗?
答案 0 :(得分:0)
只需输入vars.put(“sensativity_results”,sensativity_results); 它解决了这个问题
答案 1 :(得分:0)
假设您稍后将此sensativity_results
变量用作String,我建议将其存储为:
vars.put("sensativity_results", String.valueOf(sensativity_results))
否则,尝试使用ClassCastException: java.lang.Integer cannot be cast to java.lang.String
${sensativity_results}
错误
访问非String变量的另一种方法是使用__groovy()函数(自JMeter 3.1起可用),如:
${__groovy(String.valueOf(vars.getObject('foo')),)}