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字体问题

使用记事本编辑/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文件
在这里插入图片描述

配置如何录制测试脚本

一、新建线程组

在这里插入图片描述
在这里插入图片描述

二、新建HTTP代理

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

六、添加“察看结果树”

在这里插入图片描述
在这里插入图片描述

七、运行录制的脚本

在这里插入图片描述

八、定义正则提取器

许多动态数据需要时时提取出来保存到变量中,在后台的请求中需要用到。比如jsessionid
在这里插入图片描述
从“察看结果树”中找到如何提取jsessionid参数。
在这里插入图片描述
以Set-Cookie: JSESSIONID=开头,以; Path=/;结尾。

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

十、参数化用户名密码

在目录中新建一文本文件,每行记录一用户名与密码,用户名与密码使用英文逗号分隔。扩展文件名为csv
在这里插入图片描述
sysadmin,1
user01,01
user02,02
user03,03
user04,04
user05,05

在这里插入图片描述
在这里插入图片描述
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时,此项无意义

十一、参数化脚本

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
如果用户名密码错误
在这里插入图片描述

十三、添加图形结果

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

十五、添加结果检查断言

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试断言
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值