前言
无论是Web互联网还是移动互联网公司,后台都有大量的接口提供的服务,有很多的业务上的逻辑是放在后台来实现,前端针对后台接口返回的数据,选择性的进行正确的展示。同样越来越多的公司也越来越关注接口测试,有的自己搭建了接口测试平台(Django、flask等等好多)或者针对很多开源库,自己整了一套适合自己的接口测试框架(httpclient、requests等),但在有些测试团队,通常自动化方面开展会遇到各种各样的问题:
· 版本迭代过快。由于互联网版本节奏非常快,有的公司甚至一个月迭代一个大版本(比如我司,应用一个月更新一次,其中还有各种小版本、小补丁上线)。团队成员精力有限,公司出于成本的考虑,可能不会留给测试人员太多搭建接口测试平台或者接口测试用例框架的时间。
· 自身能力有限吧,对于大型的项目,后台逻辑的理解可能会发挥很长时间,对于构建自动化用例来说有一定的技术门槛,不是所有的测试人员都能达到这个水准。
· 成本问题,之前我司招了一个专门搞自动化的,半年后还是友好分手了,投入和产出不成正比。需要有专门的人员长时间花精力和时间去维护,可能也会超出公司的预期。
Jemter用于接口的优点
最初了解Jemter,它是一款用于性能测试的一款工具,目前也是主要功能之一,后来才逐渐丰富完善,逐渐不少公司用于接口测试。
主要有如下几个优点:
1.支持多种类型的协议
Jmeter自带支持的接口协议有多种,可以省去接口协议的数据收发方面的开发。
2.对HTTP协议支持的比较全面
HTTP目前还是互联网公司常用的协议,Jmeter对HTTP的支持比较全面,对于协议方法、请求参数和值、代理等方面都提供了支持。
同时还提供了cookie管理器、cache管理器、请求默认值等辅助功能:
3.断言方式较全面
如果仅是简单的请求、相应,不对相应内容进行断言,测试结果检查起来是很困难的。
Jmeter提供了相应断言,可以看出还是较全面的,支持相应代码、响应头、响应内容等,同时支持包括、等于、否等多种判断规则。
4.可以连接数据库检查数据
在实际接口测试中,有时候需要连接数据库查询数据进行校验,Jmeter中可以通过JDBC Request这个sampler实现,如下:
5.工具非常稳定
作为一款开源工具,Jmeter的用户可以达到千万级,其稳定性已经得到了比较充分的验证。而自动化是一个比较频繁执行的行为,所以Jmeter的稳定正好满足这一点。
Jmeter用于接口测试实践
仅仅是简单使用吧,介绍的比较浅,用例分层、报告输出、邮件发送、持续集成等暂都不做介绍。
整体框架如下:
HTTP请求默认值,主要方便下面,不用每次请求都输入相同的url。
HTTPcookie管理器,主要用于管理cookie。
下面是一个HTTP接口请求,每个接口有一个断言。
查看结果树,显示最终的结果。
以上只是一个简单的框架,如果用到实战中,需要进一步的进行优化,仅仅做入门学习参考。
更多关于性能测试方面的文章,请前往51Testing软件测试网。
领取专属 10元无门槛券
私享最新 技术干货