MyPostMan 是一款类似 PostMan 的接口请求软件,按照 项目(微服务)、目录来管理我们的接口,基于迭代来管理我们的接口文档,文档可以导出和通过 url 实时分享,按照迭代编写自动化测试用例,在不同环境中均可运行这些用例。
软件下载
如果不想从源码一步步编译,可以从以下链接下载可执行文件:
windows 平台:MyPostMan-Setup-0.0.5.exe
mac 系统:MyPostMan-0.0.5.dmg
mac 可能遇到无法打开应用的情况,在终端执行命令sudo spctl --master-disable
后即可正常打开
编写单测用例、执行测试
上面,我们在编写接口文档时,已经大概测试了单个接口是可用的。实际上,这些接口不是单独存在的,他们需要根据特定的使用场景,按一定的规则将这些接口的入参、返回值串联起来,通过一步步的断言验证在这个特定场景下,接口返回信息是正确无误的。
以我们的天气预报项目为例,上面验证了 上海 这个城市查询天气是没有问题的,然而我们的实际场景是:从支持的城市列表中任意拿出一个城市,都要求必须能够查询出这个城市的天气,只有这样才能确保我们的接口是真的可用。
新建一个单测用例:从迭代菜单找到天气预报 2407->单测,点击添加,单测名称我写的是 任意城市查询天气,点击确定。
在这个单测用例中,包含两个步骤:
- 查询城市列表
- 从城市列表的返回中,任意选择一个城市名作为入参,查询该城市的天气
为了保证这些步骤顺利执行下去,每个步骤必须添加一个断言,断言失败终止执行测试用例,并告知亲在哪里断言出错了,入参是什么、返回是什么,方便你进行排查修复 bug。
从单测列表中找到你新加的单测,右边三个点中找到添加步骤入口
接口选择 天气预报 项目 的 查询支持的城市列表 接口,触发方式选择自动执行,其他使用默认值即可。{{appKey}}
会从接口关联项目的环境变量中读取对应的环境变量值。
下面填写返回断言:这个接口的断言是要求 接口返回正确的错误码,也就是 error_code 必须是 0
最终生成下面的断言表达式,支持添加多个断言的,他们之间是且的关系。点击添加步骤按钮,添加我们第一个单元测试的第一个步骤。
我们可以试着运行一下测试用例,看一下效果,选择环境->本地环境,点击执行用例按钮。
从图中可以看到,我们的执行结果是成功的,也可以看到,我们每个步骤、接口调用的入参、返回值,断言两边的计算结果,方便我们在遇到失败时进行排障。
再接再厉,添加第二个接口,拿刚刚成功的获取城市列表接口返回的 任意一个城市作为入参,调用查询天气预报接口,断言接口返回的城市就是我们入参提供的来自于城市列表接口返回的任意城市。(有点绕,诶,看图)
下面是高能区,仔细看图
result.*random().city
是参数数据源的具体路径,result 下面是一个数据,我们选数组下面的任意的一个元素,拿到这个元素后,我们使用他的 city 字段作为入参。(放心,在输入“.”号时会自动触发语法提示,输入这些不会太难,你体验一下就知道了~)
点击确定,入参已经填好了
下面添加返回断言,我的断言名称是 接口的返回城市名称字段需要与入参的城市名一致
这个能看懂吧?我们拿当前步骤执行结果中的 result.city
路径的数据作为断言的左侧。
这个是拿我们当前步骤 body 入参的 city
路径的实际数值作为断言比较的对象,结果如下:
可以看到,我们已经添加好了两个步骤,下面在 本地环境 下执行我们的用例。
我们从城市列表接口的返回中随机取了一个叫 廊坊 的城市查询了天气预报,返回的城市名称正是廊坊,断言成功!
好了,我们的入门教程就到这里,其他功能,比如备份、还原数据库,从 PostMan 导入接口到项目等功能,自行探索。啰嗦一句,最好定时备份一下数据库!
从源码编译
版本依赖: - nodejs:v20.12.2 - electron:26.2.4
- 安装 & 配置 yarn
npm install -g yarn
yarn config set ELECTRON_MIRROR https://registry.npmmirror.com/-/binary/electron/
yarn config set ELECTRON_BUILDER_BINARIES_MIRROR https://registry.npmmirror.com/-/binary/electron-builder-binaries/
yarn config set registry https://registry.npmmirror.com/
- 下载依赖包
yarn
- 生成可执行文件
yarn package