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

如何使用Python在Tessy中生成测试概览报告?

解决Tessy测试报告生成的Python自动化问题

一、修复pywinauto控件识别问题

你遇到的print_control_identifiers输出与实际界面不匹配的问题,主要是backend选择或窗口连接方式不合适,试试以下调整:

1. 切换到uia backend

Tessy这类现代测试工具的界面多基于WPF/Qt框架,win32 backend对这类控件支持有限,换用uia backend能更好识别控件:

from pywinauto.application import Application

# 启动并指定uia backend
app = Application(backend='uia').start(r"C:\d\tools\tessy\TESSY_3_2_16\TESSY_3.2\bin\TESSY.exe")
# 用正则匹配标题,避免完全匹配的限制
dlg = app.connect(title_re='TESSY | Project:.*', timeout=400).window(title_re='TESSY | Project:.*')

# 打印控件标识符
dlg.print_control_identifiers()

2. 直接使用菜单路径选择

无需依赖控件识别,pywinauto支持通过菜单路径直接操作,比如生成测试概览报告:

# 假设菜单路径为「File -> Reports -> Generate Test Overview」
dlg.menu_select("File->Reports->Generate Test Overview")

3. 用进程ID连接更可靠

启动后获取进程ID再连接,避免窗口标题变化导致的连接失败:

app = Application(backend='uia').start(r"C:\d\tools\tessy\TESSY_3_2_16\TESSY_3.2\bin\TESSY.exe")
pid = app.process
# 等待项目加载完成后连接
app.connect(process=pid, timeout=400)
dlg = app.window()
dlg.print_control_identifiers()

二、不用pywinauto的简便实现方法

UI自动化稳定性差,优先使用Tessy原生支持的自动化方式:

1. 命令行工具调用

TESSY提供了命令行接口(通常是TESSYCmd.exe),可直接通过命令行运行测试、生成报告,Python中用subprocess调用即可:

import subprocess

tessy_cmd_path = r"C:\d\tools\tessy\TESSY_3_2_16\TESSY_3.2\bin\TESSYCmd.exe"
project_path = r"C:\path\to\your\project.tpr"
output_report_path = r"C:\reports\test_overview.html"

# 构建命令参数
cmd = [
    tessy_cmd_path,
    "-project", project_path,
    "-run-testcase", "YourTargetTestCase",
    "-generate-report", "TestOverview",
    "-output", output_report_path
]

# 执行命令
subprocess.run(cmd, check=True)

2. COM接口调用

如果TESSY提供COM接口,可通过Python的win32com.client直接调用内部功能,示例:

import win32com.client

# 启动TESSY并打开项目
tessy_app = win32com.client.Dispatch("TESSY.Application")
project = tessy_app.OpenProject(r"C:\path\to\your\project.tpr")

# 运行指定测试用例
project.TestCases("YourTargetTestCase").Run()

# 生成测试概览报告
project.GenerateReport("TestOverview", r"C:\reports\test_overview.html")

# 关闭资源
project.Close()
tessy_app.Quit()

注:需确认TESSY的COM ProgID,可在官方文档中查询。

内容的提问来源于stack exchange,提问作者Jovana Pejkić

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 11:00:26