我正在使用 JMeter 进行一些测试,但似乎在 GUI 模式下运行测试时,可以通过侦听器看到一些 HTTPs 请求响应统计信息,但是,在非 GUI 模式下运行相同的测试时,相同的响应不是' t 保存在 jtl 文件中,因此在 GUI 模式下加载 jtl 文件时不会显示在侦听器中。
在 GUI 模式下运行测试后:
然后,在非 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]
答案 0 :(得分:0)
如果没有看到测试计划、完整的监听器输出和 jmeter.log 文件,我们就无法提供全面的响应
如果您在 .jtl 文件中没有看到采样器结果,很可能它没有被执行,并且可能有多种原因没有执行采样器。
您正在查看旧结果。鉴于您提供的用户数为 50,我希望至少有 50 个采样器结果,而您只有 10 个。尝试将 -f
command-line argument 添加到您的 JMeter 启动脚本中,以便它会用新数据覆盖现有的 .jtl 文件
您有像 If Controller 这样的逻辑控制器,用于有条件地执行您的 /buscarAvaliacaoAluno
和 /alterarAvaliacaoAluno
,但条件不满足
除了 Thread Group 中的 Continue
之外,您有“采样器错误后要采取的操作”,因此您的测试在这些采样器之前的某个地方失败,因此它们没有被执行
等