如何打印由JMeter中的regural表达提取器提取的变量的值

时间:2016-04-22 09:03:02

标签: jmeter

我正在尝试通过将其打印到日志来跟踪该值,但作为答案无效。enter image description here

2 个答案:

答案 0 :(得分:1)

查看变量名称和值的最简单方法是使用Debug Sampler

Debug Sampler

但是,如果由于某种原因需要将所有提取的值打印到JMeter日志,则需要稍微更改脚本,如下所示:

log.info("Detected " + vars.get("urls_matchNr") + " URLs");

for (int i=1; i<= Integer.parseInt(vars.get("urls_matchNr")); i++) {

    log.info("URL # " + i + ": " + vars.get("urls_" + i));

}

vars代表JMeterVariables类实例,因此这样您就可以对范围内的所有Jmeter变量进行读/写访问。

Beanshell Log Variables

有关JMeter中Beanshell脚本的详细信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component文章

答案 1 :(得分:0)

您的脚本中存在2个问题。

1)您正在提取匹配号:-1,这是不对的(检查您的正则表达式提取器)。您可以为随机匹配选择0,也可以为相应的匹配选择任何正数。

2)在BeanShell断言中,您尝试将值检索为 logs.info(“the”+ urls); - 这不是正确的方法。 要在BeanShell中获取变量的值,我们必须使用“vars.get”方法。

所以将你的断言改为logs.info(“the”+ vars.get(“urls”));并尝试一次。