JMeter软件测试

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

JMeter的作用

1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完全的可移植性和100% 纯java。
3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.精心的GUI设计允许快速操作和更精确的计时。
6.缓存和离线分析/回放测试结果。

JMeter的高可扩展性

1.可链接的取样器允许无限制的测试能力。
2.各种负载统计表和可链接的计时器可供选择。
3.数据分析和可视化插件提供了很好的可扩展性以及个性化。
4.具有提供动态输入到测试的功能(包括Javascript)。
5.支持脚本编程的取样器(在1.9.2及以上版本支持BeanShell)。
在设计阶段,JMeter能够充当HTTP PROXY(代理)来记录IE/NETSCAPE的HTTP请求,也可以记录apache等WebServer的log文件来重现HTTP流量。当这些HTTP客户端请求被记录以后,测试运行时可以方便的设置重复次数和并发度(线程数)来产生巨大的流量。JMeter还提供可视化组件以及报表工具把量服务器在不同压力下的性能展现出来。

下载JMeter

https://pan.baidu.com/s/19ZV6e33I5DP7gTWYHjOnIA

解压缩JMeter

JMeter软件测试_第1张图片

解决JMeter字体问题

使用记事本编辑/bin/jmeter.bat文件
在文件开始文件添加如下代码:

set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.controlFont=Dialog-15
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.systemFont=Dialog-15
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.userFont=SansSerif-15
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.smallFont=SansSerif-15

修改/bin/jmeter.properties文件
在文件末尾添加如下代码:

jsyntaxtextarea.font.family=Hack
jsyntaxtextarea.font.size=15

启动JMeter测试工具

双击/bin/jmeter.bat文件
JMeter软件测试_第2张图片

配置如何录制测试脚本

一、新建线程组

JMeter软件测试_第3张图片
JMeter软件测试_第4张图片

二、新建HTTP代理

JMeter软件测试_第5张图片
JMeter软件测试_第6张图片

三、设置谷歌浏览器上网代理

JMeter软件测试_第7张图片
JMeter软件测试_第8张图片
JMeter软件测试_第9张图片
JMeter软件测试_第10张图片
JMeter软件测试_第11张图片

四、启动JMeter HTTP代理录制测试脚本

JMeter软件测试_第12张图片

五、使用谷歌浏览器录制登录测试脚步

JMeter软件测试_第13张图片
JMeter软件测试_第14张图片

六、添加“察看结果树”

JMeter软件测试_第15张图片
JMeter软件测试_第16张图片

七、运行录制的脚本

JMeter软件测试_第17张图片

八、定义正则提取器

许多动态数据需要时时提取出来保存到变量中,在后台的请求中需要用到。比如jsessionid
JMeter软件测试_第18张图片
从“察看结果树”中找到如何提取jsessionid参数。
JMeter软件测试_第19张图片
以Set-Cookie: JSESSIONID=开头,以; Path=/;结尾。

JMeter软件测试_第20张图片
JMeter软件测试_第21张图片

九、运行新修改的测试脚本

JMeter软件测试_第22张图片

十、参数化用户名密码

在目录中新建一文本文件,每行记录一用户名与密码,用户名与密码使用英文逗号分隔。扩展文件名为csv
JMeter软件测试_第23张图片
sysadmin,1
user01,01
user02,02
user03,03
user04,04
user05,05

JMeter软件测试_第24张图片
JMeter软件测试_第25张图片
Filename — 参数项文件
File Encoding — 文件的编码,设置为UTF-8
Vaiable Names — 文件中各列所表示的参数项;各参数项之间利用逗号分隔;参数项的名称应该与HTTP Request中的参数项一致。
Delimiter — 如文件中使用的是逗号分隔,则填写逗号;如使用的是TAB,则填写\t;(如果此文本文件为CSV格式的,默认用英文逗号分隔)

Recycle on EOF? — True=当读取文件到结尾时,再重头读取文件
False=当读取文件到结尾时,停止读取文件
Stop thread on EOF? — 当Recycle on EOF为False时,当读取文件到结尾时,停止进程,当Recycle on EOF为True时,此项无意义

十一、参数化脚本

JMeter软件测试_第26张图片
JMeter软件测试_第27张图片

十二、模拟多线程测试登录

JMeter软件测试_第28张图片
如果用户名密码错误
JMeter软件测试_第29张图片

十三、添加图形结果

JMeter软件测试_第30张图片
JMeter软件测试_第31张图片

十四、在Http请求后添加固定时间间隔

JMeter软件测试_第32张图片
JMeter软件测试_第33张图片

十五、添加结果检查断言

JMeter软件测试_第34张图片
JMeter软件测试_第35张图片
JMeter软件测试_第36张图片
测试断言
JMeter软件测试_第37张图片
JMeter软件测试_第38张图片

你可能感兴趣的:(Test)