JMeter本地环境搭建

news/2024/11/25 14:47:18/

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即可
    在这里插入图片描述

http://www.ppmy.cn/news/22785.html

相关文章

git 创建远程分支

1、在本地创建一个分支git branch 分支名2、查看当前自己所在的分支git branch3、查看所有分支以及自己当前所在的分支git branch -a4、切换分支git checkout 分支名5、新增并切换到改分支git checkout -b 分支名6、推送新分支到远程git push --set-upstream origin 分支名扩展…

如何在国内注册谷歌Gmail账号(最新版)

一、写作背景 中国自清朝闭关锁国以来到1978年新中国的改革开放再到2001年加入世贸组织,历史的事实证明固步自封只会落后挨打。自从2001年加入世贸组织WTO以来,大多数的中国的企业和商家都在享受贸易国际化,贸易全球化带来的经济红利。做出海…

Python操作mongodb数据库详解

数据库的分类 数据库可以简单的分为 MySQL 和 NOSQL 两类。这里的 NOSQL 不是 NO SQL 的意思,他的意思是 Not Only MySQL MySQL与NoSQL之间的区别: 1、MySQL是一个基于表格设计的关系数据库,而NoSQL本质上是非关系型的基于文档的设计。 2…

GC IOS Client教程(详细版)

GC IOS Client教程(详细版) 背景:由于一直好奇GC的ios端有没有教程,百度了很多也没有找到,而且连著名的yuukips都是todo ios状态,所以就写了这个文章。被这个玩意折磨时长一天半(幸好不是两天半…

安防视频监控系统设计

本项目建筑主要由4 幢小高层、32 栋 6 层的多层及部分公用建筑组成,住户数量较多,从小区的安全及管理应用看,对小区各种出入口的控制就显得非常有必要,同时为提高小区周界的主动防范水平,在周界部分设置一定数量的监控…

【C++】日期类的实现

猴子:嘿嘿嘿,上电视了,好开心 猫:媒体面前你注意一下形象,稳重点 文章目录一、获取某年某月的天数二、Date的默认成员函数(全缺省的默认构造)三、运算符重载1. 、、- 、-2.、!、>、>、&l…

车载以太网 - SomeIP - 报文类型RR和FF - 06

前面几篇文章都是对SomeIP的概念性内容进行了详细的分享,今天开始我们聊的会更贴近工作内容,大部分内容会是更加贴近SomeIP的功能,而不仅仅停留在概念的基础上;本篇文章主要是从SomeIP报文类型来分享常见的SomeIP报文使用。 常见SomeIP报文类型: 常见并且必须支持的SomeIP…

数据结构——Java对象的比较

目录 一、基本类型的比较 二、对象的比较 1、定义 2、方法 (1).覆写基类的equals (2).基于Comparable接口类的比较 (3).基于比较器的比较 3、对比 三、集合框架中的PriorityQueue的比较方式 四、应…