如何高效测试大批量商品加入购物车?Postman + CSV

在电商平台或企业采购系统的测试过程中,“加入购物车”是一个高频使用的功能接口。随着业务复杂度的提升,购物车不仅要支持单个商品的添加,还需要支持批量添加多个商品,传统手动添加需要重复操作,效率低下且难以复用。

为了解决这些问题,我们可以借助 Postman 的数据驱动测试能力(Data-Driven Testing),结合 CSV 文件实现参数化测试。通过该方法,我们可以在一次运行中自动执行多组商品的“加入购物车”操作,不仅大大提高了测试效率,还能保证测试的准确性和可重复性。

本文将带你一步步实现如何使用 Postman + CSV 文件 来对一个加入购物车的接口进行参数化测试,从而提高测试效率和覆盖度。

一、接口说明

我们要测试的接口是一个典型的“加入购物车”接口,请求体如下:

{
    "srmMalCartLineTrDTOList": [
        {
            "item": {
                "id": 2038053
            },
            "itemQty": 1,
            "supplier": {
                "id": 2144005
            },
            "snapShotPrc": 22.55,
            "priceAgreement": {
                "id": 1691
            },
            "sourceType": "DEFAULT",
            "unit": {
                "id": 47
            }
        }
    ]
}

该接口支持一次添加多个商品到购物车(虽然示例中只传了一个),每个商品的信息包括:商品ID、数量、供应商ID、价格协议ID、单位等字段。

二、目标

我们的目标是通过 CSV 参数化方式,使用不同的商品信息多次调用该接口,达到批量添加大量商品到购物车。

三、准备数据

首先,我们需要创建一个 cart_items.csv 文件,用于存放多组商品信息。每行代表一个商品的数据。

示例 CSV 内容如下:

itemId,itemQty,supplierId,snapShotPrc,priceAgreementId,sourceType,unitId
2038053,1,2144005,22.55,1691,DEFAULT,47
2038054,2,2144006,30.00,1692,DEFAULT,48
2038055,3,2144007,45.60,1693,DEFAULT,49

注意:

字段名要与后续 Postman 请求体中的变量名一致。
sourceType 固定为 DEFAULT,也可以根据需求改为动态字段。

四、配置 Postman 请求

接下来,在 Postman 中创建一个新的 POST 请求,并配置请求体使用 CSV 中的变量。

1. 设置请求方式和 URL

  • 方法:POST
  • URL:填写你的接口地址,如:https://api.example.com/cart/add

2. 设置请求头(Header)

确保设置正确的 Content-Type,例如:Content-Type: application/json

3. 设置请求体(Body)

选择 raw -> JSON 格式,并将 JSON Body 替换为如下内容:

{
    "srmMalCartLineTrDTOList": [
        {
            "item": {
                "id": "{{itemId}}"
            },
            "itemQty": {{itemQty}},
            "supplier": {
                "id": "{{supplierId}}"
            },
            "snapShotPrc": {{snapShotPrc}},
            "priceAgreement": {
                "id": "{{priceAgreementId}}"
            },
            "sourceType": "{{sourceType}}",
            "unit": {
                "id": "{{unitId}}"
            }
        }
    ]
}

注意:使用双大括号 {{变量名}} 引用 CSV 文件中的列名。 

 

五、使用 Postman Runner 运行参数化测试

1. 打开 Postman Runner

点击 Postman 右上角的 Runner 按钮,进入 Collection Runner 页面。

2. 添加请求或集合

  • 在左侧选择你要运行的请求或集合。
  • 确保该请求已配置好上面的参数化 Body。

3. 导入 CSV 文件

  • 在 Data 区域点击 Select File,上传你准备好的 cart_items.csv
  • 设置迭代次数(Iterations)为 CSV 文件中数据的行数(不包括表头)。

4. 开始执行测试

点击 Start Run 按钮,Postman 将自动遍历每一行数据,并依次替换 Body 中的变量发送请求。

六、添加断言验证接口响应

为了验证接口是否返回预期结果,我们可以添加一些简单的断言脚本。

// 获取响应体
const response = pm.response.json();

// 断言 success 字段为 true
pm.test("Success response is true", function () {
    pm.expect(response.success).to.be.true;
});

// 断言 data 存在
pm.test("Data field exists", function () {
    pm.expect(response.data).to.exist;
});

七、总结

通过本文的介绍,我们实现了以下目标:

✅ 使用 CSV 文件管理多组商品数据
✅ 在 Postman 中使用变量替代静态值
✅ 利用 Postman Runner 批量运行测试用例
✅ 添加简单断言验证接口响应是否正常

这种参数化测试的方式不仅适用于“加入购物车”接口,还可以广泛应用于订单提交、批量导入、用户注册等多个场景,大大提升测试效率和覆盖率。

如果你觉得这篇文章对你有帮助,欢迎点赞、收藏或分享给身边的朋友。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值