这篇文章会产生,是因为刚好有一个项目,同时用到了这两款工具,而正是工具的使用让我解放了双手,感受到了什么是高效、智能化。
故事背景
某个功能模块的测试数据无法通过界面操作,为了模拟出真实的测试场景,开发人员提供了一个内部的接口文档,希望通过接口调用复现真实使用环境。
这里我大概讲一下测试流程及顺序,首先普及一下什么是Swagger UI。
Swagger UI
Swagger是一组开源项目,接口的文档可以在线自动生成,不需要频繁更新接口文档,保证接口文档与代码的一致性。
这里的实时更新是它的一大优点。试想一下,有些公司基本上使用word维护接口文档,假如出现涉及到接口变更情况,文档更新不及时。
后面查阅这份文档的人排除报错信息,再加上沟通时间,成本太大。
人都是懒惰的,这种情况的发生很常见,而且我认为80%以上都会发生。
那么Swagger UI的产生无疑体现了它的优势。
使用过程
输入接口,点击try it out。
查看测试结果,一般显示200证明调用成功。
验证过程,查看页面对应接口成功后是否出现图标等信息,或者查看数据库里内容值发生变化。
思考火星
在使用过程中,发现Swagger UI的不便利之处是网页打开,很多参数无法保存。
比如同一个接口可能传好几个参数,存在循环测试的情况,这样我每调用一个新的参数,都需要更改一下,非常不便,于是想到了Postman。
Postman
关于Postman如何使用这里我就详细不介绍了。
大致的过程是来个图比较清晰,5步走:请求方式->路径->格式->参数->发送:
思考火星
经过几轮测试发现两个问题:
1.同一个接口我可能需要调用好几次,能不能点击一次就可以?
2.整个流程下来部分功能有顺寻可以执行,这样我是不是可以按流程测试呢?
有了这个想法之后发现这正是JMeter可以解决的么!
JMeter
总所周知,JMeter最常用的使用场景是测试性能。
那么,做接口和做性能最主要的区别在于设置并发数的时候我们可以把次数改为1,这样相当于只循环了一次。
流程这个问题可以新建几个接口记录,通过enable、disnable决定执行的时候执行哪条接口。
配置多个参数
怎样实现一个接口调用多个参数呢,这里我们使用调用csv文件,把参数内容写到csv文件内即可。
新建csv数据文件设置、选择路径、填写调用的参数名,下面两张图的参数名称要保持一致。
总结
最后,以表格的形式总结下这三个接口测试工具的特点:
人类在历史悠久的发展史上一共经历了4次革命,目前我们所处的时代就是第4次革命-智能化。
软件行业亦是如此,紧跟时代的潮流,发现自身的价值是我们的使命与价值所在。技术的更新迭代都是人们认识到当前的工具无法满足人类的需求,我相信有一天会有比JMeter更智能的测试接口的工具。
如果你还知道更智能的方式,欢迎底部留言区留言讨论~
作者:桃子