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引擎,并执行了测试。

相关推荐

  1. Jmeter开发Demo

    2024-07-17 05:22:06       24 阅读
  2. Jmeter函数开发说明

    2024-07-17 05:22:06       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 05:22:06       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 05:22:06       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 05:22:06       58 阅读
  4. Python语言-面向对象

    2024-07-17 05:22:06       69 阅读

热门阅读

  1. ubuntu上通过修改grub启动参数,将串口重定向到sol

    2024-07-17 05:22:06       23 阅读
  2. 【mysql】02在ubuntu24安装并配置mysql

    2024-07-17 05:22:06       27 阅读
  3. 常见云存储服务对比

    2024-07-17 05:22:06       19 阅读
  4. Linux基础 -- 运行安全之ASLR的作用与实现方式

    2024-07-17 05:22:06       28 阅读
  5. Django获取request请求中的参数

    2024-07-17 05:22:06       26 阅读
  6. 上传文件给Ubuntu服务器

    2024-07-17 05:22:06       27 阅读
  7. 0. 前言

    2024-07-17 05:22:06       32 阅读
  8. Elasticsearch(ES)数据备份迁移

    2024-07-17 05:22:06       20 阅读
  9. Vue 显示关键词附近内容并高亮显示关键词

    2024-07-17 05:22:06       21 阅读