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

使用Artillery加载测试API时,CSV参数文件调用报错排查

排查Artillery CSV参数源请求失败问题

1. 先查CSV路径与格式

  • 路径是否匹配运行目录:../source/departement.csv是相对脚本的路径,但你运行artillery run时的工作目录如果是项目根目录,路径就不对了——试试换成绝对路径,或者改成source/departement.csv再测。
  • CSV格式要规范:如果文件里只有省份编号(每行一个,比如75、76),别加表头;如果加了表头(比如code),必须在payload配置里指定fields: ["code"]。另外,检查文件有没有空行、行尾空格或者特殊字符——空行会导致参数为空,请求URL缺编号直接失败。
  • 别给编号加引号:如果CSV里的编号是"75"而不是75,会导致URL变成https://geo.api.gouv.fr/departements/"75"?fields=region,API肯定识别不了。

2. 确认参数引用与payload配置

  • 脚本里的URL要正确引用CSV参数:无表头的CSV默认用{{var1}},有表头的用你定义的字段名(比如{{code}}),示例:
    - get:
        url: "https://geo.api.gouv.fr/departements/{{var1}}?fields=region"
    
  • payload配置别瞎改:之前把json:换成csv:是错的,Artillery会自动识别文件格式,正确的配置应该是:
    config:
      target: "https://geo.api.gouv.fr"
      payload:
        path: "../source/departement.csv"
        fields: ["code"] # 有表头才加,无表头可以删掉这行
    

3. 排查API限流

  • 免费API一般都有限流,枚举法请求量小、并发低,不会触发;但Artillery的虚拟用户可能同时发起请求,直接撞上限流。可以:
    • 把arrivalRate降到1,减少并发再测。
    • 用artillery run --debug <script>打详细日志,看失败请求的状态码是不是429(Too Many Requests)。

4. 验证CSV里的编号有效性

  • 法国有些省份编号是带字母的(比如2A、2B),还有海外省的97开头编号,确认CSV里的所有编号都是API支持的有效编号——如果有无效编号,请求会返回404,直接算失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:45:36