当前位置: 首页 > news >正文

JMeter本地环境搭建

jmeter初始化及配置(windows)

  1. 先在Apache官网下载jmeter源码包(以5.3版本为例)

下载地址:https://archive.apache.org/dist/jmeter/source/ (apache-jmeter-5.3_src.zip )

  1. 由于高版本jmeter使用gradle方式进行构建,下载依赖包,所以请确保本地安装好gradle环境

敲黑板:gradle版本下载5.x版本的,6.x版本与2019.2版本以下idea有兼容性问题,解决方案如下图

下载地址:https://gradle.org/install/

在这里插入图片描述

  1. idea打开jmeter源码,配置gradle
    在这里插入图片描述

  2. 配置完成开始gradle进行依赖下载,此段时间较长

  3. 简单介绍下jmeter源码目录结构

顶部目录
  • bin - 包含.bat 和 . sh 这些文件用于启动JMeter。同时也包含了ApacheJmeter.jar 和 相关的配置文件
  • build - build 脚本创建的目录,存放一些build过程生成的文件
  • dist - build 脚本创建饿目录,存放最后输出的文件
  • docs - JMeter 相关目录
  • extras - ant 相关的其他文件
  • lib - 包含JMeter 依赖的相关文件
  • src - 子目录包含支持的协议和相关组件代码
  • test - 单元测试目录
  • xdocs - 用于生成文档的xml文件,JMeter用xml来生成文档
Lib 目录结构
  • ext - 包含 JMeter 核心和协议相关的 jar 文件。把这些 jar 文件独立出来原因是如果都放在lib/目录里启动速度会变慢
  • opt - 一些可选的 jar 用于 JMeter 的一些可选的功能。这些 jar 只有在build 和 运行的时候才会被引入。用户可以自己下来可选的 jar 放到整个目录里
Src 目录结构
  • core - JMeter 核心功能和接口的代码目录,也是我们分析的重点
  • components - 和协议无关的一些类,例如协议, GUI 组件等
  • examples - 一些sampler的例子
  • functions - 一些其他组件会使用的标准函数
  • jorphan - 公共方法类
  • protocol - 不同的协议支持代码
  • junit - 测试相关的代码
  1. 下载完成后,打开jmeter主启动类NewDriver,将该代码tmpDir = userDir.getAbsoluteFile().getParent();替换为tmpDir = userDir.getAbsolutePath();,否则初始化启动会报错,找不到lib下对应的依赖包,这步很重要

  2. 进行如下操作,会自动编译,开启jmeter窗口,整个初始化完成

首次一定要运行build,这样初始化才会将对应jar包下载到lib目录下,后续直接NewDriver主类启动即可

在这里插入图片描述

mac idea导入jmeter源码需要注意事项

  • 构建项目请关闭公司代理(排除代理干扰)

  • 首先项目必须赋予最高权限:sudo chmod -R 777 apache-jmeter-5.4.1

  • 确保idea gradle环境如下图所示

在这里插入图片描述

  • 确保项目的java编译环境为1.8

在这里插入图片描述
在这里插入图片描述

  • 再项目根目录执行./gradlew build构建项目
  • 若出现权限拒绝等原因,请赋予相关权限

在这里插入图片描述

  • 若出现buildSrc目录构建错误,请进入该目录执行../gradlew auto** ,构建成功后再进入根目录执行
  • ./gradlew build构建会出现执行单元测试报错不用管,后面直接点击如图下图build即可
    在这里插入图片描述

相关文章:

  • 测试开发之Django实战示例 第一章 创建博客应用
  • 传感器模组:手机摄像头模组-1亿像素是如何实现的?
  • epoll设计实现
  • Spring整合SpringMvc
  • 【内网安全-隧道搭建】内网穿透_Frp上线、测试
  • 【Linux】冯诺依曼体系与操作系统(OS)概念
  • CUDA的代替选择
  • 数学知识-质数
  • 【linux】进程间通信——管道通信
  • 【内网安全-隧道搭建】内网穿透_Ngrok上线(美版、国版二开)
  • 哈希表的概念(散列表)
  • 【Python小游戏】2023兔年吉祥,祝大家辞旧迎新,前兔无量啦~兔年都在玩的这两款游戏,只有0.1%的人通关,你玩了吗?(内含福利源码)
  • 【计算机程序设计思想与方法】2 什么是计算思维?
  • 题库——“C”
  • 若依框架 -------- vue3+element-plus(三)
  • MATLAB入门——线性规划、非线性规划、多目标规划
  • MobaXterm使用指南
  • 电子技术——BJT的物理结构
  • VBA提高篇_18 VBA代码录制优化Select(tion)及表格合并Merge(cells()/Rows()/Columns()
  • 数据结构(C++)图论基础
  • 执掌伯克希尔60年,股神巴菲特宣布年底交出最终决定权:阿贝尔将接任CEO
  • 结束北京队与总决赛十年之痒的,为何会是一度被群嘲的许利民
  • 中青报:“爸妈替我在线相亲”,助力还是越界?
  • 五一假期首日,省级党政“一把手”夜访商业街区
  • 5月1日,全社会跨区域人员流动量完成33271.4万人次
  • 中国固体火箭发动机领域杰出专家赵殿礼逝世,享年92岁