热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:如何在Junit测试中运行Jmeter线程组

篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何在Junit测试中运行Jmeter线程组相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何在Junit测试中运行Jmeter线程组相关的知识,希望对你有一定的参考价值。



嘿所有我有一个关于在Junit中运行Jmeter的问题,是否有可能在Junit中调用JMX文件并在Jmeter中运行它?一切都将从日食中完成?

例如:步骤1验证DB步骤2中的数据获取属性步骤3通过Jmeter步骤4验证数据在Junit中验证数据


答案

应该可以使用JMeter API。



  1. 确保在JUnit项目类路径中包含JMeter安装的“lib”和“lib / ext”文件夹中的所有.jars文件

  2. 使用StandardJMeterEngine类来运行您的测试,如:
    import org.apache.jmeter.engine.StandardJMeterEngine;
    import org.apache.jmeter.reporters.ResultCollector;
    import org.apache.jmeter.reporters.Summariser;
    import org.apache.jmeter.save.SaveService;
    import org.apache.jmeter.util.JMeterUtils;
    import org.apache.jorphan.collections.HashTree;
    import org.junit.Test;
    import java.io.File;
    public class YourJUnitTestClass {
    @Test
    public void runJMeter() throws Throwable {
    StandardJMeterEngine jmeter = new StandardJMeterEngine();
    JMeterUtils.loadJMeterProperties("/path/to/your/jmeter/bin/jmeter.properties");
    JMeterUtils.setJMeterHome("/path/to/your/jmeter");
    JMeterUtils.initLocale();
    SaveService.loadProperties();
    HashTree testPlanTree = SaveService.loadTree(new File("/path/to/your/jmeter/Test.jmx"));
    Summariser summer = null;
    String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");
    if (summariserName.length() > 0) {
    summer = new Summariser(summariserName);
    }
    String logFile = "/path/to/result.jtl";
    ResultCollector logger = new ResultCollector(summer);
    logger.setFilename(logFile);
    testPlanTree.add(testPlanTree.getArray()[0], logger);
    jmeter.configure(testPlanTree);
    jmeter.run();
    }
    }

更多信息:Five Ways To Launch a JMeter Test without Using the JMeter GUI


另一答案

您正在尝试在JUnit测试中执行JMeter,这是一种错误的方法,

因为JMeter主要是一种表演工具



Apache JMeter可用于测试静态和动态资源,Web动态应用程序的性能。它可用于模拟服务器,服务器组,网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。


和junit is not suitable for performance test



JUnit专为单元测试而设计。在Java中编写性能测试时需要注意很多事情


你能做什么如果你想使用JMeter进行单元测试是在JUnit Sampler内部/使用JMeter添加单元测试



Classname要测试的类的名称。采样器将扫描jmeter / lib / ext和jmeter / lib / junit中的jar文件,以获取扩展JUnit的TestCase的类。


拥有多种工具来执行不同类型的测试也是可以的



推荐阅读
  • 理解HTTP状态码及其应用
    本文详细解析了HTTP状态码的分类及常见代码的意义,帮助开发者和用户更好地理解和解决网络请求中遇到的问题。 ... [详细]
  • PHP网站部署指南:从零开始搭建PHP网站
    本文提供了详细的步骤指导,帮助开发者在不同环境下成功部署PHP网站,包括在IIS和Apache服务器上的具体操作。 ... [详细]
  • 本文详细介绍如何在Spring Boot项目中集成和使用JPA,涵盖JPA的基本概念、Spring Data JPA的功能以及具体的操作步骤,帮助开发者快速掌握这一强大的持久化技术。 ... [详细]
  • J2EE平台集成了多种服务、API和协议,旨在支持基于Web的多层应用开发。本文将详细介绍J2EE平台中的13项关键技术规范,涵盖从数据库连接到事务处理等多个方面。 ... [详细]
  • Golang与微服务架构:构建高效微服务
    本文探讨了Golang在微服务架构中的应用,包括Golang的基本概念、微服务开发的优势、常用开发工具以及具体实践案例。 ... [详细]
  • 本文详细介绍了在 Windows 7 上安装和配置 PHP 5.4 的 Memcached 分布式缓存系统的方法,旨在减少数据库的频繁访问,提高应用程序的响应速度。 ... [详细]
  • 本文详细解析 Skynet 的启动流程,包括配置文件的读取、环境变量的设置、主要线程的启动(如 timer、socket、monitor 和 worker 线程),以及消息队列的实现机制。 ... [详细]
  • Spring Security基础配置详解
    本文详细介绍了Spring Security的基础配置方法,包括如何搭建Maven多模块工程以及具体的安全配置步骤,帮助开发者更好地理解和应用这一强大的安全框架。 ... [详细]
  • 这个报错出现在userDao里面,sessionfactory没有注入。解决办法:spring整合Hibernate使用test测试时要把spring.xml和spring-hib ... [详细]
  • 深入理解Java类加载机制及安全防护
    本文探讨了Java类加载的过程,包括加载、验证、准备、解析和初始化五个阶段,并详细解释了每个阶段的具体操作和意义。此外,文章还讨论了Java如何通过双亲委派模型来保障核心API的安全性,以及在特定情况下如何打破这一机制。 ... [详细]
  • PHP 5.4.8 编译安装指南
    本文详细介绍了如何在Linux环境下编译安装PHP 5.4.8,并配置为FastCGI模式运行。包括所需依赖包的安装、源代码下载、编译配置及启动服务等步骤。 ... [详细]
  • 本文介绍了多种Eclipse插件,包括XML Schema Infoset Model (XSD)、Graphical Editing Framework (GEF)、Eclipse Modeling Framework (EMF)等,涵盖了从Web开发到图形界面编辑的多个方面。 ... [详细]
  • 本项目使用Java语言开发了一个基于B/S架构的指纹识别系统,该系统能够实现指纹的高效采集与精准识别,适用于多种安全认证场景。 ... [详细]
  • Gradle 是 Android Studio 中默认的构建工具,了解其基本配置对于开发效率的提升至关重要。本文将详细介绍如何在 Gradle 中定义和使用共享变量,以确保项目的一致性和可维护性。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
author-avatar
陈怡伶翰纬
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有