接口测试有那些工具,他们的优劣势?

目前市面上用的最多的接口当属http接口,大到世界天气预报,小到手机归属地,几乎无处不在。对于http接口测试工具也是多重多样,今天主要对比市面上常用的几种工具,分析各种的优劣势。postman,jmeter,java。

postman:Google推出的http协议模拟发送工具,用户仅需要根据http api协议标准填充字段,并选择发送方式:Get or post即可。可以非常方便快速的对http接口进行校验。postman的优势显而易见,可以根据接口的定义快速的校验和测试。但是,其劣势也是非常明显的,每次接口测试时都要手工填入测试字段,结果也需要人工校验,无法全自动无人工干扰的进行测试,也无法集成至持续集成系统。更致命的弱点是在接口的依赖性上非常麻烦,很多接口是一套接口,而并不是单个接口独立存在。而且接口之间还有相互依赖性。比如最常见的购物接口,首先需要使用用户名和密码进行登录,然后服务器验证登录后会返回一个token,这个token通常是放在http的response里面。接下来的添加购物车,提交订单也都要用到这个token作为身份认证标识。那么,对于这套接口测试起来就很麻烦,首先执行登录接口获取token,在测试后面的接口时都要加上token。注意token还有时效性,20分钟没有动作自动失效。那么,这套用例就无法保存在postman中,每次都要重新获取token。

为了解决接口依赖问题,jmeter是一个不错的选择,通过’正则表达式提取器’就可以自动获取前一个response中的token,然后作为参数传给本次http请求。当然这个token可以保存在全局变量中,以供后面的接口使用。使用jmeter可以灵活的动态获取token,而不像postman每次需要手动获取。而且jmeter还可以做压测,但是登录的用户需要参数化,每次使用不同的用户。jmeter看似完美,但是jmeter毕竟是性能工具,在报告的显示上以及返回值的校验上无法细化。以及在集成至持续集成也不是很方便。

最后java+testng 通过编程的方式实现接口测试,当然是最灵活的,无论是request还是response都可以通过程序非常灵活的取得。而且对结果的判断和展示都可以比jmeter做的更好,并且也更易整合至持续集成系统。但是使用该种方式开发成本比较大,前期需要投入更多的时间和精力,无法快速的对接口进行校验。

所以在接口测试的快速校验和前期项目时间比较紧张的情况下可以选择postman和jmeter,在项目稳定后可以搭建起testng+java的方式合入持续集成系统,每天定时执行做回归测试

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值