Jmeter
Jmeter 是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试)
JMeter的作用
能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
完全的可移植性和100% 纯java。
完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
精心的GUI设计允许快速操作和更精确的计时。
缓存和离线分析/回放测试结果。
JMeter下载和安装运行
目前最新版本为5.5
下载后,解压到自定义文件夹中
打开bin目录,运行jmeter.bat
运行程序后如有以下报错信息,则提示未安装java,下载java安装后,再重新执行即可
JAVA官网下载地址:https://www.oracle.com/java/technologies/downloads/
java安装完成后,再次执行jmeter.bat,则能看到jmeter的运行界面
JMeter界面
- 菜单栏
- 常用工具栏
- 测试计划
- 测试计划对应内容
预定义模板
BeanShell Sampler | 简单的BeanShell用例 (BeanShell 一种类似于java的脚本语言) |
---|---|
Building a SOAP WebService Test Plan | 创建一个SOAP web服务的测试计划(SOAP 一种简单XML协议,使程序通过HTTP进行通信) |
Building a Web Test Plan | 创建一个web测试用例 |
Building an Advanced Web Test Plan | 创建一个优化版本的测试计划 |
Building an Extended LDAP Test Plan | 创建一个扩展的LDAP测试用例 (LDAP 一种轻型目录访问协议,通过IP协议提供访问控制和维护分布式信息的目录信息,常用于单点登录) |
Building an LDAP Test Plan | 创建一个LDAP测试计划(LDAP 一种轻型目录访问协议,通过IP协议提供访问控制和维护分布式信息的目录信息,常用于单点登录) |
Building an FTP Test Plan | 创建一个FTP测试计划(FTP 一种文件传输协议) |
Functional Testing Test Plan | 功能测试计划 |
JDBC Load Test | JDBC压力测试(JDBC java数据库) |
MongoDB Load Test | MongoDB压力测试 |
JSR223 Sampler using Groovy | 使用Goovy的JSR223用例(JSR223 java中的script脚本引擎) |
Recording | 录制脚本 |
Recording with Think Time | 录制带有思考时间的脚本(更真实模拟用户操作) |
Think Time at a point | 在某时刻设置思考时间 |
JMeter使用
添加虚拟用户组
右击“测试计划”>添加>Threads(Users)>http。
JMeter是由Java实现的,使用一个Java线程来模拟一个用户,线程组(Thread Group)指一组用户的意思,换句话来说一个线程组就是一组虚拟用户(virtual users),这些虚拟用户用来模拟访问被测系统。
- Number of Threads(users):线程数
虚拟用户数,默认的输入是1,表明模拟一个虚拟用户访问被测系统,此处模拟500个用户。
- Ramp-up period(seconds):虚拟用户增长时长
此处意为600秒内处理500次访问请求
- Loop Count:循环次数
设置一个虚拟用户做多少次的测试,如果选中永远(infinite),自己将不会停下来
添加测试页
右击“http” > “添加” > “Sampler” > “HTTP请求”。
设置一下“HTTP请求” Sampler的属性
根据目的地址属性设置,此处简单http请求,其他参数均设置为空。
设置完成后,点击绿色开始按钮执行测试计划
执行完,默认没有回显,需要在“选项” > “Log Viewer”
勾选后,方能显示
添加结果监听器
更好的观察测试结果
右击“baidu” > “Listener” > “View Results Tree”
添加后,执行测试计划,点击baidu > View Results Tree
即可看到所有线程组请求的返回结果