【发布时间】:2019-10-11 05:37:53
【问题描述】:
我的 JMeter 脚本包含许多测试元素,例如测试片段,包括控制器、beanshell 采样器、ssh 采样器、SFTP 采样器、JDBC 等。当我尝试使用 Java 代码(如下)运行 JMX 脚本时,一些测试元素被跳过.一个主要问题是它跳过测试片段而不进入另一个JMX脚本。我们使用包含控制器运行测试片段,我们尝试了所有路径组合。请帮助使用下面的Java代码在JMX文件中运行测试片段.
我尝试了 JMX 脚本中的所有路径,我在 maven 存储库等中添加了所有 JMeter Jars。
public class Test_SM_RS_001_XML extends BaseClass {
public void Test121() throws Exception {
StandardJMeterEngine jmeter = new StandardJMeterEngine();
Summariser summer = null;
JMeterResultCollector results;
File JmxFile1 = new File(/path/to/JMX/File/test121.jmx");
HashTree testPlanTree = SaveService.loadTree(JmxFile1);
testPlanTree.getTree(JmxFile1);
jmeter.configure(testPlanTree);
String summariserName = JMeterUtils.getPropDefault("summariser.name", "TestSummary");
if (summariserName.length() > 0) {
summer = new Summariser(summariserName);
}
results = new JMeterResultCollector(summer);
testPlanTree.add(testPlanTree.getArray()[0], results);
jmeter.runTest();
while (jmeter.isActive())
{
System.out.println("StandardJMeterEngine is Active...");
Thread.sleep(3000);
}
if (results.isFailure())
{
TestAutomationLogger.error("TEST FAILED");
Assert.fail("Response Code: " + JMeterResultCollector.getResponseCode() + "\n" + "Response Message: " + JMeterResultCollector.getResponseMessage() + "\n" + "Response Data: " + JMeterResultCollector.getResponseData());
}
}
}
我希望在 JMX 文件中运行测试片段,但它没有考虑和跳过。
【问题讨论】: