Apache JMeter web 应用测试工具使用快速入门
目录
Apache JMeter 下载与安装
Apache JMeter 快速使用入门
线程组与线程属性
Http 请求
Jmeter 设置响应内容编码
查看结果树
HTTP 信息头管理器
CVS 数据文件
用户自定义变量
Apache JMeter 下载与安装
1、Apache JMeter 是一个开源的纯 Java 应用程序,旨在加载测试功能行为和测量性能,它最初设计用于测试 Web 应用程序,但后来扩展到其他测试功能。
2、Apache JMeter 可用于测试静态和动态资源、Web动态应用程序的性能。可用于模拟服务器、服务器组、网络或对象上的重载,以测试其强度或分析不同负载类型下的总体性能。
官网地址:Apache JMeter - Apache JMeter™(官网有详细的介绍和使用教程)
下载地址:Apache JMeter - Download Apache JMeter( 选择 Binaries(二进制)下面的下载即可)
apache-jmeter-5.4.1.zip | sha512 | pgp |
3、下载解压后,打开 bin 目录下的 jmeter.properties 配置文件,修改第40行左右位置的 language=zh_CN,表示使用中文语言。
4、双击 jmeter.bat 脚本文件、或者直接双击 ApacheJMeter.jar 文件即可运行程序。
5、默认整个程序的字体是比较小的,看着不太习惯,可以点击:选项->放大,调整界面的字体到合适的大小。
Apache JMeter 快速使用入门
1、打开 JMeter 工具后,左侧默认会有一个[测试计划]。
2、选中[测试计划]右击,选择: 添加 -> 线程(用户)-> 线程组。
2.1、可以填写线程租名称、注释,以及线程属性,其中常用的配置有:线程数,循环次数。
2.2、线程数:表示模拟多少个用户操作,比如 100 就相当于 100 个人同时操作。
2.3、循环次数:表示每个线程执行几次,也可以理解为每个请求多少次。
3、选中新建的[线程组]右击,选择:添加 -> 取样器 -> HTTP请求。假如需要请求:http://localhost:8080/emp/getEmpBySal?start=2000
3.1、同理可以填写请求名称、注释,'基本'选项卡下常用的配置有:
3.2、协议:表示请求的协议,比如 http、https,不写时默认为 http。
3.3、服务器名称或IP:表示请求的服务器域名或者IP,比如 localhost、127.0.0.1、www.baidu.com 等等。
3.4、端口号:表示请求的端口,比如 8080。
3.5、HTTP请求:用于设置请求方式,比如 get、post、put 等等。
3.6、路径:协议、ip、端口分开写之后,这里只需要写端口后面的部分即可,比如 /emp/getEmpBySal。
3.7、参数:用于设置 url 上的查询参数,比如 start=2000。查询参数也可以直接使用?号带在路径上。
3.8、消息体:用于设置请求体 body 中的参数。
3.9、文件上传:用于设置上传的文件。
4、选中新建的[HTTP请求]右击,选择:添加 -> 配置元件 -> HTTP信息头管理器。
4.1、可以填写名称、注释,主要用于设置请求的头信息,如 token、Cookie 等等。
4.2、比如 Post 请求时通常需要设置:Content-Type=application/json;charset=utf8
5、配置请求结果查看面板,选择:测试计划 -> 添加 -> 监听器,常用的有:察看结果树,汇总报告,聚合报告、用表格察看结果等。
6、最后点击'运行'按钮即可发起请求。
7、多个线程组时,在指定的线程组上右击,选择 '启动' 即可只运行单独的线程组下面的请求,否则默认会运行所有线程组。
线程组与线程属性
1、线程组下有几个线程属性:线程数、Ramp-Up 时间(秒)、循环次数。
1.1、线程数可以理解为用户个数,有多少个线程就表示有多少个用户。
1.2、循环次数表示每个线程/用户重复(串行)请求几次。
1.3、Ramp-Up 时间(秒)表示多少时间内请求全部发送完成。
1.4、比如 线程数=100,循环次数 =2,Ramp-Up=5,则 100 * 2 / 5,表示 40/s,即每秒发送 40 个请求。
2、线程组的线程属性针对的是下面的所有 Http 请求,而且默认从上到下顺序执行,比如线程组下有两个请求,线程数为2,循环2此,则执行情况如下:
Http 请求
1、post 请求时查询参数建议直接使用 ? 号带在路径上,请求体设置在‘消息体数据’里面。
2、文件上传的 MIME 类型填写:application/octet-stream
3、如果使用了全局变量或者 cvs 数据文件设置参数值,则使用 ${xxx} 获取变量的值。
Jmeter 设置响应内容编码
1、默认情况下 Jmeter 是使用 ISO-8859-1 对返回内容进行解码,所以返回的中文会乱码。
2、解决方式1:修改 jmeter.properties 文件中的 sampleresult.default.encoding=UTF-8,这样所有请求都将使用此配置。
3、解决方式2:在指定请求上右击,选择:添加 -> 后置处理器 -> BeanShell 后置处理程序,在脚本框中输入如何内容后即可,此种方式只对指定的请求有序。prev.setDataEncoding("UTF-8");
查看结果树
1、【查看结果树】模块,"取样器结果"的左侧可以选择响应内容的展现形式,比如 Json。
HTTP 信息头管理器
1、如果请求的接口需要先登陆,则可以像 Postman 一样,先使用浏览器登陆,F12 随便找一个接口,从请求头信息中得到 Cookie 信息,然后放到【HTTP信息头管理器】中即可。
2、线程组或者Http请求—>配置元件—>【HTTP信息头管理器】,然后设置请求头即可。
3、【保存测试计划】可以将头信息保存到本地,方便后续再【载入】重复使用。
CVS 数据文件
1、有时候可能需要并发请求同一接口,而其中的参数却是动态变化的,此时可以选择从 cvs 文件读取。
2、准备 cvs 文件,设置参数值,第一行可以设置好变量名称,也可以在 Jmeter 中设置。
3、线程组或者Http请求—>添加—>配置元件—>CSV Data Set Config.
4、其中的配置选项都通俗易懂,不再重复累述,如果 cvs 文件首行没有设置变量名,则可以在其中的 "变量名称(西文逗号间隔)"栏上设置。
5、最后在 http 请求的参数值位置,使用 ${变量名} 的方式获取参数值。
6、值得注意的是,假如 cvs 文件中参数值数据有5行,此时线程属性配置:
线程数2+循环次数1:请求2次,只取 cvs 文件中第1、2行参数值。
线程数5+循环次数1:请求5次,逐个获取 cvs 文件中的5行参数值。
线程数5+循环次数2:请求10次,cvs 文件中5行参数值获取两遍。
用户自定义变量
1、除了从 cvs 文件中获取参数值,也可以直接在 Jmeter 中定义变量。线程组或者Http请求—>配置原件—>用户定义的变量。
2、然后在 Http 请求中即可获取使用 ${变量名称}。
Apache JMeter web 应用测试工具使用快速入门相关推荐
- python测试开发教程_python3测试工具开发快速入门教程
现有的优秀python教程大多来自国外,但是翻译过来文章,有些丧失了原意.且现有的python3教程,很少有结合项目能快速上手.为此我们退出为零基础的初学者提供python入门教程(资深python使 ...
- python3.7输出语句_python3测试工具开发快速入门教程7输入和输出
python有多种输出方式:屏幕打印数据,或者写入文件. 格式化输出 我们有两种大相径庭地输出值方法:表达式语句* 和 print() 函数(第三种方法使用文件对象的write()方法,标准文件输出可 ...
- 十大网站压力测试软件 - WEB压力测试工具介绍
下面是十个免费的可以用来进行Web的负载/压力测试的工具,这样,你就可以知道你的服务器以及你的WEB应用能够顶得住多少的并发量,以及你的网站的性能.我相信,北京奥组委的订票网站的开发团队并不知道有这样 ...
- python的web压力测试工具-pylot安装使用
pylot是python编写的一款web压力测试工具.使用比较简单.而且测试结果相对稳定. 这里不得不鄙视一下apache 的ab测试,那结果真是让人蛋疼,同样的url,测试结果飘忽不定,看得人心惊肉 ...
- linux下web压力测试工具ab使用及详解
APACHE自带的测试工具AB(apache benchmark).在APACHE的bin目录下. 格式: ./ab [options] [http://]hostname[:port]/path 参 ...
- 第一百一十四期:盘点十大最新Web UI测试工具
本文为您盘点目前十大最新Web UI测试工具的各自优缺点,以方便您根据实际情况进行选择. 作者:陈峻 在过去的几年中,业界至少出现了十二种全新的UI测试自动化工具.虽然每一种工具都有各自的侧重点,但是 ...
- 12个强大的Web服务测试工具
在过去的几年中,web服务或API的普及和使用有所增加. web服务或API是程序或软件组件的集合,可以帮助应用程序进行交互或通过形成其他应用程序或服务器之间的连接执行一些进程/事务处理.基本上有两种 ...
- 十大必不可少的自动化 Web UI 测试工具!
任何希望改进工作流程和缩短发布周期的开发团队都应该考虑自动化 UI 测试.手动测试将始终在开发中发挥作用,但自动化测试可确保更高质量的最低基线.此外,它还降低了成本,确保了可操作的结果,并简化了整个审 ...
- Web安全测试工具介绍
如今,Web 技术繁荣发展的同时,也带来了前所未有的安全挑战.有数据统计,所有黑客入侵事件中,85% 以上都是针对 Web 应用漏洞发起的攻击. Web安全测试工具介绍 nikto 向目标发送探测数据 ...
- Web模糊测试工具Powerfuzzer
Web模糊测试工具Powerfuzzer Powerfuzzer是Kali Linux自带的一款Web模糊测试工具.该工具基于各种开源模糊测试工具构建,集成了大量安全信息.该工具高度智能化,它能根据用 ...
最新文章
- 硅谷封面|美国人要小心了!亚马逊正在监控他们的一举一动
- transform、transition 动画效果
- VMware linux 在2.4.20-8 中编译2.6.15.5 内核
- 谈一下我对如何设计微服务接口的理解和思考
- Django源代码写DetailView与ListView
- stringbuffer判断是否为空
- 计算机原理课程设计 第二版pdf,计算机组成原理课程设计二.pdf
- 贪吃蛇大作战游戏攻略
- 让VB6 IDE“认识”鼠标滚轮
- 一些经久不衰的linux 视频教程列表
- MINA框架客户端的使用
- mac mojava 安装php56的正确姿势
- android 解析程序包时出现问题
- 固定IP地址及其重启后地址更改的解决方法
- JMeter_Ubuntu上安装jmeter
- 51单片机 c语言小数计算,51单片机怎么实现浮点运算
- 如何简单易懂的了解什么是区块链?
- 记录解决问题--ie闪退
- 【转载】salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解...
- 空气质量监测系统的组成和应用
热门文章
- 引用了System.Configuration命名空间,却找不到ConfigurationManager类
- 应用系统架构设计[转]
- 雅虎再掀高管离职潮 博客列三大原因
- 拓端tecdat|R语言中使用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据
- 拓端tecdat|R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
- 拓端tecdat|数据解锁职场女性潜力
- 拓端tecdat|视频:R语言中的Stan概率编程MCMC采样的贝叶斯模型
- html 中的特殊字符转义,html拼接字符串中特殊字符(‘ “ 等的转义问题)
- opencv绘制矩形框
- 机器学习之分类器——Matlab中各种分类器的使用总结(随机森林、支持向量机、K近邻分类器、朴素贝叶斯等)