You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Selenium在Zephyr测试执行中添加堆栈跟踪信息

需求可行性结论

该需求完全可实现,改造成本极低,不需要调整现有Selenium自动化框架的核心执行逻辑,只要在已有的Zephyr状态更新逻辑上补充评论提交步骤即可。

核心实现逻辑

你现有框架已经可以自动同步Zephyr测试执行状态,说明已经完成了Zephyr接口鉴权、测试执行记录唯一标识(executionId)获取的前置工作,剩下的操作只需要补两个环节:

  • 在测试用例的异常捕获逻辑中,提取执行失败时的完整stacktrace文本,对特殊字符、换行做基础转义,避免接口提交时报格式错误
  • 调用Zephyr对应版本的「添加执行记录评论」接口,传入当前用例对应的executionId、转义后的stacktrace内容即可,接口返回2xx状态码即代表提交成功

不同版本Zephyr(Squad/Scale)的接口路径有细微差异,不需要找第三方实现文档,直接在你当前框架对接的同版本Zephyr官方API目录里检索execution comment关键词,就能找到对应的接口参数定义。

最简参考实现(Python版本)
import traceback
import requests

# 以下配置为现有框架已有的通用配置,无需重复开发
ZEPHYR_API_ROOT = "自身部署的Zephyr实例API根路径"
REQ_HEADER = {
    "Authorization": "框架现有使用的鉴权凭证",
    "Content-Type": "application/json"
}

def sync_zephyr_result(exec_id, case_status, err_stack=None):
    # 原有更新执行状态的逻辑,保持不变
    status_resp = requests.put(
        url=f"{ZEPHYR_API_ROOT}/executions/{exec_id}",
        headers=REQ_HEADER,
        json={"status": {"name": case_status}}
    )
    status_resp.raise_for_status()

    # 新增:执行失败时提交堆栈为评论
    if case_status == "FAIL" and err_stack:
        comment_resp = requests.post(
            url=f"{ZEPHYR_API_ROOT}/executions/{exec_id}/comments",
            headers=REQ_HEADER,
            json={"body": f"自动化执行失败堆栈:\n```\n{err_stack}\n```"}
        )
        comment_resp.raise_for_status()

# 测试用例执行侧调用逻辑
if __name__ == "__main__":
    try:
        # 原有Selenium用例执行逻辑
        run_selenium_test_flow()
        sync_zephyr_result(exec_id=current_case_exec_id, case_status="PASS")
    except Exception:
        # 捕获完整异常堆栈
        full_stack = traceback.format_exc()
        sync_zephyr_result(exec_id=current_case_exec_id, case_status="FAIL", err_stack=full_stack)
落地注意事项
  • 提交stacktrace时建议用Markdown代码块包裹内容,在Zephyr页端展示时格式不会错乱,方便排查问题
  • 提前确认框架当前使用的Zephyr鉴权账号拥有执行记录的评论权限,避免接口返回403权限错误
  • 不需要额外引入第三方Zephyr SDK,直接复用现有框架里已经封装好的Zephyr请求方法即可,单接口开发耗时基本在半小时以内

内容的提问来源于stack exchange,提问作者D. Barnett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 16:28:04