JMeter - 在 JSR223 采样器 "Cannot find Engine" 中使用 Jython/Python 引擎时出错

JMeter - Error when using Jython/Python Engine in JSR223 Sampler "Cannot find Engine"

使用 this SO question,我创建了一个测试计划来调用 python 脚本。

我 运行 打开日志查看器的脚本。

JMeter 日志显示:

2022-03-03 13:44:32,118 ERROR o.a.j.p.j.s.JSR223Sampler: Problem in JSR223 script JSR223 Sampler, message: javax.script.ScriptException: Cannot find engine named: 'python', ensure you set language field in JSR223 Test Element: JSR223 Sampler
javax.script.ScriptException: Cannot find engine named: 'python', ensure you set language field in JSR223 Test Element: JSR223 Sampler
    at org.apache.jmeter.util.JSR223TestElement.getScriptEngine(JSR223TestElement.java:100) ~[ApacheJMeter_core.jar:5.4.3]
    at org.apache.jmeter.protocol.java.sampler.JSR223Sampler.sample(JSR223Sampler.java:69) [ApacheJMeter_java.jar:5.4.3]
    at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:638) [ApacheJMeter_core.jar:5.4.3]
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558) [ApacheJMeter_core.jar:5.4.3]
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489) [ApacheJMeter_core.jar:5.4.3]
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) [ApacheJMeter_core.jar:5.4.3]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_311]


这是st运行ge,因为我把Jython JAR放在了JMeter lib文件夹里

,重启JMeter,看到菜单:

我正在使用 JMeter 5.4.3。

  1. 可能是您的 jython.jar 文件有问题,请尝试将 jython-standalone-2.7.2.jar 库下载到 JMeter 安装的“lib”文件夹中

    我不知道你是怎么在下拉列表中得到这个python绑定的,我的期望是它应该是jython

  2. 需要重新启动 JMeter 才能获取 .jar

  3. 请注意 recommended scripting language is Groovy, the main reason is performance, check out Apache Groovy - Why and How You Should Use It 指南以获取更多信息。

    此外,Jython 停留在 Python 2.7 版,并于 2020 年 1 月 1 日停产,因此您可能无法 re-use 您的 Python JSR223 测试元素中的代码,如果您的代码在 Python 3 中,也许值得考虑 运行 使用 OS Process Sampler?