管理平台接口文档,优化业务流程的灵魂之匙
263
2023-01-26
本文目录一览:
接口 :外部系统与本系统之间以及系统内部的各个子系统间,以约定标准提供的服务,包括对外提供的接口/对内提供的接口。
在这块我们举一个比较生活化的例子,我们平常使用的笔记本,在笔记本的两端有很多小插口,最常见的就是USB插口,我们可以把鼠标连接在USB插口上,也可以把键盘、U盘连接在USB插口上,为什么同一个USB接口可以连接这么多设备呢,其实这个接口,他就有一个统一对外的连接标准。
在我们开发当中,也有一个对外暴露的接口,因为他们服务的协议都是统一的,最常见的就是hhtp协议,我们规定好一种格式,让客户端来调用我们。
这里面键盘鼠标属于调用方,插到笔记本的USB上,就可以连接设备,就可以进行操作了。对外暴露的一个统一的一个规范,这样去理解接口,更形象一些。
在了解完什么是接口之后,我们来说一下什么是接口测试。
接口测试 测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等,保证对外提供接口的正确性和健壮性。
我们在具体测试过程中,我们不用关心接口调用方和接收方的实现逻辑,我们只需要知道传入什么数据,返回什么的结果是否达到我们的预期。接口测试其实也是黑盒测试,他与UI测试的区别就是没有界面交互,是不可视化的。
测试前置 :我们不能等到整个系统全部开发完成才能进行测试,我们可以通过调用接口来进行测试,把问题拦截在前期,降低问题修复成本。
Bug更容易定位 :因为我们按接口进行测试,出现问题后在被测接口中排查就可以了,它比系统集成之后,发现问题更容易定位,系统集成之后有各种模块的调用,出现bug之后再排查,排查的链路非常的长。另外从机制上更接近出问题的地方更容易命中问题。
前后端分离结构 :现在很多系统都采用前后端分离架构,各服务之间更多的是通过接口来实现信息互通,对接口进行直接测试,可以更全面的覆盖各类测试场景。
自动化测试落地性价比高 :比UI自动化测试更稳定,我们上面已经说了UI层的元素时常发生变化,有时改一个简单的元素,都有可能导致我们的自动化测试走不下去,写一套自动化测试脚本比较容易的,但是维护起来,会耗费很大的时间精力,相对来说,接口就比较稳定,一个项目没有大的改造,入参和出参就是固定的,变化的概率比较小,这样维护起来也比较方便。
减少安全隐患 :比如我们在平常的测试过程中,测试用户名和密码,密码格式要求不能输入特殊字符,前端做了校验,而后端没有处理,这样我们只测试页面,这条case就默认通过了,但一些黑客可能通过抓包的方式进行登录,这样安全隐患就比较大了。我们对接口进行安全测试,可以避免安全隐患。
借助工具 : Postman、Jmeter、jsf平台、jsf测试工具、easytest
编写测试脚本 :Java+TestNG
请关注下一篇如何使用Java+TestNG进行接口自动化测试
YApi旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,包括提供了一系列可视化接口管理,还有自动化测试
传统的接口自动化测试成本高,大量的项目没有使用自动化测试保证接口的质量,仅仅依靠手动测试,是非常不可靠和容易出错的。
YApi 为了解决这个问题,开发了可视化接口自动化测试功能,只需要配置每个接口的入参和对 RESPONSE 断言,即可实现对接口的自动化测试。而且大部分接口支持Swagger导入或者从Idea配置直接导入。大大提升了接口测试的效率。
使用 YApi 自动化测试,第一步需要做得是创建测试集合和导入接口,点击添加集合创建,创建完成后导入接口(同一个接口可以多次导入)。
编写测试用例主要涉及两个方面,一个是请求参数,另外一个是断言脚本。
请求参数可以填写期望的字符串,YApi 还提供了 Mock 参数和 变量参数。Mock参数用来生成随机字符串,变量参数是为了解决请求参数依赖其他接口的返回数据或参数。
Mock 参数每次请求都会生成随机字符串
YApi 提供了强大的变量参数功能,你可以在测试的时候使用前面接口的 参数 或 返回值 作为 后面接口的参数 ,即使接口之间存在依赖,也可以轻松 一键测试~
格式: $.{key}.{params|body}.{path}
例如:现有两个接口,分别是“导航标题”和“文章列表”
文章列表接口需要传参数: 当前标题(id) ,而这个 id 需要通过 导航标题 的返回值获取,这时应在 文章列表 的参数输入框中根据前者的 key 找到对应 id。 导航标题 的参数和返回值有如下结构:
则 文章列表 的参数可以如下配置:
其中 .269. params** 即表示 key 值为 269 用例的请求参数,$.269. body 即表示 key 值为 269 用例的返回值。
如果 requestBody 是 json 格式也可以在 json 中写变量参数,如下图:
目前 yapi 中的 query , body , header 和 pathParam 的输入参数已经支持点击选择功能。无需自己填写表达式,只需在弹窗中选择需要展示的表达式即可。 输入选项包括 常量 , mock数据 ,在测试集合中也支持 变量 选择。具体用法:单击编辑按钮打开表达式生成器,点击需要的数据创建表达式,这里也可以实时查看表达式结果。
编写完请求参数,可通过 js 脚本写断言,实现精准测试,在接口用例页面点击 Test 编辑。
在测试列表可以看到每个测试用例的 key,还有 开始测试、报告等功能
点击开始测试会按照 case 定义的参数从上往下一个一个进行测试,如果顺序有问题,可以拖动调整
测试完成之后,点击报告查看该次请求的结果
参考: https://nodejs.org/dist/latest-v8.x/docs/api/assert.html
开始测试功能是在浏览器跑自动化测试,他依赖于浏览器的使用环境。服务端自动化测试功能是在YApi服务端跑自动化测试,不需要依赖浏览器环境,只需要访问 YApi 提供的 url 链接就能跑自动化测试,非常的简单易用,而且可以集成到 jenkins。
点击服务端测试,出现如下弹窗,用户访问该 url 就可以获取当前测试用例的所有测试结果。
然后可以在xxl-job添加这个脚本的地址,可以选择邮件通知,来进行定时的自动化测试
然后就能看到邮件了~
https://zhuanlan.zhihu.com/p/32202008
https://hellosean1025.github.io/yapi/
https://testerhome.com/topics/20437
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~