上下游传参一般处理多接口联合测试的场景。针对单接口测试,不同的接口测试时需要设计正常和异常的测试场景。

比如 发布话题接口,除了要测试正常场景,异常场景也要测试。
在测试这类接口的时候,请求地址,请求参数,请求方法都一样,除了请求数据不一样,如果按照原来的测试方法,每一种场景都要创建一个接口,这样的话,接口会有很多。后期维护成本很大。

参数化 (数据驱动)

参数化 概念 就是将数据存放到文件中,通过维护文件内容来实现测试。

image.png
整理的测试数据

token title tab content
12344567890 ask xxxxxxxxxxx
1231312 12344567890 ask xxxxxxxxxxx
f185cfa7-9819-4e58-884e-5129feb86a6d 12344567890 ask xxxxxxxxxxx
540383c0-9578-42c0-8aca-9942d29a8981 ask xxxxxxxxxxx
540383c0-9578-42c0-8aca-9942d29a8981 123445 ask xxxxxxxxxxx
540383c0-9578-42c0-8aca-9942d29a8981 12344567890
xxxxxxxxxxx
540383c0-9578-42c0-8aca-9942d29a8981 12344567890 ska xxxxxxxxxxx
540383c0-9578-42c0-8aca-9942d29a8981 12344567890 share

postman中上传测试数据文件。

1、创建csv文件

使用Excel 保存为 utf8 格式的csv文件;
image.png
data.csv

2、创建请求

请求中的参数部分 使用变量。 变量名要跟csv文件中的表头定义的值保持一致。
image.png
编写完成请求之后,记得一定要保存。

3、运行

csv 参数化一定要在runner中执行。上传 csv文件。点击运行。
image.png

执行,可以看到执行的结果。
image.png

练习

登录接口参数化
请求方法:POST
请求地址: http://49.233.108.117:28019/api/v1/user/login
请求数据:格式为 json格式。

  1. {
  2. "loginName": "string",
  3. "passwordMd5": "string"
  4. }
  • loginName 登录手机号
  • passwordMd5: md5加密之后的密码

前提条件
成功注册之后的手机
13700002703 、 e10adc3949ba59abbe56e057f20f883e

login.csv
image.png


image.png

wps 中文乱码

使用记事本改文件格式为utf8即可。
image.png
使用记事本打开文件
image.png

image.png
将文件改为 utf8 格式之后重新上传即可。
image.png

面试问题

  1. 单接口平时是怎么测试的?

    单个接口除了测试正常的场景之外,还要测试异常场景。测试过程中,不同的数据结果也是不一样的。 将不同的数据存放到csv文件中,执行的时候,请求中使用变量跟csv文件中定义的变量保持一致。 在Postman的runner界面中上传csv文件进行执行。 我们单接口主要通过数据驱动,参数化的方式来进行测试的。

  1. 多接口是怎么测试的?

    我们多接口都是有上下游关联的接口, 首先确定上游接口,再在上游从返回的结果中通过使用js代码设置变量, 下游接口中引用变量。 实现上游的出参作为下游的入参。将整个流程串联起来进行测试。