第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_token、order_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 次参数关联失败(提取/替换/顺序任一问题)
相关推荐
大文说跨境3 小时前
亚马逊多账号管理浏览器怎么选?云登/紫鸟/AdsPower 对比
java·前端·自动化
天远Date Lab5 小时前
零信任架构实战:基于天远柠檬查维保构建自动化全国连锁二手车置换上架电子维保报告网关
运维·人工智能·架构·自动化
木易 士心6 小时前
Java 后端驱动远程手机自动化:ADB + Python + 内网穿透实战全解
java·后端·智能手机·自动化
天空属于哈夫克36 小时前
企业微信 API 二次开发:外部群机器人如何实现自动化消息处理?
机器人·自动化·企业微信
mmsx7 小时前
Android 安全校验下沉到原生层:防 patch 与构建期自动化
android·安全·自动化
鬼手点金8 小时前
构建有效 Agent 的核心原则
java·人工智能·git·学习·自动化
FII工业富联科技服务9 小时前
如何提升工厂空间利用率与产线 UPH?从 Omniverse 布局优化到柔性自动化改造
人工智能·机器人·自动化·智能制造·omniverse·柔性生产·ai factory
海宇服务11 小时前
零信任架构实战:基于海宇网上踪迹欺诈行为识别构建自动化电商大促营销补贴风控网关
运维·人工智能·架构·自动化
Crayon Lin11 小时前
金丝雀/AB/红绿发布
ci/cd
会写代码的青蛙12 小时前
青蛙自动化
运维·自动化