Jmeter自动化测试
来源:互联网 发布:淘宝网 情侣装 编辑:程序博客网 时间:2024/05/18 14:25
1 jmeter工具介绍
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
2 jmeter工具安装,使用
进入Apache官方网站下载Jmeter。链接地址:http://jmeter.apache.org/
下载apache-jmeter-2.11.zip,并解压缩文件到本地。
运行文件apache-jmeter-2.11\bin\jmeter.bat 打开Jmeter测试工具。
主界面如下:
(1)定义变量
选中测试计划,右击添加-配置元件-用户定义的变量(下面有添加或者删除变量的按钮)
这里可以添加测试服务器的ip地址${__P(host, 192.168.1.183)和端口号${__P(port,8080)
(2)添加HTTP信息头
选中测试计划-添加-配置原件-HTTP信息头管理器
添加请求类型Content-Type 值为application/json
(3)添加线程组
选中测试计划-添加-Threads(Users)-线程组
线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds))、循环次数。
线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
准备时长: 设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。
循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
(4)添加HTTP请求
添加完成线程组后,在线程组上右键菜单(添加--->Sampler--->HTTP请求)选择HTTP请求。
对于jmeter来说,取样器(Sampler)是与服务器进行交互的单元。
一个取样器通常进行三部分的工作:
向服务器发送请求;记录服务器的响应数据;记录相应时间信息
一个HTTP请求有着许多的配置参数,下面将详细介绍:
名称:本属性用于标识一个取样器,建议使用一个有意义的名称。
注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。
服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。这里取用户定义的变量${host}
端口号:目标服务器的端口号,默认值为80 。这里取用户定义的变量${port}
协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https ,默认值为http 。
方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
Content encoding :内容的编码方式,默认值为iso8859
路径:目标URL路径(不包括服务器地址和端口)
(5)添加断言
选中某一个HTTP请求-添加-断言-相应断言
如果API接口的返回结果,不符合断言的规定,则执行结果红色高亮显示,提示有错误!
(5)添加执行结果监听器
选中线程组-添加-监听器-查看结果树
选中线程组-添加-监听器-聚合报告
(6)执行测试计划
Ctrl+R 执行测试计划
Ctrl+E 清空执行结果
(7)查看执行结果
查看执行结果树:
"相应数据"窗口可以看到api接口的执行返回数据
可以选择返回结果的排版,这里选择Json格式。
Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间
Median:中位数,也就是 50% 用户的响应时间
90% Line:90% 用户的响应时间
Note:关于 50% 和 90% 并发用户数的含义,请参考下文
http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
- Jmeter自动化测试
- Jmeter自动化测试
- Jmeter压力测试自动化
- Maven jenkins +Jmeter自动化测试
- Ant+Jmeter自动化接口测试
- JMeter自动化接口测试思路
- linux下ant+jmeter自动化测试
- 基于Jmeter开发性能自动化测试平台
- Java 小型的自动化测试工具Jmeter
- jenkins+ant+jmeter自动化性能测试平台
- 基于Ant的JMeter性能自动化测试
- 基于ant的jmeter自动化性能测试
- Ant+jmeter 实现自动化性能测试
- 基于ant的jmeter自动化性能测试
- Jmeter&Ant构建自动化测试平台
- (五) jmeter 自动化测试 之if表达式
- Ant+Jmeter+Jenkins实现接口测试自动化
- Ant+Jmeter+Jenkins实现接口测试自动化
- Android FrameWork音频管理AudioManager的一点解析(续二)
- iOS 编译错误
- 数据结构心得
- MSSQL 获取汉字的首拼音 MYSQL 获取汉字的首拼音
- C++虚析构函数、纯虚析构函数
- Jmeter自动化测试
- 普里姆算法求最小生成树
- Intent使用Component
- Oracle 内联视图优化,视图合并的抉择
- Java线程(三)-线程栈模型与线程的变量
- 构造函数为什么不能是虚函数
- MATLAB图像处理_学习笔记
- Hibernate学习笔记
- java中的匿名内部类总结