背景
如何用最短的时间、最小的成本实现接口自动化,这是困扰新手测试的一个难题,接下来笔者的将用 postman 来进行接口自动化的实践,希望能给各位带来一定的收获
Postman 名词介绍
- request,postman 里的最小的可执行单位,点击 send 即可执行,不再赘述
- folder,文件夹,可对请求进行排列组合,Run folder 时,folder 内部请求按顺序自上而下执行
- collection,集合,对 folder 进行排列组合,Run collection 时,folder 按顺序自上而下执行,一般情况下 folder 应避免相互影响
- 全局变量:一旦申明了全局变量,全局有效,也就是说 postman 中的任何集合,任何请求中都可以使用这个变量。它的作用域是最大的 。
- 环境变量:要申明环境变量,首先的创建环境,然后在环境中才能创建变量 。如果要想使用环境变量,必须先选择 (导入) 这个环境,这样就可以使用这个环境下的变量了 。需要说明的是环境也可以创建多个 。每个环境下又可以有多个变量 。
- 集合变量:集合变量是针对集合的,也就是说申明的变量必须基于某个集合,它的使用范围也只是针对这个集合有效 。
具体每个变量如何操作的可看下方链接:https://www.cnblogs.com/xnancy/p/14831621.html
数据分类:
茹炳晟老师在《软件测试 52 讲》里面将数据分为死水数据以及活水数据
- 死水数据:死水数据是指对于要测试的需求或场景来说不需要前置条件的基础数据。
一般是商品、用户、用户角色这些一般构造为基础场景的数据。
- 活水数据:活水数据是指对于要测试的需求或场景来说需要设置前置条件的数据。
# 数据创建:
《软件测试 52 讲》
- On-the-fly(实时创建): 是指实时创建测试数据,即在执行用例时,再根据用例需要创建测试数据。
- out-of-box(开箱即用):out-of-box 是指提前创建好测试数据,在提测后能达到开箱即用的效果。
具体的可看如下文章:https://www.cnblogs.com/wuweiblogs/p/13444328.html
用例构造
在 postman 中,我们大致可以将一个请求拆分为请求前处理(Pre-request Script),请求本身,请求后处理(Tests)
tips:Pre-request Script 在 Jmeter 中,可粗略的认为前置处理器;Tests 在 Jmeter 中,可以粗略的认为是后置处理器;
- 前置处理
- 造部分活水数据的地方
- 如果不知道怎么写,请看此处左侧,有各种快速实现的 demo
- 后置处理
- 后面的请求如果需要某种数据,如 token 等参数,可以根据需要在此处设置成各种变量;
- 对应接口返回值中存在某种状态或者值需要进行断言,也可于此处进行
- 如果不知道怎么写,请看 Tests 右侧,有各种快速实现的 demo
持续集成
不需多言了吧,自己试试就好了(对了,链接得是生产环境的呀,本地或者内网的 url 好像是执行不了的)