第6章 零基础接口自动化到 Jenkins 持续集成【报告查看与常见报错排查】

第6章 报告查看与常见报错排查

本章目标

学会看报告、看日志、快速定位失败原因,尤其能独立处理"参数关联/鉴权"类问题。

1. 报告在哪里看

  • html_report/report.html:基础 HTML 报告(优先)
  • html_report/index.html:Allure 报告(若生成)

2. 日志在哪里看

  • logs/ 目录下最新日志文件
  • 重点看:请求 URL、请求参数、响应内容、断言失败信息

3. 典型报错与处理

报错1:status_code 不是 200

常见原因:地址不对、参数不对、鉴权失败。

处理:先确认 base_url_key 和请求参数。

报错2:json.code 断言失败

常见原因:业务规则变化、测试数据失效。

处理:查看最新接口返回结构,更新断言。

报错3:变量替换失败 ${auth_token}

常见原因:登录用例没执行或 extract 失败。

处理:先单跑登录用例,检查 config/extract.yaml

报错4:报告为空

常见原因:pytest 没跑起来。

处理:直接执行 python3 -m pytest -s -v 看原始输出。

4. 参数关联失败专项排查

当你遇到以下现象时,按这个流程排查:

  • ${auth_token}${order_no} 没有替换
  • need_auth: true 但接口仍提示未登录
  • 后置接口提示参数为空(如 orderNo is required

排查流程:

  1. 先看前置接口是否成功
    • 登录/下单等前置用例必须通过(通常看 json.code == 0)。
  2. 再看是否真的发生提取
    • 日志中应出现"提取变量"相关信息。
    • config/extract.yaml 中应看到对应变量(如 auth_tokenorder_no)。
  3. 检查提取路径是否匹配响应结构
    • 例如应写 data.auth,不要写错层级。
  4. 检查后置接口引用变量名是否一致
    • 提取 order_no,引用必须是 ${order_no},不能写 ${orderNo}
  5. 检查执行顺序
    • 登录类 YAML 文件名建议加前缀(如 01_login_test.yaml),确保先执行。

5. Jenkins 场景下怎么排查

如果本地能过、Jenkins 失败,优先看这 3 处:

  • Jenkins Console 输出(先确认失败在哪个 stage)
  • 构建产物里的 logs/(对照本地日志看差异)
  • Jenkins 工作空间中的 config/extract.yaml(确认变量是否落盘)

常见差异点:

  • Jenkins 环境地址与本地不一致
  • Jenkins 凭据未配置完整(Git/SMTP/业务账号)
  • 网络策略导致接口在服务器上不可达

6. 排错建议流程(通用)

  1. 先看日志,不先改代码
  2. 先确认"环境是否可用",再确认"数据是否正确"
  3. 最后再改断言或 YAML 模板
  4. 每次只改一处,改完立刻复测

本章验收标准

  • 能独立定位 1 次普通失败用例
  • 能独立定位 1 次参数关联失败(提取/替换/顺序任一问题)
相关推荐
蓝创工坊Blue Foundry30 分钟前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel
见合八方2 小时前
【噪声系数】高偏SOA噪声系数测试方法
网络·自动化·soa·光通信·激光雷达·半导体光放大器
曦尧2 小时前
Microsoft Ontology Playground:面向 Fabric IQ 的零后端本体可视化学习平台
ai·自动化
泡沫冰@2 小时前
在WSL上的部署Jenkins
jenkins
叮咚侠2 小时前
docker安装的kibana+elasticsearch,突然kibana界面打不开了
运维·jenkins
AlanBruce4 小时前
从串口仪表到西门子PLC:摩尔信使MThings的多协议设备接入能力
自动化·plc·modbus·mthings·摩尔信使·西门子s7
微硬创新15 小时前
耐达讯自动化 CC-Link IE 转 PROFINET网关在污水厂智能化升级实战
人工智能·物联网·网络协议·自动化·信息与通信
MC皮蛋侠客19 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
壮哥_icon21 小时前
【Android 系统开发】使用 BAT 脚本高效自动化管理 /system/priv-app/ 系统应用(安装与卸载)
android·运维·自动化
xexpertS21 小时前
分布式系统过载治理:如何通过较小服务控制请求节奏
微服务·自动化