Jmeter快速实现接口测试(一)

1.简介

Jmeter是apache组织使用纯java开发的一个开源免费测试工具,它可以实现接口和性能测试。

JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证业务接口功能。

支持多平台linux/Windows/Mac。

2.jmeter比LoadRunner有什么优点?

JMeter 是一款开源(有着典型开源工具特点:界面不美观)测试工具,并且安装包较小,相比LR的庞大(安装包3、4g),它非常小巧,只需要JDK环境,就可以使用。

而且jmeter功能强大,jmeter设计之初只是一个简单的web性能测试工具,但经过不段的更新扩展,现在可以完成数据库、FTP、LDAP、WebService等方面的测试。因为它的开源性,也可以根据自己的需求开发插件来完善它的功能

3.软件下载及安装

软件包下载地址

Jmeter官网:http://Jmeter.apache.org/ Jmeter下载地址:http://Jmeter.apache.org/download_Jmeter.cgi

最新版本的已经到5.1.1,对应的JDK版本为1.8。

安装:

首先安装JDK,并且配置好环境变量,这个就不在赘述了。

在bin目录下,双击jmeter.bat。

4.目录简介

先大概了解下各个目录的作用

bin目录:
主要存放可执行文件,主程序的jar包,配置文件,日志文件等。

常用文件:

jmeter.bat:windows下的应用启动文件。
jmeter.sh:linux下启动文件。
jmeter.log:应用运行的日志文件。
jmeter.properties:系统配置文件,经常需要根据需要修改。
说明:

jmeter.bat/jmeter.sh:启动脚本中,可以对Jmeter的启动参数JVM堆内存大小进行配置,默认为512M,建议修改成1024M。

比如:setHEAP=Xms1024m-Xmx1024m

docs目录:
存放Jmeter官方API文档,便于进行二次开发。

extras目录:
扩展插件目录,常用的是 Jmeter与ant集成的文件。

lib\ext目录:
该目录存放的是Jmeter的插件或者扩展组件。Jmeter会自动在lib和ext下寻找需要的类。

一般扩展的依赖包,会打成jar包放入ext目录。

printtable_docs目录:
该目录存放的是官方用户手册。

5.Jmeter的体系结构

两个维度

  • X1到X5模拟一个负载请求的过程
  • Y1完成请求的实现,Y2断言:实现请求结果的判断,Z监听器:实现结果收集,分析统计。

6.组件分类

测试计划(Test Plan):使用 Jmeter 进行测试的起点,它是其它 Jmeter 测试元件的容器。
线程组(Thread Group):代表一定数量的并发用户,它可以用来模拟并发用户发送请求。
采样器(sampler):定义实际的请求内容,被线程组包含,比如HTTP请求、java请求等。
监听器(Listener) :响应结果的显示,统计等。
逻辑控制器(Logic Controller) :帮助用户控制Jmeter的测试逻辑及执行顺序。
断言(Assertions) :用来检查从服务器获得的响应内容是否符合预期。
配置元件(Config Element) :初始化默认值和变量,以便采样器使用。
前置处理器(Pre Processors)和后置处理器(Post Processors) :请求前后的处理操作。
定时器(Timer):为采样器设置等待时长。

7.原件库的执行顺序

  1. 配置元件
  2. 前置处理器
  3. 定时器
  4. sampler
  5. 后置处理器
  6. 断言
  7. 监听器

8.作用域

在Jmeter中,配置元件、定时器、前置处理器、后置处理器、断言、监听器都是用来辅助脚本功能实现的,都是 依赖于Sampler组件,这六类组件和Sampler之间就存在一个作用关系,即作用域。

作用域的原则
取样器(sampler):不与其它元件相互作用,所以不存在作用域的问题。
逻辑控制器(Logic Controller):只对其子节点中的采样器和逻辑控制器起作用。
除采样器和逻辑控制器元件外,其他6类元件,如果是某个sampler的子节点,则该元件只对该sampler及子节点起作用。
除采样器和逻辑控制器元件外的其他6类元件,如果其父节点不是sampler ,则其作用域是该元件父节点下的其他所有后代节点,包括内部节点。

9.一个简单的http请求测试

首先添加线程组:

线程组用来模拟用户,所以也叫Users。一个线程组模块可以包含多个线程,每个线程代表一个用户,这样可以模拟高并发下的请求,并根据网站的响应信息来判断网站的相关性能。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

[外链图片转存中…(img-TDtTwEby-1719229322994)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值