You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Artillery.io中配置带动态用户ID的API负载测试?

Artillery.io 动态ID参数负载测试配置方案

1. 准备用户ID CSV文件

先创建CSV文件(比如user_ids.csv),列名需和后续配置的变量名对应,格式示例:

user_id
AXXXX1
AXXXX2
AXXXX3
...
AXXXXN

2. 编写Artillery YAML配置

在测试配置文件(如load-test.yml)中,通过payload模块加载CSV数据,并用模板变量替换URL中的ID参数。完整配置如下:

config:
  target: "https://<<thisishowtheurllookslike" # 仅保留基础域名
  payload:
    path: "./user_ids.csv" # CSV文件路径,支持相对/绝对路径
    fields:
      - "user_id" # 与CSV列名保持一致
    order: "sequence" # 按顺序读取ID,可选random随机选取
    skipHeader: true # 跳过CSV表头行
  phases:
    - duration: 60 # 测试持续时长(秒)
      arrivalRate: 5 # 每秒发起请求数

scenarios:
  - name: "动态用户ID请求"
    flow:
      - get:
          url: "/username?id={{user_id}}" # 用模板变量替换id参数
          headers:
            Content-Type: "application/json"
          # 可按需添加断言、响应验证等配置

关键细节说明

  • payload配置:order控制ID选取逻辑,sequence适合遍历所有用户ID,random更贴近真实随机用户场景;skipHeader必须设为true,避免将表头作为有效ID读取。
  • URL模板:Artillery支持{{变量名}}语法直接引用payload字段,无需额外处理即可实现动态参数替换。如果不想拆分基础域名和路径,也可直接写完整URL:
    url: "https://<<thisishowtheurllookslike/username?id={{user_id}}"
    
    这种情况下config.target可省略。

启动测试

在终端执行以下命令运行负载测试:

artillery run load-test.yml

内容的提问来源于stack exchange,提问作者Satya Lochun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 10:55:00