为什么在Jmeter用Groovy写JSR223脚本

问题

  • 什么是JSR223脚本?
  • 为什么用Groovy来写JSR223脚本?
  • 在Jmeter中写JSR223脚本容易出错(缺少代码提示),怎么办?

什么是JSR223脚本?

JSR223脚本可以用于像 sample 一样执行,还能进行创建、更新变量等计算逻辑,包含:JSR223 Sampler,JSR223 预处理程序,JSR223 后置处理程序,JSR223断言……

JSR223脚本有一个显著提升性能的特性:编译,这个特性取决于(2选1):

  • 使用 Script files 编写脚本,当 ScriptEngine 启用了该特性后,Jmeter 会编译并缓存脚本文件
  • 或者勾选『Cache compiled script if available』,注意:当勾选该特性后,需要注意以下两个事项:
    • 脚本中不要使用J meter 变量或 Jmeter 函数(如:${user}, ${__MD5(test,)}),如果使用了,则会在第一次调用后缓存结果值,在下一次调用则会直接使用缓存的值
    • 用于编写脚本的语言引擎必须实现 JSR223 可编译接口(Groovy 是其中之一,java、beanshell 和 javascript 不是)

为什么用 Groovy 来写 JSR223 脚本?

以下列出我认为用 Groovy 的理由:

  • 如上面所述,Groovy 的语言引擎实现了 JSR223 可编译接口,开启『编译』特性后能提升性能
  • 语法相对于『Java、Beanshell』,更为简洁,且不容易出错
  • Groovy 可直接调用『Java库』,功能全面

以下列出不用其他语言的理由:

  • 使用 Java、Beanshell 无法使用泛型,写出的代码不符合平时的代码习惯
  • Jmeter使用中,性能上不如 Groovy
  • JavaScript仅支持 ES5 语法

在Jmeter中写JSR223脚本容易出错(缺少代码提示),怎么办?

见我的另一篇文章:在Idea中编写Jmeter JSR223脚本(Groovy)

原文地址:https://www.cnblogs.com/testopsfeng/p/14629162.html