JMETER安装与配置教程

JMETER安装与配置教程1.前言ApacheJMeter是一款纯java编写负载功能测试和性能测试开源工具软件。2.方案理由1、不依赖界面,服务正常启动,传递参数明确便可添加测试用例执行测试。2、测试脚本不用编程,熟悉http请求和业务流程,就可以编写测试用例。3、测试脚本维护方便,可将测试脚本复制,并且可以将某一部分单独保存。4、可以跳过页面限制,向后台程序添加非法数据,测试后台程序的健壮性。5、Jme…

大家好,又见面了,我是你们的朋友全栈君。

1.前言
Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。

2.方案理由
1、不依赖界面,服务正常启动,传递参数明确便可添加测试用例执行测试。
2、测试脚本不用编程,熟悉http请求和业务流程,就可以编写测试用例。
3、测试脚本维护方便,可将测试脚本复制,并且可以将某一部分单独保存。
4、可以跳过页面限制,向后台程序添加非法数据,测试后台程序的健壮性。
5、Jmeter断言可以验证代码中是否有需要得到的值
6、使用参数化及Jmeter提供的函数功能,可快速完成测试数据的添加修改

3.准备工作
准备JDK安装包和JMETER安装包
在这里插入图片描述
4、JMETER配置
4.1 登录官网Jmeter下载,得到压缩包jmeter-5.0.tgz,
下载地址:https://jmeter.apache.org/download_jmeter.cgi

4.2 安装Jmeter
将下载的压缩包解压到你要安装的目录:比如 D:\ruanjian\hd-jmeter
· 下载后解压到指定文件夹,创建Jmeter_Home 值为Jmeter的安装目录;
· 新建系统变量CLASSPATH 复制以下内容 :%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;
· 然后到Jmeter的安装目录下的bin找到jmeter.bat文件,双击打开;

4.3 运行Jmeter 进入到Jmeter安装目录下的bin目录下,双击jmeter.bat 启动。
在这里插入图片描述

这时候可能会出现如下情况:
在这里插入图片描述
说明本地机器没有安装JDK和JAVA环境
4.4 安装JDK
JDK官方安装地址:
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
需要注册或者登陆oracle账号。
推荐地址:https://dl.pconline.com.cn/download/870496.html
在这里插入图片描述
本人电脑是64位:
在这里插入图片描述

JDK环境变量
1、新建环境变量 Java_Home 值为 JDK的安装目录,我的地址:D:\ruanjian\hd-jdk
2、找到环境变量path,新增 %Java_Home%\bin;%Java_Home%\lib 注意中间的。
3、打开cmd输入java;javac;java -version进行验证。

4.5、 Jmeter汉化

打开Jmeter的bin目录找到jmeter.properties,打开此文件,在第三十七行下新增如下语句language=zh_CN,然后保存退出,重新打开jmeter就ok啦!
在这里插入图片描述在这里插入图片描述

双击bin目录下的jmeter.bat,就可以启动Jmeter
在这里插入图片描述

5、开始测试
5.1 为了验证信息正确性,这里使用HTTP镜像服务器进行校验测试:
在这里插入图片描述
5.2 压力测试实例
http请求接口地址:

http://myhdzend.com/zfproject/public/user/insert-user?name=hand

要使用Jmeter对其进行压测,测试步骤如下
5.2.1、首先建立一个线程组
在这里插入图片描述

5.2.2、设置线程组参数。这里配置为:10个线程,同时启动,循环一次
在这里插入图片描述

5.2.3 新增http请求默认值。 在上一步创建的线程组上,新增http请求默认值,所有的请求都会使用设置的默认值,这设置协议为http,IP为localhost,端口为8080。
在这里插入图片描述
5.2.4 添加要压测的http请求
在这里插入图片描述
注意:下图第一个红框内的协议、IP、端口不需要设置,会使用上面5.2.3步骤中设置的默认值,只需设置请求路径Path即可,这里填入/zfproject/public/user/insert-user。然后添加参数,若参数值是中文或特殊字符,需要勾选URL Encode。
在这里插入图片描述
5.4 新增监听器,用于查看压测结果。这里添加三种:察看结果树,断言结果,聚合报告、图形结果、用表格查看结果,区别在于结果展现形式不同。
在这里插入图片描述

设置断言持续时间, 设置持续时间(毫秒),即性能测试的响应时间
在这里插入图片描述在这里插入图片描述

5.5 保存测试计划,点击启动按钮开始测试,查看测试结果。
5.5.1、察看结果树测试:
在这里插入图片描述
5.5.2 聚合报告测试

在这里插入图片描述

5.5.3 图形结果
在这里插入图片描述
5.5.4 用表格查看结果
在这里插入图片描述
5.5.5 断言结果,可以看到每个请求是否超出断言时间
在这里插入图片描述

6、用户自定义变量
6.1、以上测试为实例,添加一个“用户定义的变量”,设置变量”host” 以及值,这样在添加数据接口就可以通过”${host}”取得“服务器名称或IP”的值。

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

6.2 、测试文件上传
新建“HTTP”请求 命名为:文件图片上传
在这里插入图片描述
注意:对POST使用multipart/form-data 和 与浏览器兼容的头 一定要勾选。
MIME类型 填写 Content-Type: image/png
在这里插入图片描述

后台程序可能规定文件图片格式为比如:jpg,gif,png,要按规定上传,点击执行。
在这里插入图片描述

  1. “HTTP Cookie 管理器”的应用
    以修改数据接口为例,建立一个HTTP请求改名“数据修改”, 输入对应的host, path以及同请求一起发送的参数和值。
    在这里插入图片描述
    但是由于修改需要权限或者登录人信息cookie 验证,则需要添加”HTTP Cookie 管理器”以传递Cookie。如下图:
    在这里插入图片描述在这里插入图片描述
    点击启动按钮后,可以通过上述观察结果中察看。

7、建立接口直接的关联
7.1、以下以增加数据接口和修改数据接口为例,在这两个接口间建立关联,让修改数据接口可以实时取得增加数据的”id” 值,不必再手动输入最新的id值。一下是两个接口返回值(这边后台修改了返回数据格式)
在这里插入图片描述
在这里插入图片描述
7.2 应用”JSON提取器” 来实现
右键“数据库修改数据” -> “后置处理器 -> “JSON提取器”
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改数据处更改对应的提取字段
在这里插入图片描述
执行之后查看执行结果,如下图:
在这里插入图片描述
在这里插入图片描述
综上:这种关联接口的方式适合用于用户登录自动获取签名或者sessionId值,以便后续执行其他接口测试。尤其针对有缓存或者权限验证的接口。
8.在上述实例基础上进行脚本录制。首先添加“HTTP代理服务器”,
在这里插入图片描述

然后选择实例中 “测试计划> 线程”,“每个组放入一个新的控制器”
在这里插入图片描述
排除模式选择需要排除的,比如不必要的图片: ..(js|css|png|jpg|ico|png|gif).
在这里插入图片描述
9.设置浏览器代理 :
选择 Chrome浏览器中 设置 -> 高级
在这里插入图片描述在这里插入图片描述

设置完毕之后点击 “HTPP代理服务器”页面的 “启动” ,然后点击“OK”
在这里插入图片描述
就会看到产生结果,至此是JMETER的基本安装和测试教程。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138754.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 网络地址转换(NAT)的原理与配置

    网络地址转换(NAT)的原理与配置

    2022年3月6日
    37
  • Can通信接口学习笔记[通俗易懂]

    Can通信接口学习笔记[通俗易懂]第一步:了解Can通信接口协议,这里推荐大家<<Can入门教程>>(必读),里面详细说明的can相关知识点;另外推荐大家看有关Can协议标准书籍(选读),相关的pdf书籍下载地址:链接:https://pan.baidu.com/s/1KDtoqkm541xZhoTUpXVJaw提取码:9dvs第二步:特别需要关注点,1、通信速度与传输距离关系,2、通讯接口的硬…

    2022年6月20日
    32
  • -xms -xmx(information value)

    前提:找到你的studio64.exe.vmoptions(64位操作系统为例)文件根据需要修改其中的配置如图所示:注:在sun的jdk下,Xms和Xmx设置一样,可以减轻伸缩堆大小带来的压力,但在ibm的jdk下面,设置为一样会增大堆碎片产生的几率,并且这种负面影响足以抵消前者产生的益处 下面介绍JVM调优的参数的含义堆大小设置 JVM中最大堆大小有三方面限制:相关操…

    2022年4月16日
    46
  • 迭代器Python_python迭代器使用

    迭代器Python_python迭代器使用迭代器迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。可迭代对象我们已经知道可以对l

    2022年7月31日
    5
  • STM32与S3C2440的区别

    STM32与S3C2440的区别在学习嵌入式的路上,我们可能会接触到这两个比较典型的MCU。其中最大的区别就是S3C2440能跑linux操作系统,常常作为学习嵌入式linux的硬件平台。可能大家会问既然S3C2440能跑linux操作系统,似乎比stm32厉害多了,为什么不直接去学习S3C2440呢?下面我就大概解释一下大家遇到的困惑:1.先来说说stm32stm32是ST公司推出的基于Cortex-M3内核的

    2022年4月30日
    57
  • Spring Boot 无侵入式 实现API接口统一JSON格式返回

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:小魏小魏我们去那里呀 blog.csdn.net/qq_34347620/article/details/10…

    2021年6月24日
    106

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号