如何使用PostMan进行并发测试?

如何使用PostMan进行并发测试?

👀(Postman 的 runner 实际上是串行执行的,因此不能作为并发测试, 只是批量测试,本文如下称为并发的是错误的)

文章目录

POST篇

要在Postman中对POST请求进行压力测试,可以按照以下步骤进行操作:

  1. 打开Postman应用程序并创建一个新的请求集合(Collection)。
  2. 在请求集合中创建一个新的请求,并选择HTTP方法为POST。
  3. 在请求URL字段中输入要测试的目标URL地址。
  4. 在请求主体(Body)部分中输入POST请求的有效载荷(Payload)数据。
  5. 配置请求头(Headers)和其他必要的参数。
  6. 在Postman界面的右上角,找到"Runner"按钮并点击它。
  7. 进入运行器(Runner)界面,选择之前创建的请求集合,并配置运行参数。
  8. 可以设置运行器的迭代次数、并发请求数量、延迟时间等选项,根据需要进行调整。
  9. 点击"Start Run"按钮开始运行压力测试。
  10. 运行结束后,可以查看每个请求的响应结果和性能指标,如响应时间、吞吐量等。

请注意,进行压力测试时要确保目标服务器能够承受相应的负载。此外,压力测试可能会对目标服务器产生一定的负担,请谨慎操作,避免对生产环境或敏感系统造成不良影响。

流程

复制代码
{
    "type": "0",
    "branchId": "007ad91b716b44b18d9e9bbc0a265237",
    "supplierAmt": 100.00,
    "expectDate": "2023-12-01",
    "remark": "",
    "productList": [
        {
            "id": "{{id}}",
            "procureId": "{{procureId}}",
            "productId": "40289cb786e3cf260186e99873da0001",
            "productNum": 3,
            "categoryId": "40288d3c7a7faba8017a7fbcffd80000",
            "specId": null,
            "rowStatus": "1",
            "createUser": null,
            "createDate": null,
            "updateUser": null,
            "updateDate": null,
            "productName": "美的电烤箱",
            "categoryName": "家用电器",
            "inventoryCount": 14.00,
            "costPrice": null,
            "totalPrice": 1500.00
        }
    ]
}

id 和 procureId 均是唯一的,不能插入重复,因此要在Pre-req中设置变量

Pre-req 脚本 js

js 复制代码
// 生成不带连字符的唯一标识符
function generateUniqueIdentifier() {
    var d = new Date().getTime();
    var uuid = 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
        var r = (d + Math.random() * 16) % 16 | 0;
        d = Math.floor(d / 16);
        return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
    });
    return uuid.replace(/-/g, '');
}

// 将唯一标识符赋值给请求的变量
pm.variables.set("id", generateUniqueIdentifier());
console.log(generateUniqueIdentifier())

//生成订单编号
// 生成P+ yyyyMMddHHmmss + 6位随机数的唯一标识符
function generateP() {
    var date = new Date();
    var dateString = date.getFullYear() +
                     ('0' + (date.getMonth() + 1)).slice(-2) +
                     ('0' + date.getDate()).slice(-2) +
                     ('0' + date.getHours()).slice(-2) +
                     ('0' + date.getMinutes()).slice(-2) +
                     ('0' + date.getSeconds()).slice(-2);
    var randomNumber = Math.floor(Math.random() * 900000) + 100000;
    return 'P' + dateString + randomNumber;
}

// 将唯一标识符赋值给请求的变量
pm.variables.set("procureId", generateP());

在这里(View -> Show Postman Console)可以看到log的内容

生成的id: a54dc69c8ba94dffb2a0813fcf88c069

生成的procureId: P20231201132925285867

并发操作步骤

结果

GET篇

添加环境变量

引用变量

相关推荐
游戏开发爱好者83 小时前
Fiddler抓包工具完整教程 HTTPHTTPS抓包、代理配置与API调试实战技巧(开发者进阶指南)
前端·测试工具·ios·小程序·fiddler·uni-app·webview
MCM-RL1111114 小时前
自由落体颅脑损伤打击器 自由落体打击器 脑损伤打击器 自由颅脑损伤落体操作臂
嵌入式硬件·物联网·测试工具·安全·信号处理
AI绘画小335 小时前
【网络安全】Wireshark 抓包过滤:源 / 目的 IP 过滤 + 命令大全
数据库·tcp/ip·测试工具·安全·web安全·wireshark
Pixeler5 小时前
[特殊字符] Selenium 实战教程:等待与表单元素操作
chrome·selenium·测试工具
寻星探路5 小时前
测试开发漫谈12---性能测试工具
测试工具
A-刘晨阳5 小时前
【Windows压力测试工具】 - 使用微软官方工具进行压测 cpu、内存
运维·windows·测试工具·压力测试·cpustres·testlimit
基于底层的菜鸟7 小时前
网络抓包工具——tcpdump &&icmpv6抓包
网络·测试工具·tcpdump
newxtc1 天前
【中国石油和化工网-注册安全分析及升级报告】
人工智能·selenium·测试工具·安全·短信盗刷·石油和化工
西部森林牧歌1 天前
Postman、swagger、PostIn接口管理工具详细纵评
postman·swagger·postin·接口管理工具
codergjw1 天前
【P0】JVM面试篇
jvm·测试工具·面试