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

如何通过API与Python实现ALM QC测试数据的自动化提取?

实现ALM Quality Center测试数据自动化提取与Excel导出的方案

完全可以通过API实现你的需求,Micro Focus ALM/Quality Center(简称ALM)提供了两种主流API方案,适配不同开发场景:

1. 可选的API类型

  • REST API:现代轻量接口,支持绝大多数编程语言(Python、Java、JavaScript等),通过HTTP请求交互,返回JSON格式数据,处理灵活,是当前推荐的首选方案。
  • OTA API:基于COM/ActiveX的传统接口,适合Windows环境下用VB/VBScript或.NET开发,老项目中应用较多,但维护成本相对高,优先推荐REST API。

2. 核心实现步骤(以REST API为例)

(1)身份认证

先发送POST请求获取会话令牌,后续所有接口请求都需要携带该令牌完成身份校验:

  • 请求地址:{ALM服务器地址}/qcbin/api/authentication/sign-in
  • 携带用户名、密码完成认证,响应头中的Set-Cookie字段即为会话凭证。

(2)获取测试执行数据

调用测试执行记录接口,通过查询参数过滤目标数据:

  • 请求地址:{ALM服务器地址}/qcbin/api/domains/{你的域}/projects/{你的项目}/runs
  • 可通过query参数筛选特定状态的测试,例如只获取成功和失败的记录:query={"status": ["Passed", "Failed"]}
  • 接口返回的JSON数据中包含所有符合条件的测试执行详情。

(3)统计与Excel导出

拿到数据后,在代码中统计成功、失败等状态的数量,再用对应语言的库生成Excel文件:

  • Python可使用pandas快速处理数据并导出Excel;
  • Java可使用Apache POI操作Excel文件;
  • 其他语言也有对应的Excel处理库可选。

3. Python示例代码

import requests
import pandas as pd

# 配置ALM信息
ALM_SERVER = "http://your-alm-server-address/qcbin"
DOMAIN_NAME = "your-domain"
PROJECT_NAME = "your-project"
USER = "your-username"
PWD = "your-password"

# 1. 登录获取会话Cookie
login_url = f"{ALM_SERVER}/api/authentication/sign-in"
login_res = requests.post(login_url, auth=(USER, PWD))
login_res.raise_for_status()
session_headers = {"Cookie": login_res.headers["Set-Cookie"]}

# 2. 获取指定状态的测试执行记录
runs_url = f"{ALM_SERVER}/api/domains/{DOMAIN_NAME}/projects/{PROJECT_NAME}/runs"
filter_params = {"query": '{"status": ["Passed", "Failed"]}'}
runs_res = requests.get(runs_url, headers=session_headers, params=filter_params)
runs_data = runs_res.json()["entities"]

# 3. 统计各状态测试数
status_stats = {}
for run in runs_data:
    status = run["fields"]["status"]
    status_stats[status] = status_stats.get(status, 0) + 1

# 4. 导出到Excel
result_df = pd.DataFrame(list(status_stats.items()), columns=["测试状态", "数量"])
result_df.to_excel("alm_test_summary.xlsx", index=False)

# 5. 登出会话
requests.post(f"{ALM_SERVER}/api/authentication/sign-out", headers=session_headers)

4. 新手必备注意事项

  • 权限验证:确保你的ALM账号拥有测试执行数据的访问权限以及API调用权限,可在ALM Web端的用户权限设置中确认。
  • 版本适配:不同版本的ALM REST API端点可能略有差异,务必参考对应版本的官方文档核对接口细节。
  • 分页处理:当测试执行记录数量较多时,API会分页返回数据,需要通过page-size和start-index参数遍历所有分页数据。

内容的提问来源于stack exchange,提问作者CHOUT Jawad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 01:13:59