多语言展示
当前在线:1744今日阅读:155今日分享:35

测试工程师的接口测试神器----JMeter基础(一)

JMeter是Apache开发的基于Java的压力测试工具。用于对软件做压力测试,最初用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。JMeter可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器、脚本、对象。
工具/原料
1

JDK

2

JMeter

方法/步骤
1

配置jdk我的电脑-->鼠标右键-->属性-->高级系统设置-->高级-->环境变量(1) 新建->变量名'JAVA_HOME',变量值'C:\Program Files (x86)\Java\jdk1.8.0_144'(即JDK的安装路径)(2) 编辑->变量名'Path',在原变量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”(3) 新建->变量名“CLASSPATH”,变量值“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”(4) Windows+R,输入cmd打开控制台,输入java -version查看版本

2

运行jmeter进入D:\apache-jmeter-3.3\bin目录,运行jmeter.bat文件

3

添加线程组继续:继续执行接下来的操作Start Next Thread Loop:忽略错误,执行下一个循环停止线程:退出该线程(不在进行此线程的任何操作)停止测试:等待当前执行的采样器结束后,结束整个操作Stop Test Now:直接停止整个测试线程数:模拟的用户量,一个线程表示一个请求Ramp-Up Period(in seconds):达到指定线程数所需要的时间,如果线程数为100,此处设置为10,即表示每秒启动10个线程数。循环次数:执行的次数,选中永远会一直执行下去启动时间:线程下的接口的启动时间结束时间:线程下的接口的结束时间持续时间:从线程的启动时间开始算起,到持续时间之后结束延迟之间:从线程的启动时间开始算起,延迟N秒之后开始执行

4

添加http请求右键线程组-->添加-->sampler-->http请求Parameters和Body Data参数化的区别:Parameters:post和get请求都会用到,链接地址中显示xx=xx&xx=xxxBody Data:json格式的请求(备注:json格式的请求需添加http信息头管理器)

5

http信息头管理器右键线程-->添加-->配置原件-->http信息头管理器如何添加内容:1)打开要测试的系统,F12之后,随便请求一个页面2)查看network-->header-->Request Header将Accept,Accept-Encoding,Accept-Language,Content-Type,User-Agent复制进去添加信息头管理器的作用:模拟一个浏览器请求

6

察看结果树主要显示接口返回数据和结果

7

图形结果样本数据:服务器接收的请求数最新样本:最后一个请求的响应时间(单位:ms)平均:总运行时间除以发送到服务器的请求数量偏离:服务器响应时间变化,偏离值越大说明系统越不稳定吞吐量:服务器每分钟处理的请求数,吞吐量越大说明服务器的处理事务的能力和效率越强中值:表示50%的服务器响应时间低于该值,50%的服务器响应时间高于该值

8

用表格察看结果Sample:线程序号Start Time:线程请求开始时间Label:线程请求名称Sample Times(ms):请求响应时间Status:请求响应时间Bytes:请求的大小Latency:请求延迟时间Connect Time:请求连接时间

9

聚合报告各接口的最大,最小,平均响应时间

推荐信息