SuperAPI AI 工具集

e2e-analyze

测试与质量

查看项目

更新于 10-27 08:25

技能介绍

用途

e2e-analyze 是一个用于分析端到端(e2e)测试错误的技能,属于 OpenShift HyperShift 项目。它面向需要从构建日志和测试产物中定位测试失败根因的场景。

主要能力

  • 校验传入的产物目录参数是否为已存在的目录;若不存在则失败,且不会自动创建该目录。
  • 从构建日志 URL 中匹配 10–20 位数字序列作为构建号({BUILD_NUMBER}),未匹配到则失败。
  • 通过 curl 下载指定 URL 下的 build-log.txt,仅允许 HTTPS,拒绝 HTTP;下载时使用固定参数(含超时、重试、协议限制与文件大小上限)。
  • 读取 build-log.txt 中记录的 e2e 失败信息,将指定失败项(参数 "$2")相关的产物存放到目录(参数 "$3"),以判断可能的根因。
  • 使用 gcloud storage 命令按构建号在 URL 中获取指定产物。
  • 要求为失败提供证据,并尝试从日志和事件中寻找补充证据。
  • 清理阶段不删除已下载的产物。

使用方式

技能通过参数调用:

  • 参数 "$1":构建日志基础 URL(必须是 HTTPS)。
  • 参数 "$2":要分析的失败项标识。
  • 参数 "$3":存放产物的已存在目录。

执行流程为:校验目录 → 提取构建号 → 下载 build-log.txt → 根据失败项定位并拉取产物 → 输出分析结果。下载命令为:curl -fsSL --max-time 20 --retry 3 --retry-connrefused --proto '=https' --max-filesize 100M "${1}/build-log.txt"。

输出格式

输出固定为四段:

  • Error:错误信息
  • Summary:失败分析
  • Evidence:证据
  • Additional evidence:补充证据

适用场景

适用于排查 OpenShift HyperShift 的 e2e 测试失败,尤其需要结合构建日志与云端(Google Cloud Storage)测试产物进行根因分析的场景。

限制

  • 目录必须预先存在,技能不会创建目录。
  • 仅支持 HTTPS 下载,HTTP 会被拒绝。
  • 构建号依赖 URL 中的 10–20 位数字;不足或超出则无法继续。
  • 产物获取依赖 gcloud storage 命令及相应的云端访问权限。
  • 其他收费、平台支持范围等细节暂未提供。