JMeter如何在BSF Assertion中包含JavaScript编写的自己的库

时间:2012-12-13 07:54:25

标签: javascript jmeter beanshell

我使用JavaScript在BSF断言中解析我的JSON结果。 为了更多的可重用性,我尝试编写自己的JavaScript库。我想在我的BSF断言中使用该库。

也许我误解了这些文件,无论如何都无法在BSF中导入我的库。 Dose只有BeanShell提供这种方法来导入外部脚本? (http://jmeter.apache.org/usermanual/functions.html#__BeanShell)

我甚至尝试了另一种方式,但徒劳无功。

1.创建BSF PreProcessor并将我的库(名为:myScript)放入其中。

function test(){
    log.info("Test Library");
}

2.导入代码并调用它,

${__BeanShell(vars.get("myScript"))};
test()

但它不起作用.. :(

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用JSR223 PreProcessor 选择Javascript语言

使用例如__FileToString jsCode包含您的库并将其放在UserDefinedVariable中:

jsCode / __FileToString(path to file)

在我的示例中,文件包含:

var s = "toto"; 

在你的剧本中:

${jsCode};
vars.put("toto", s);

无论如何,我不确定使用Javascript是否适合表演。

Groovy是一个更好的选择。

答案 1 :(得分:1)

使用BSF元素,您可以将javascript函数公开给。 查看示例JMeter-Load-Javascript-Libraries-For-Future-Usage