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

使用Newman执行Postman集合时遇多种报错,请求技术协助

问题排查与解决方法

一、*「getaddrinfo ENOTFOUND {{url}}」*错误解决

这个错误说明Newman未正确加载{{url}}变量的值,按以下步骤排查:

  • 验证环境文件有效性:确保environment_collection.json是Postman导出的标准环境文件,url变量需处于启用状态,格式示例:
    {
      "name": "LocalEnv",
      "values": [
        {
          "key": "url",
          "value": "http://localhost:3000",
          "enabled": true
        }
      ]
    }
    
  • 确认命令路径正确性:如果环境文件不在当前工作目录,需指定完整相对/绝对路径,比如:
    Newman run ./collections/collection_name.json -e ./envs/environment_collection.json
    
  • 检查集合中URL引用:每个API请求的URL必须是{{url}}/xxx的形式,确保变量名与环境文件中的key完全一致(大小写敏感)

二、POST请求/login失败的两类错误解决

1. *「connect ECONNREFUSED 127.0.0.1:3000」*错误

该错误表示本地3000端口无服务监听,排查点:

  • 确认目标服务是否启动:直接在浏览器访问http://localhost:3000,或用curl http://localhost:3000测试,查看是否有正常响应
  • 检查服务监听地址:部分服务可能绑定非127.0.0.1的地址(如0.0.0.0或内网IP),需确认服务配置的监听IP
  • 排查端口占用:用命令查看3000端口状态:
    • Windows:netstat -ano | findstr :3000
    • Mac/Linux:lsof -i :3000
      若端口被占用,可杀掉占用进程或修改服务端口

2. *「test-script中的JSONError」*错误

该错误是测试脚本尝试解析非JSON格式响应导致的,解决方法:

  • 给JSON解析加前置判断:修改测试脚本,先验证响应状态和内容类型,再解析JSON,示例:
    if (pm.response.ok && pm.response.headers.get('Content-Type')?.includes('application/json')) {
      const resData = pm.response.json();
      // 你的测试逻辑
    } else {
      console.log('响应内容非JSON:', pm.response.text());
    }
    
  • 查看实际响应详情:用Newman的verbose模式运行命令,打印完整响应内容以定位问题:
    Newman run collection_name.json -e environment_collection.json -v
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 10:17:46