测试计划
我使用BeanShell PostProcessor
将变量请求存储在变量中,如:
String URL = prev.getURL().toString();
log.info(URL);
即
if("${URL}"=="https://www.example.com")
//do something
但以上IF条件不起作用。即使按预期和实际值放置正确的值,在脚本运行期间似乎条件跳过或为假。
答案 0 :(得分:1)
如果您在Beanshell脚本中执行此操作,请考虑使用vars.get("URL")而不是像${URL}
那样访问变量。
向前看,请避免将变量和函数内联到Beanshell脚本中,因为它们可能会解析成至少导致语法错误的内容。
也不要使用==
运算符比较字符串,而是使用String.equals()方法。
正确的代码如下:
String URL = prev.getURL().toString();
log.info(URL);
vars.put("URL", URL); // store URL value into a JMeter Variable
if (vars.get("URL").equals("https://www.example.com")) {
//do what you need here
}
有关Jmeter中Beanshell脚本的更多信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component文章。