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的基本安装和测试教程。

JMETER安装与配置教程相关推荐

  1. Jmeter安装及配置教程

    Jmeter安装及配置教程 一.JMeter的安装配置过程 二.JMeter的运行和语言设置 一.JMeter的安装配置过程 安装配置过程: 第一步 安装JDK,配置JDK路径 到Oracle官方网站 ...

  2. Jmeter 安装及使用教程

    Jmeter 安装及使用教程目录 一.概念 二.下载地址 三.下载 四.配置jmeter环境变量(只有老版本需要此步骤去配置,5.2.1以上版本就已经不需要) 五.检查Jmeter是否配置成功 六.使 ...

  3. win10安装misql8_Win10下免安装版MySQL8.0.16的安装和配置教程图解

    1.MySQL8.0.16解压 其中dada文件夹和my.ini配置文件是解压后手动加入的,如下图所示 2.新建配置文件my.ini放在D:\Free\mysql-8.0.16-winx64目录下 [ ...

  4. Tomcat安装及配置教程(超详细的图文教程)(亲测)

    Tomcat安装及配置教程(超详细的图文教程) 1.什么是Tomcat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下 ...

  5. 【Ubuntu】Ubuntu16.04+VMware+Win10安装及配置教程

    Ubuntu16.04+VMware+Win10安装及配置教程   前言:   我之所以使用Ubuntu16.4,既为学Linux操作,也为学习Python.Ubuntu16.4一直以来在虚拟机上都跑 ...

  6. 最新Tomcat安装及配置教程+JavaWeb项目部署

    最新Tomcat安装及配置教程+JavaWeb项目部署 介绍 一.下载安装Tomcat 二.配置环境变量 三.JavaWeb项目发布 四.登录Web查询系统 介绍 此文章为自己在Tomcat配置及项目 ...

  7. mysql5.7.28下载安装_Windows下mysql-5.7.28下载、安装、配置教程

    MySQL 数据库 Windows下mysql-5.7.28下载.安装.配置教程 最近需要更换mysql数据库的版本,写一篇文章,记录一下 一.下载mysql数据库 我这里选择5.7.28-Windo ...

  8. Tomcat8安装及配置教程

    Apache  Tomcat8.0安装及配置教程... Apache  Tomcat8.0  官方网站链接:http://tomcat.apache.org/ apache-tomcat-8.0.39 ...

  9. Codeblocks安装与配置教程

    Code::blocks安装与配置教程 本人第一次写文章,有写的不好的地方请提出,关于文章内容有什么不懂的也可以问我! 大佬及虐菜人士请自觉离开 ~ 注意! 作者于2022年9月28日尝试进入Code ...

  10. Discuz!论坛程序安装+模板配置教程

    Discuz!论坛程序安装+模板配置教程 Linux系统安装方法: 第一步:检查是否安装apache mysql php ps -ef |grep httpd ps -ef |grep mysql p ...

最新文章

  1. 代理 设置wsl_第一次使用WSL我做了什么
  2. error: device not found - waiting for device -
  3. 数据从程序中传入到form中
  4. Vue安装依赖npm install时报错问题解决方法
  5. java 中类的加载顺序
  6. java业务层怎么设计_java – 在业务逻辑和数据层看起来重叠时分解它们的最佳设计?...
  7. 解决checkbox与对应文字不对齐的问题
  8. 信息学奥赛一本通C++语言——1078:求分数序列和
  9. layui弹框提示层:倒计时(layui-font-red颜色定义)
  10. 2192-Zipper 求最长公共子序列的解题报告
  11. 20161212xlVBA文本文件多列合并
  12. (一)数据挖掘概念与技术——韩家炜
  13. 网络工程师中级(知识产权与标准化)
  14. 怎么去图片水印?教你三个方法解决图片怎么去水印
  15. MNN源码阅读之模型转换
  16. 属性加密技术及基于属性的访问控制技术
  17. python自动化测试登录_自动化测试(二)如何用python写一个用户登陆功能
  18. 关于软件产品化的几点思考【转】
  19. 求最大公约数的几种常见方法(C语言)
  20. SAP SD基础知识之主数据

热门文章

  1. termux安装渗透工具一
  2. GJB-150湿热试验,国军标150试验机构
  3. [Unity插件]Live2D插件学习
  4. 安卓TV版二开对接苹果cms后台,原生Java前端
  5. c语言王者荣耀程序代码,王者荣耀:张大仙直言C语言上手并不难,玩家:张工程师成了?...
  6. nginx 配置反向代理
  7. Socket TCP Ping使用小结
  8. 火山软件开发访问网页查找电话号和读写文件应用
  9. 在线凯撒密码自动分析工具
  10. PHP框架TP5.1