Jmeter二次开发Demo

Jmeter二次开发Demo

前言

在上一集,我们已经完成了JMX脚本的分析,大致了解了JMX脚本的基本元素。

那么在这一集,我们将会介绍一下Jmeter二次开发的Demo。

Demo代码

那么话不多说,我们就直接上代码。


public class TestStress {
    @Test
    public void testJmeterScript()throws Exception{
        // JMeter路径
        String jmeterPath = "G:\\Jmeter\\apache-jmeter-5.6.3";
        // JMeter根目录
        File jmeterHome = new File(jmeterPath);
        // JMX文件路径
        String jmxFilePath = "E:\\XXX\\JMX\\pay_json.jmx";
        // JMX文件
        File jmxFile = new File(jmxFilePath);
        // JMeter配置文件路径
        File jmeterProperties = new File(jmeterHome.getPath() + File.separator + "bin" + File.separator + "jmeter.properties");
        // 设置JMeter根目录
        JMeterUtils.setJMeterHome(jmeterHome.getPath());
        // 加载JMeter配置文件
        JMeterUtils.loadJMeterProperties(jmeterProperties.getPath());

        // JMeter标准引擎
        StandardJMeterEngine jmeter = new StandardJMeterEngine();
        // 测试计划树
        HashTree testPlanTree = new HashTree();

        // 设置文件服务器的基础脚本路径
        FileServer.getFileServer().setBaseForScript(jmxFile);
        // 加载测试计划树 jmx脚本
        testPlanTree = SaveService.loadTree(jmxFile);

        // 转换测试计划树
        JMeter.convertSubTree(testPlanTree, false);

        // Summariser对象
        Summariser summer = null;
        // Summariser名称
        String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");
        if (!summariserName.isEmpty()) {
            // 创建Summariser对象
            summer = new Summariser(summariserName);
        }
        // 结果日志文件名
        String logFile = "example.csv";
        // 结果收集器
        ResultCollector logger = new ResultCollector (summer);
        logger.setFilename(logFile);
        // 将结果收集器添加到测试计划树上
        testPlanTree.add(testPlanTree.getArray()[0], logger);
        // 配置JMeter引擎
        jmeter.configure(testPlanTree);
        // 运行JMeter测试
        jmeter.run();
    }
}

上面的代码,有几个小点是需要各位修改一下的,一个是Jmeter的路径,另一个是用于使用到这个Demo的JMX脚本的路径。不过要注意一下路径的分隔符要结合自身的系统来使用,比如说我的操作系统是Windows的,所以分隔符是'\\'。

代码解释

  1. 初始化JMeter环境:设置JMeter的安装路径和配置文件路径,并加载配置。

  2. 加载测试计划:指定JMX文件路径,将测试计划加载到JMeter的测试计划树中。

  3. 配置结果收集器:创建结果收集器对象,设置结果输出文件名,并将其添加到测试计划树中。

  4. 运行测试:配置JMeter引擎,使用测试计划树运行测试。

具体来说:

  • 首先,代码设置了JMeter的根目录和JMX文件的路径。
  • 然后,它加载了JMeter的配置文件,并初始化了JMeter引擎和测试计划树。
  • 接下来,代码设置了文件服务器的基础脚本路径,并加载了JMX文件到测试计划树中。
  • 之后,代码检查了是否需要创建Summariser对象(用于生成测试摘要)。
  • 接着,代码创建了一个结果收集器,设置了输出日志的文件名,并将结果收集器添加到了测试计划树中。
  • 最后,代码配置了JMeter引擎,并执行了测试。

上一篇:【C语言】详解结构体(上)-2.结构体的声明


下一篇:安全防御,防火墙配置NAT转换智能选举综合实验