Jmeter作为接口测试的常用工具之一,在我们的测试中经常会用到。它主要是Apache组织开发的基于java的开源软件,用于对系统做功能测试和性能测试。它最初被设计用于Web应用测试,但是后来扩展到其他测试领域,例如静态文件、Java程序、shell脚本、数据库、FTP、Mail等。
Jmeter基本构成有以下几个部分:1、测试计划:也就是描述我们本次测试的所有功能啦,我们可以在计划下添加多个线程组;2、线程组:顾名思义,就是一组线程,其实也就是一个虚拟的用户组了,我们进行并发测试不就是模拟很多同学同时在线对我们网站发起请求吗,这里线程组就可以想象成同时段所有用户的集合,而每个线程则是具体的某个虚拟用户啦,注意这里包含了三种线程组 thread group: 这个就是我们通常添加运行的线程组啦 setUp Thread Group: 特殊类型线程组,可以用于执行预测试操作,线程行为完全像是一个正常线程组件,不同的是这些类型的线程组在执行测试前进行定期线程组的执行,既测试开始前的初始化化工作 tearDown Thread Group: 特殊类型线程组,可用于执行测试后动作,这些线程在执行线程结束后执行定期的线程组。利用jmeter的线程组,我们可以很方便地对接口进行并发测试,无论是性能测试还是稳定性测试,我们都可以用线程组来实现。jmeter一个测试计划中可以添加多个线程组,每个线程组都可以独立起若干个线程进行测试;3、取样器:测试脚本的基础单元,用它想服务器发送一个请求,采样器会在超时前等待响应;4、逻辑控制器: 控制测试脚本执行顺序,让测试安装用户期望的顺序和逻辑执行;5、前置处理器:在请求发送之前对即将发送的请求做一些处理;6、后置处理器:对采样器发出请求得到的响应做处理;7、断言:用来验证服务器返回值和我们期望的值是否相同;8、定时器:保存JMeter测试脚本时间相关信息;9、配置元件:设置一些脚本信息,比如cookie, 请求头之类的;10、监听器:顾名思义用来监听收集测试结果信息的。
在jmeter中,还有一些非常实用的内置函数,通过函数助手,我们可以完全以图形化的方式来使用这些函数实现不同的功能。函数对于测试来说不在于多么它多么强大,而是在于它能为我的测试带来一些便利。在使用jmeter进行接口测试的过程中,聚合报告(Aggregate Report)几乎也是必不可少的一项功能。使用聚合报告,我们可以不费吹灰之力就得到测试中的各项统计信息,如错误率、接口响应时间、吞吐量等,方便快捷。
就目前来说jmeter是免费开源且容易上手的,所以它还是应用的比较广泛,值得我们去好好学习以下。