自动化的JMeter测试并不总是有效

ghg1uchk  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(156)

我编写了多个自动化的JMeter测试。它们包括向REST端点发送文件、检查日志和数据库。它们工作正常。我编写了一个批处理脚本来自动运行所有这些测试。但是,有时它们会遇到错误,我不明白为什么。
以下是脚本:

@echo off
 for /r %%i in (tests\*) do (CALL jmeter -n -t %%i -l result.txt)

CALL >nul find "failed" result.txt && (
CALL   echo ------Failed.-------
) || (
CALL   echo ------Success!-------
)
CALL pause

我检查了日志,它总是关于日志的东西。例如:
测试失败:文本应包含/我正在测试的一些文本/
我在SSH命令中使用了Response Assertion,并且在Assert之前有一个Constant Timer,所以日志有足够的时间对发送的文件做出React。当我使用GUI或CLI运行单个测试用例时,它们都能工作。但是使用脚本运行它们总是会导致至少一些错误,就像我上面引用的那个。

w46czmvw

w46czmvw1#

原因是显而易见的:您的采样器没有产生预期的输出。
我们不能告诉你为什么会发生这种情况,你需要自己找出原因。
我建议将JMeter的.jtl结果文件转换为XML格式并包含响应数据,这样您就可以检查完整的响应并查看SSH命令采样器返回了什么。
对命令行的相关更改如下所示:

jmeter -Jjmeter.save.saveservice.output_format=xml -Jjmeter.save.saveservice.response_data=true -n -t %%i -l result.txt

您将能够在ViewResultsTree监听器中打开result.txt并查看SSH命令采样器的实际响应。
参考文献:

相关问题