windows+Postman Newman+接口巡检

Windows 用「Newman + bat 批处理脚本 + Windows 任务计划程序」就能实现:定时跑接口巡检、生成 HTML 报告、失败推送告警。

整套全部跑在 Windows 电脑 / Windows 服务器上,不用装 Jenkins,维护简单。

一、前置安装(Windows)

1. 安装 Node.js

官网下载:Node.js --- Run JavaScript Everywhere 选 LTS 长期支持版,安装时勾选 Add to PATH。 安装完成,cmd 里验证:

复制代码
node -v
npm -v
  1. 全局安装 newman 和 html 报告插件

打开cmd

复制代码
npm install -g newman
npm install -g newman-reporter-html

安装完成后验证

复制代码
newman -v

二、Postman 导出文件

  1. 你的巡检集合 → Export → 保存为 api-check.json
  2. 巡检环境变量 → Export → 保存为 env.json

新建一个文件夹,比如 D:\api-monitor,把这两个 json 文件放进去。

三、编写 bat 脚本(核心:run-monitor.bat)

在 D:\api-monitor 新建文本文档,粘贴下面内容,另存为 run-monitor.bat,编码选 ANSI。

复制代码
@echo off
chcp 65001 >nul
setlocal

:: 工作目录
set WORK_DIR=D:\api_monitor
set COLLECTION=%WORK_DIR%\collection.json
set ENV=%WORK_DIR%\env.json
set REPORT_DIR=%WORK_DIR%\reports

:: 生成时间戳,报告按时间命名
for /f "tokens=1-4 delims=/ " %%a in ('date /t') do set dt=%%a%%b%%c
for /f "tokens=1-3 delims=:." %%a in ('time /t') do set tm=%%a%%b%%c
set REPORT_FILE=%REPORT_DIR%\monitor_%dt%_%tm%.html

:: 创建报告文件夹不存在就新建
if not exist %REPORT_DIR% mkdir %REPORT_DIR%

echo ====================== 接口巡检开始 ======================
echo 巡检时间:%date% %time%
echo 报告输出:%REPORT_FILE%

:: newman执行巡检,输出html报告
newman run %COLLECTION% -e %ENV% ^
-r html,cli ^
--reporter-html-export %REPORT_FILE%

:: 获取newman退出码,0=全部成功,非0=有接口断言失败
set EXIT_CODE=%errorlevel%
echo newman返回码:%EXIT_CODE%

if %EXIT_CODE% equ 0 (
    echo ✅ 全部接口巡检通过
) else (
    echo ❌ 接口巡检存在失败!
    :: =====可选:调用钉钉webhook发送告警=====
    :: curl可以下载windows curl,或者用powershell发消息
    powershell -Command "$body='{\"msgtype\":\"text\",\"text\":{\"content\":\"【接口巡检告警】存在失败接口,请查看报告:%REPORT_FILE%\"}}';Invoke-RestMethod -Uri 'https://oapi.dingtalk.com/robot/send?access_token=xxx' -Method Post -Body $body -ContentType 'application/json'"
)

echo ====================== 巡检结束 ======================
endlocal
pause

注:执行脚本+运行环境,配置上自己对应的文件

测试 bat

双击run_monitor.bat,能正常跑、生成 html 报告,报错正常提示,再配置定时任务。

四、Windows 任务计划程序配置(定时执行 bat)

  1. Win+R 输入 taskschd.msc 打开【任务计划程序】
  2. 右侧【创建任务】(不要用基本任务)

常规页

  • 名称:API 接口巡检
  • 描述:newman 定时接口巡检
  • 安全选项:勾选 不管用户是否登录都要运行 ;勾选使用最高权限运行(防止 node 路径权限问题)

触发器页 → 新建

巡检常用:每 5 分钟 / 每 10 分钟

  • 开始任务:按计划
  • 设置:重复任务间隔:5 分钟,持续时间:无限期

也可以选每天,固定几点执行

操作页 → 新建

  • 操作:启动程序
  • 程序或脚本:选 D:\api_monitor\run_monitor.bat
  • 起始于 (可选):D:\api_monitor(必须填,否则 newman 路径异常)

条件 / 设置页

  • 设置:勾选【如果任务失败,按以下频率重新启动:1 分钟,重启 3 次】
  • 勾选【允许任务按需运行】,方便手动测试 保存任务。

手动测试任务

选中任务 → 右键【运行】,看是否正常执行 bat,生成报告。

相关推荐
ysu_03144 天前
Postman接口调试实战指南-从HTTP请求到环境变量-Collection与自动化测试
网络·网络协议·测试工具·http·api·postman·可用性测试
开开心心_Every6 天前
文件夹批量创建工具支持同级和多层级
运维·服务器·游戏·jupyter·智能手机·pdf·postman
花间相见16 天前
【计算基础|网络04】—— HTTP接口实战(下):接口测试、鉴权与跨域排错
java·linux·人工智能·后端·python·计算机网络·postman
Madison-No718 天前
基于JMeter工具的性能测试(接口)
python·jmeter·postman
Tinyfacture25 天前
postman抓取登录鉴权码token及设置全局变量
测试工具·postman
川石课堂软件测试1 个月前
涨薪技术|Prometheus之HTTP API中使用PromQL
网络协议·测试工具·jmeter·http·单元测试·postman·prometheus
x10n91 个月前
Postman 汉化完整指南
测试工具·lua·postman
AI情绪识别开源1 个月前
检信 Allemotion 认知功能障碍矫正软件· 数据方案
人工智能·postman
程序员杰哥1 个月前
如何做接口测试?
自动化测试·python·测试工具·职场和发展·测试用例·接口测试·postman