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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • golang2021激活码【注册码】

    golang2021激活码【注册码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • bootstrap分页样式

    bootstrap分页样式bootstrap分页样式在bootstrap.min.css文件中好像没有包含进来bootstrap.css才有的 .pagination{height:40px;margin:20px0;}.paginationul{border-radius:3px3px3px3px;box-shadow:01px2pxrg

  • k8s中存在很多为Evicted状态的Pod

    k8s中存在很多为Evicted状态的Pod背景在查看k8s的环境的时候,突然发现存在n多个pod状态为Evicted。差不多得有几百个。解决同事愉快的丢了个链接给我,让我自己看一波:Whatwillhappentoevictedpodsinkubernetes?查看了一下pod的信息。结果发现是磁盘满了。kubectldescribepod{pode_name}-n{namespace}但是得手动删除Evicted状态的podkubectlgetpods–all-namespaces-ojson

  • java向上取整向下取整

    java向上取整向下取整向上取整用Math.ceil(doublea)向下取整用Math.floor(doublea)举例:publicstaticvoidmain(String[]args)throwsException{doublea=35;doubleb=20;doublec=a/b;System.ou

  • 什么是JavaSE,写给第一次接触Java的人

    什么是JavaSE,写给第一次接触Java的人Java语法基础Java开发环境搭建Java概述Java是一门编程语言,是用来编写软件的。QQ、迅雷、淘宝、京东等等这些常用软件都可以用Java来编写。其实,Java最擅长的是编写如下类型的软件:1、互联网:电商、P2P2、企业级应用:ERP、CRM、BOS、OAJavaSE是java分类中的标准版,是刚接触java要学习的基础知识。JavaEE是java分类中的企

  • 使用yum安装_linux安装gitlab

    使用yum安装_linux安装gitlab是用yum安装gitlab

发表回复

您的电子邮箱地址不会被公开。

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