我编写了多个自动化的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运行单个测试用例时,它们都能工作。但是使用脚本运行它们总是会导致至少一些错误,就像我上面引用的那个。
1条答案
按热度按时间w46czmvw1#
原因是显而易见的:您的采样器没有产生预期的输出。
我们不能告诉你为什么会发生这种情况,你需要自己找出原因。
我建议将JMeter的.jtl结果文件转换为XML格式并包含响应数据,这样您就可以检查完整的响应并查看SSH命令采样器返回了什么。
对命令行的相关更改如下所示:
您将能够在ViewResultsTree监听器中打开
result.txt
并查看SSH命令采样器的实际响应。参考文献: