使用 TestNG 执行 Jmeter 脚本不会在"包含控制器"下执行 JMX 脚本



我们使用TestNG框架来运行JMeter脚本。我们的 Jmeter 脚本包含很少的包含控制器。当我们使用 JMeter UI 执行时,脚本会成功执行。但是当使用 TestNG 帧工作执行脚本时,它会抛出错误,例如找不到路径(对于相对编码路径(或跳过包含控制器步骤(对于硬编码路径(

尝试使用硬编码路径以及相对路径以包含其他测试片段

包含控制器中 JMX 文件的相对路径:"../../../lib/SM_TestFragments/XML/clearDBTables.jmx">

包含控制器中JMX文件的绝对路径:"/home/test/REMS_CI_Test/AutomationHome/lib/SM_TestFragments/XML/clearDBTables.jmx">

当包括控制器时有"../../../lib/SM_TestFragments/XML/clearDBTables.jmx"路径,它抛出错误为:

09:27:19.603 [StandardJMeterEngine] 错误 org.apache.jmeter.control.IncludeController - 包含控制器"包含控制器"无法加载"。/../../lib/SM_TestFragments/XML/clearDBTables.jmx' - 有关详细信息,请参阅日志 09:27:19.623 [StandardJMeterEngine] ERROR org.apache.jmeter.util.JMeterUtils - 包括文件 "../../../lib/SM_TestFragments/XML/clearDBTables.jmx"对于包含控制器"包含控制器"失败,意外错误 - 有关详细信息,请参阅日志 包括文件"../../../lib/SM_TestFragments/XML/clearDBTables.jmx"对于包含控制器"包含控制器"失败,意外错误 - 有关详细信息,请参阅日志

当包含控制器具有"/home/test/REMS_CI_Test/AutomationHome/lib/SM_TestFragments/XML/clearDBTables.jmx"路径时,日志中没有条目。跳过该步骤。

考虑检查jmeter.log文件,它应该包含有关出错的更多信息。

我能想到的一个可能原因是,您使用包含控制器引用的.jmx脚本具有一个或多个JMeter插件,并且当您使用TestNG运行测试时,该插件不在Java类路径中

。如果没有生成作为测试运行结果jmeter.log文件,请考虑设置log4j.configurationFile指向log4j2.xml文件位置的属性

最新更新