使用Jmeter进行接口测试和压力测试的配置和使用
1. Jmeter简介
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。
JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。
2. Jmeter的下载和安装
Jmeter的使用需要java环境,需要先下载安装jdk;
下载Jmeter工具包,解压后进入bin文件夹,点击jmeter.bat即可运行;
可下载插件,拥有更多专业元件。
在http://jmeter-plugins.org/downloads/all/下载JmeterPlugins-Standard-1.1.3.zip,解压后将JmeterPlugins-Standard.jar放在XXX\Apache\jmeter\lib\ext下即可
3. 接口测试方法
1.什么是接口测试?
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
2.准备数据
获得测试URL中需要用的参数名称及值的获取方式。
获得各请求的方法、IP、测试URL、测试header、测试body及判断基准
测试实施
将测试用例中的各项写入软件中。
(1)创建线程组
(2)修改线程组名称
(3)为线程组添加元件
1.HTTP Cookie管理器
因为很多web网站都是需要登录后才可以进行操作,登录后产生的Cookie能够验证用户身份,在用软件进行测试时,需要通过验证,所以我们需要添加此管理器管理Cookie,它的值被整个线程共享(也可以被整个测试计划共享), Cookie在浏览器中取得。
2.HTTP 请求默认值
测试用例中每个接口的共同值可以用“HTTP 请求默认值”元件统计设置,省去每次请求都要填写的麻烦,它的值被整个线程共享(也可以被整个测试计划共享)。
3.用户定义的变量
将后续用到的变量添加到“用户定义的变量”,后续操作只需引用变量名称即可,它的值被整个线程共享(也可以被整个测试计划共享)。
4.HTTP请求
发送http请求需要用的元件。
5.HTTP信息头管理器
发送http请求需要加入信息头时用此元件,如线程组中的所有请求均需要信息头,则可将此管理器升级为整个线程组共享或者整个测试计划共享。
6.响应断言
发送请求后,需要通过比对响应结果是够符合判断基准来判断某条测试是否ok,通过人为判断是可行的,但是当请求数量较大时,人为判断效率低下,添加“响应断言” 能够提高效率(判断基准有多个时,可以添加多个断言)。
7.察看结果树
用于查看测试结果。
8.其他元件
(1)正则表达式提取器
可将某次响应返回数据中某些信息提取出来,用于后续操作。
(2)Debug Sampler
用于调试整个测试
(3)CSV Data Set Config
通过文件进行参数化的一个元件。
(4)开始测试
添加好各种元件及数据后,可进行测试,通过察看结果树察看各请求测试结果。
4. 压力测试方法
(1)线程组
(2)Constant Throughput Timer(固定吞吐量控制器)
(3)聚合报告
(4)监听器
监听器
jp@gc - Transactions per Second
监听器
jp@gc –PerfMon Metrics Collector
(5)使用非GUI界面运行压力测试
非GUI压力测试步骤:
在GUI界面设置并发数、测试时间等,添加各元件,保存测试计划,并关闭软件;
使用非GUI界面,用指令启动压力测试;
指令例如:D:\Program Files\apache-jmeter-3.1\bin>jmeter -n -t testplan.jmx -l listener.jtl打开jmeter.bat,在聚合报告元件中载入“listener.jtl”,查看聚合报告;
在监视器中中载入“listener.jtl”,查看各曲线图。
使用Jmeter进行接口测试和压力测试的配置和使用的更多相关文章
- Jmeter接口测试+压力测试+环境配置+证书导出
jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jmeter是java开发的,所以运行的时候必须先要安 ...
- JMeter接口测试和压力测试
JMeter接口测试和压力测试 JMeter可以做接口测试和压力测试.其中接口测试的简单操作包括做http脚本(发get/post请求.加cookie.加header.加权限认证.上传文件).做web ...
- 使用JMeter进行MySQL的压力测试
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 目录 前言 1. JMeter安装 2. 导入MyS ...
- Jmeter教程 简单的压力测试
Jmeter教程 简单的压力测试:http://www.cnblogs.com/TankXiao/p/4059378.html
- 转:使用 JMeter 完成常用的压力测试
使用 JMeter 完成常用的压力测试 就目前 Java EE 的平台下开发的软件来说,这种节点通常可能是:Web 服务器.数据库服务器和 JMS 服务器.它们都是请求主要发生的地点,请求频率较其它的 ...
- Windows和Linux的Jmeter分布式集群压力测试
Windows的Jmeter分布式集群压力测试 原文:https://blog.csdn.net/cyjs1988/article/details/80267475 在使用Jmeter进行性能测试时, ...
- JMeter (3) —— JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial)
JMeter (3) -- JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial) 主要内容 JMeter录制脚本并进行压力测试用户登陆场景,并以CAS SSO单点 ...
- 【转】使用JMeter 完成常用的压力测试(三)
使用JMeter 完成常用的压力测试 发布时间: 2008-9-27 15:33 作者: 未知 来源: 网络转载 字体: 小 中 大 | 上一篇 下一篇 | 打印 | 我要投稿 ...
- 【转】使用JMeter 完成常用的压力测试(二)
使用JMeter 完成常用的压力测试 Login.jsp 和welcome.jsp.其中 login.jsp 负责生成 User 对象,并调用 User 的login.当 login 返回为 true ...
随机推荐
- 16位模式/32位模式下PUSH指令探究——《x86汇编语言:从实模式到保护模式》读书笔记16
一.Intel 32 位处理器的工作模式 如上图所示,Intel 32 位处理器有3种工作模式. (1)实模式:工作方式相当于一个8086 (2)保护模式:提供支持多任务环境的工作方式,建立保护机制 ...
- 我是怎么一步步用go找出压测性能瓶颈
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由mariolu 发表于云+社区专栏 序言: 笔者要在线上服务器load日志并且重放来测一些机器性能指标.模拟机器资源比较少,相对的 ...
- JavaScript中的异步 macrotask 和 microtask
看过很多setTimeout.Promise执行顺序的面试题,一直不明白为啥都是异步操作,Promise就牛×些呢?直到了解了macrotask和micromask才恍然大悟... 先来一道面试题助助 ...
- 关于vue的常识问题及解决方法
一.VSCode开发必备插件 1.Beautify:语法高亮: 2.Bracket Pair Colorizer :对括号对进行着色: 3.ESLint:ESLint插件,高亮提示: 4.HTML C ...
- solr不是标准的java project解决方案
官方默认提供的源码包并不是一个标准的Eclipse Java - Project,需要使用ivy进行构建,通过ivy的构建可以将下载下来的源码包转换成一个标准的java Project,然后我们就能把 ...
- maven配置编译器的版本
发现每次启动idea时,项目里很多红色错误,都是的编译器版本不对,每次都要手动修改. 其实在pom里把默认编译器版本加进去就好了. <build> <plugins> < ...
- 西数常用TREX命令
西数常用TREX命令 trex命令:dut1 简便找盘idp或info did查看硬盘信息chkresfall检测固件smart 查看SMART表clrsmart 清SMART表svmod 0x.. ...
- ASP.NET MVC4 新手入门教程之二 ---2.添加控制器
MVC 代表 模型-视图-控制器.MVC 是一个模式用于开发应用程序是很好的架构. 可检验性和易于维护.基于 MVC 的应用程序包含: Models: 类表示应用程序的数据并使用验证逻辑以执行这些数据 ...
- Java 带缓冲的字节流和字符流
输入流就是文件从硬盘到内存的中间媒介,那么输出流就是文件从内存到硬盘的中间媒介.首先来看看FileOutputStream的继承了哪些类, java.lang.Object java.io.Outpu ...
- Hibernate 注解 (Annotations 三)多对一双向注解
注解(Annotation),也叫元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次.它可以声明在包.类.字段.方法.局部变量.方法参数等的前面,用来 ...