经过前面 11 节的基础知识讲解,我们已经熟悉了 postman 的各个模块的功能作用,但是我们却没有实现多接口之间的自动化测试。想要进行自动化测试,必须解决如下问题:
- 必须能够指定接口间的执行顺序;
- 必须可以将上一个接口的响应信息作为参数传递给下一个接口;
- 必须实现请求信息的数据驱动;
- 必须具备完整的检查点,作为测试结果;
- 必须能够实时监控且导出可视化的测试报告;
下面我们通过一个完整的实例结合 postman 的 Runner 进行下实战演练;
测试准备
我们准备好如下三个接口服务(注响应采用 mock 返回):
【1】接口服务 login 发送后,响应中会返回登录的用户名和密码;
【2】接口服务 visit 会获取到 login 中的用户名和密码作为请求;
【3】接口服务 quit 只会在响应中打印出 hello world
控制接口间的执行顺序
postman 默认情况下是按照从上向下的顺序依次去调用接口服务的,即会通过 login-exit-visit 的顺序去执行接口服务,如果想更改接口间的执行顺序,比如改为 login-visit-quit 的顺序,只需要在后置断言(Tests) 中加入如下脚本:
postman.setNextRequest("接口名字");
注意:执行的最后一个接口的时候,一定将下次执行接口指向为 "" 或者为 null,否则会陷入死循环;我们查看下此时 Runner 下的执行过程;
可见接口执行顺序变为了预期的 login-visit-exit;
接口间的传参实现
我们现在从 login 接口的响应中获取 userName 和 passWord,然后将二者作为参数传递给 visit 的请求报文中;具体操作步骤如下:
【1】在 login 接口中通过 jsonData 获取到响应中 userName 和 PassWord 的值,再将二者设置为环境变量;
//将响应信息转为 jsonData
【2】在 visit 的请求报文中引用 环境变量;
设置检查点
为了验证 visit 的请求中确实获取到了 login 接口的 userName 和 passWord,我们为 visit 接口设置如下检查点:
pm
其他两个接口我们也可以任意设置几个检查点,此时在执行下 Runner:
可见我们成功的实现了接口间的传参;检查点结果都是通过(pass);
可视化测试报告
此界面即为可视化的测试报告界面,可以清晰的展示出测试结果;
总结
节实现了一个数据支撑的自动化测试(即冒烟),更多时候我们需要大量的参数进行自动化验证,即我们所说的数据驱动,我们将在下讲为大家详细介绍~
更多交流~可以来微信搜索 "海哥说测试" 与我进行交流~