前提

公司项目默认的游戏规则,前后端分离开发,测试在联调测试之前做接口测试,联调时参与联调测试,联调结束后,开始集成测试,直至项目上线。

测试工作安排

项目前期,测试参加需求评审会议,测试用例评审,接口文档评审等一系列会议后,开发提测接口时,安排接口测试工作。

假设项目整体里程碑进度如下

1、项目是2020年8月1日启动
2、开发接口转测从2020年8月15日开始输出
3、2020年8月26日开始联调测试
4、2020年8月30日转测,开始集成测试
5、2020年9月15日项目上线

接口测试

接口文档评审后,如果测试用例已经评审完,项目进度按计划进行,那么2020年8月15日就可以开展接口测试啦~
接口测试的参考依据,是接口文档。一个完整的接口文档应该包含以下内容:

其中,每个节点都有自己的意义,开展接口测试之前,要先学会解读接口文档。

接下来就是接口脚本编写啦~~~
------------------------------------------------华丽丽的的分割线-------------------------------------------------------

脚本编写

打开 jmeter,根据接口文档,写好信息头部,请求默认值,根据入参,写好一个单一的接口请求。。。
但是问题来了,数据要么是乱填的,要么为了保证有效性,去数据库里复制出来一个个填上去,有别的接口可以提供返回值给我去关联,但是接口还没转测。
(还不会关联的移步至接口自动化连载 (7)- 正则表达式关联

思考:关联接口还没转测,有没有办法可以实现接口脚本之间的动态关联呢?

这里引入下 mock 的概念

Mock-高效、易用、功能强大的可视化接口管理平台

对于 mock,可能知道的同学还是比较少。但是 mock 技术,已经像 docker 技术一样,慢慢在测试界普及。

以下是官网对 mock 的介绍

Mock 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,Mock 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。

总结而言,mock 早先用于前端,前端内部做测试时,需要判断某个字段值取值是否正确,那就需要接口辅助,此时接口未转测,与测试遇到的情况一样,但是,前端也是需要继续开发页面,为了保证转测版本的质量,引入 mock 进行接口模拟,提高前端代码的质量。
这种方式也可以给接口测试脚本自动化打辅助。首先创建一个 mock 接口,写入模拟数据

预览得到 mock 地址

此地址填写的是接口文档的地址。接下来在 jmeter 里添加一个 http 接口,填写 mock 的请求

得出结果如下图所示。

我们要取的是 configurationId,此时可以直接用正则取出


引入到下一个接口,实现接口脚本关联自动化


接口返回如下

mock 小结

对于前端而言
1、mock 是 js 写的,node 是 js 服务器,安装 node.js 就可以启用
2、mock 是用来模拟数据的,可以造假数据
3、mock 写好后通过 url 路由关系转换,直接引用
4、前端用 koa 框架来调用 mock,轻松实现页面联调
优势:前后端分离 让前端攻城师独立于后端进行开发
弊端:依赖于 API 文档

对于测试而言
1、mock 可以用来模拟数据,大批量造假数据
2、mock 可以用来联调接口测试脚本,前期工作做完,后期只需完善脚本
3、mock 可以用来实现大批量入参的 dubbo 接口测试

Jmeter 接口自动化交流扣扣群:704807680


↙↙↙阅读原文可查看相关链接,并与作者交流