第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 次参数关联失败(提取/替换/顺序任一问题)
相关推荐
Agent手记8 小时前
药物研发数据处理或GSP合规管理医药Agent推荐:2026数智医药全链路自动化实战
运维·人工智能·ai·自动化
大势智慧17 小时前
矿影智测版|矿山自动化测绘,省时精准更省心!
自动化·三维建模·智慧矿山·安全巡检·空间智能··露天矿山
zhihuishuxia__1 天前
Multiplex通讯(多路复用通讯)
网络·图像处理·数码相机·计算机视觉·自动化
大貔貅喝啤酒1 天前
接口测试_Postman(详细版)
javascript·测试工具·node.js·自动化·postman
李日灐1 天前
< 6 > Linux 自动化构建工具:makefile 详解 + 进度条实战小项目
linux·运维·服务器·后端·自动化·进度条·makefile
JZC_xiaozhong1 天前
跨系统审批自动化怎么做?从采购到销售合同的完整方案
大数据·运维·自动化·流程自动化·数据集成与应用集成·业务流程管理·异构数据集成
搞科研的小刘选手1 天前
【高届数传感机电会议】第十二届传感器、机电一体化和自动化系统国际学术研讨会(ISSMAS 2026)
运维·人工智能·自动化·控制·传感器·传感·机电
SimLine芯见1 天前
专为空管环境打造的KVM切换器,满足主备自动化高速无缝切换需求
运维·自动化
恶猫1 天前
网页自动化模拟操作时,模拟真实按键触发事件【终级方案】
前端·javascript·自动化·vue·网页模拟