BSM断言中的JMeter JavaScript全局作用域

时间:2016-05-11 14:21:11

标签: javascript jmeter jmeter-plugins global-scope

我想在没有在JMeter的BSF断言上使用插件的情况下断言JSON响应。为此,我创建了一组简单的util函数来涵盖我当前的用例:https://gist.github.com/formigone/410778976e01e0be3f572b43f331589b

我的问题

在JMeter中全局包含我的迷你库有什么方法,所以任何BSF断言都可以访问它们?

我已尝试将lib添加到各种范围的BSF PreProcessor中,但无法使其工作。我已经尝试将它放在vars中,但这只适用于某些线程。

1 个答案:

答案 0 :(得分:0)

我能想到的唯一解决方法是将您的实用程序代码转换为Beanshell

如果你想保持你的JavaScript完整,有可能从Beanshell测试元素调用JavaScript代码,如:

broker:(tcp://localhost:61616)?networkConnectorURIs=static%3A%2F%2Ftcp%3A%2F%2Flocalhost%3A61616%3Fduplex%3Dtru

JMeter中的Beanshell实现提供了import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("JavaScript"); result = engine.eval("your JavaScript here"); 命名空间,该命名空间可在所有线程组中全局使用。

参考文献: