『政善治』Postman — 15.Postman数据驱动的实现

2021-03-14  本文已影响0人  繁华似锦Fighting

4、实现Postman中的数据驱动

当需要进行数据驱动运行多次Postman脚本时,可以通过.csv或者.json格式的数据文件,对接口测试数据进行管理,以方便用例的执行。

步骤1:

进入Collection测试集的Collection Runner界面。

点击Collection测试集名称后边的箭头,点击Run

步骤2:

在Collection Runner界面中选择需要执行的接口。

我们只需要执行批量新增学院请求,如下图:


Deselect All:取消全选(默认全选)。

Select All:全选。

Reset:重置(恢复默认全选)。

步骤3:

配置Collection Runner执行选择。

  1. 选择Collection测试集。

  2. Environment:选择环境变量。

  3. Iterations:接口迭代次数,这个不用填写,选择数据文件后会自动识别(会自动忽略第一行标题)。

    如果只执行测试集,不进行数据驱动,自己按需求填写。

  4. Delay:每次执行的间隔。

  5. Data:选择.csv数据文件。(可以添加测试数据,在tests中用data参数访问)

    // data 表示数据文件的对象
    // data.cityname表示获取数据文件中的cityname属性值
    pm.test("验证返回中city的值是"+data.cityname, function () {
        var jsonData = pm.response.json(); // 获取返回值所有数据
        pm.expect(jsonData.city).to.eql(data.cityname); // 断言返回值中具体字段的值
    });
    
    // 这种取值方式要重点记住
    
  6. Save responses:保存响应。

    允许记录请求的响应头和正文,方便您查看。

    这可能会收集较多的数据,从而影响测试集运行的性能。

  7. Keep variable values:是否保留测试集执行过程中对环境变量的修改。(够不勾选都可以)

  8. Run collection without using stored cookies:在不使用存储的cookie的情况下运行测试集。

  9. Save cookies after collection run:测试集运行后保存cookie。

    更新此会话中存储的cookie,并将其保存到您的cookie管理器中。

    (以上四项默认即可)

  10. Run ***:运行已选择collection测试集中的接口。

配置完如下图:

重点提示:Preview能够查看数据文件中内容预览,可以查看文件读取内容是否有误。

步骤4:

执行并查看结果。

说明:

(1)顶部栏:

(2)测试结果部分:

测试集Run完成后,

执行完成PASSED和FAILED的总和,等于每个接口断言个数×执行次数。

(3)工具栏:

(4)请求列表部分

说明:

(5)底部栏:

Console:控制台,可以查看每个请求的运行日志和数据信息。

可以查看请求头、请求体、响应头、相应体等数据。

如果请求报错,也可以查看到错误信息。

以上就是在Postman中数据驱动的使用过程。(json格式的数据文件使用同理)

实际上面是讲了两部分内容,

  • 一部分是Collection测试集的执行,也就是Collection Runner
  • 还有一个就是Postman中数据驱动的使用。

5、补充: json格式数据文件说明

[
    {
      "userName":"张三",
      "passWord":"123456",
      "sex":"男",
      "age":66
    },
    {
      "userName":"李四",
      "passWord":"123456",
      "sex":"男",
      "age":88
    },
    {
      "userName":"王五",
      "passWord":"123456",
      "sex":"女",
      "age":99
    }
]

提示:外面必须是[],每一组数据使用 {}进行封装,中间使用逗号进行分隔。

6、补充:数据文件在预置脚本中的使用

(1).csv文件

Pre-request Script编写如下代码:

// 在Pre-request Script和tests中用data代表访问参数
// 获取参数化文件中的dep_name字段的值
var dep_name = data.dep_name

// 将获取到的 dep_name 设置为环境变量
pm.environment.set("dep_name", dep_name);

// 调试
console.log(pm.environment.get("dep_name"));

(2).json文件

Pre-request Script编写如下代码:

// 在Pre-request Script和tests中用data代表访问参数
// 获取参数化文件中的userName字段的值
var userName = data.userName

// 将获取到的 userName 设置为环境变量
pm.environment.set("userName", userName);

// 调试
console.log(pm.environment.get("userName"));

参考:https://zhuanlan.zhihu.com/p/150292738

上一篇下一篇

猜你喜欢

热点阅读