为什么 JMeter 不在非 GUI 模式下保存一些请求统计信息?

时间:2021-06-22 16:33:14

标签: jmeter

我正在使用 JMeter 进行一些测试,但似乎在 GUI 模式下运行测试时,可以通过侦听器看到一些 HTTPs 请求响应统计信息,但是,在非 GUI 模式下运行相同的测试时,相同的响应不是' t 保存在 jtl 文件中,因此在 GUI 模式下加载 jtl 文件时不会显示在侦听器中。

在 GUI 模式下运行测试后:

Results after running test

然后,在非 GUI 模式下运行相同的测试:

命令:

path/to/jmeter -n -t path/to/test.jmx -l path/to/results.jtl -j path/to/logfile.log -JnumUsers=10 -Jjmeterengine.force.system.exit=true -Dnashorn.args=--no-deprecation-warning

Results after loading the jtl file into a listener

您可以看到 /buscarAvaliacaoAluno 和 /alterarAvaliacaoAluno 响应不再存在。

在日志中有错误的编辑

好像说找不到后处理器使用的javascript引擎

阅读 this post 后,我明白如果我使用的是 java 11 或更高版本,使用 javascript 不应该工作,但是在运行 java -version 时,我得到“openjdk 版本“1.8.0_292”和 { {1}} 我得到 /usr/java/jdk1.8.0_91

javax.script.ScriptException:找不到名为“javascript”的引擎,请确保在 JSR223 测试元素中设置语言字段:Pega id 的问题 在 org.apache.jmeter.util.JSR223TestElement.getScriptEngine(JSR223TestElement.java:101) ~[ApacheJMeter_core.jar:5.3] 在 org.apache.jmeter.extractor.JSR223PostProcessor.process(JSR223PostProcessor.java:44) [ApacheJMeter_components.jar:5.3] 在 org.apache.jmeter.threads.JMeterThread.runPostProcessors(JMeterThread.java:940) [ApacheJMeter_core.jar:5.3] 在 org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:572) [ApacheJMeter_core.jar:5.3] 在 org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489) [ApacheJMeter_core.jar:5.3] 在 org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) [ApacheJMeter_core.jar:5.3] 在 java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]

1 个答案:

答案 0 :(得分:0)

如果没有看到测试计划、完整的监听器输出和 jmeter.log 文件,我们就无法提供全面的响应

如果您在 .jtl 文件中没有看到采样器结果,很可能它没有被执行,并且可能有多种原因没有执行采样器。

  1. 您正在查看旧结果。鉴于您提供的用户数为 50,我希望至少有 50 个采样器结果,而您只有 10 个。尝试将 -f command-line argument 添加到您的 JMeter 启动脚本中,以便它会用新数据覆盖现有的 .jtl 文件

  2. 您有像 If Controller 这样的逻辑控制器,用于有条件地执行您的 /buscarAvaliacaoAluno/alterarAvaliacaoAluno,但条件不满足

  3. 除了 Thread Group 中的 Continue 之外,您有“采样器错误后要采取的操作”,因此您的测试在这些采样器之前的某个地方失败,因此它们没有被执行

    enter image description here

相关问题