如果在我使用jmeter的情况下条件不起作用

时间:2017-04-05 09:12:59

标签: jmeter

测试计划

  1. 使用所需参数发送登录请求
  2. 在上面的回应中,我得到了1个GET请求
  3. 我使用BeanShell PostProcessor将变量请求存储在变量中,如:

    String URL = prev.getURL().toString();
    log.info(URL);
    
    1. 现在我正在尝试根据上面的 URL 变量值设置IF条件。
    2. if("${URL}"=="https://www.example.com")
                    //do something
      

      但以上IF条件不起作用。即使按预期和实际值放置正确的值,在脚本运行期间似乎条件跳过或为假。

1 个答案:

答案 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文章。