自动化API测试方法和工具
随着业务和团队的不断演进,微服务架构的技术体系和交流社区已经越来越成熟,但与此同样不断增加的,是微服务架构中API测试的需求。
本文就常见的API工具和使用场景给大家做个简单的介绍。
curl
Linux的curl 命令行工具测试API的原理是通过发起HTTP请求实现。
在服务器端调试时,curl 像一把匕首一样简单实用。
劣势:无法面对复杂的API测试,包括复杂 HTTP header和body。
Swagger
Swagger最常用于API手工测试和自动生成API文档。
打个比方,一个前后端分离的项目,后端开发完成后,只需要给前端Swagger的地址,前端就可以调用后端的API。
如果curl是匕首,Swagger 则是宝剑,灵动顺手。
劣势:Swagger没法做API自动化测试;且同样无法应付比较复杂的API测试。
Postman
Postman可以用来对做API手工测试和API自动测试。
不管HTTP请求是简单复杂还是数量多少,不管是手工测试还是自动测试(需要Newman支持),Postman都能得心应手。
在API测试中,Postman就是一把带刺刀的AK47,可以当冷兵器,也是强大的热兵器。
劣势:Postman不适合用来编写API文档。
JMeter
前面介绍的API 测试的工具都是针对功能测试,要API的性能测试则需要用到JMeter。
JMeter就像是机枪,可以不停歇的把一堆流打到需要测试的API上。
劣势:机枪的精准度不高。
Eolinker
Eolinker是一个集成化的工具,可以用来测试复杂用例,可以自动化批量测试,也能生成规范的API文档。
他更像一个人,背着不同的武器闯荡江湖。
劣势:没有社区平台,想深入学习还是以官网教程为主。
小结
对上述的工具和使用场景进行小结:
- API开发沟通用Swagger作为API文档
- API手动测试用Swagger或Postman
- 在基于API的自动化功能测试时使用 Postman(需要Newman支持)
- API手动性能测试时用JMeter
- 完整的测试流程可以用Eolinker