如何在Automation Desk报告中嵌入二进制格式的外部测试报告?
解决Automation Desk嵌入外部二进制测试报告的问题
针对你用Automation Desk 2023-A(Windows环境),通过Python Exec块调用外部工具生成二进制报告,却无法在Au-D报告中嵌入可点击打开的完整对象的问题,可按以下步骤处理:
1. 确保文件路径与权限合规
- 使用绝对路径指向二进制报告,Windows下建议用原始字符串(
r"路径")避免转义问题,比如r"C:\TestResults\external_report.bin" - 不要将报告放在Windows受保护目录(如
C:\Program Files),确保Automation Desk进程对目标路径有读取权限
2. 正确调用reportlibrary.AddDataObjects方法
默认调用可能仅添加路径引用,需指定显示名称和MIME类型,让报告识别文件并支持交互:
import reportlibrary # 替换为你的二进制报告绝对路径 report_path = r"C:\Your\Report\Path\test_report.bin" # 报告在Au-D中的显示名称 display_name = "外部工具测试报告" # 二进制文件通用MIME类型,若有工具专属类型可替换 mime_type = "application/octet-stream" # 带参数调用AddDataObjects reportlibrary.AddDataObjects(report_path, display_name, mime_type)
3. 将报告文件迁移至Au-D报告目录
如果直接引用外部路径仍无效,可将二进制报告复制到Au-D的当前报告输出目录,再添加引用,确保报告打包时包含该文件:
import reportlibrary import shutil import os # 获取Au-D自动生成的报告目录路径 report_output_dir = reportlibrary.GetReportDirectory() source_report = r"C:\Original\Report\external_report.bin" # 目标路径:报告目录下的文件(避免重名可自定义文件名) target_report = os.path.join(report_output_dir, "external_test_report.bin") # 复制文件到报告目录(保留文件元数据) shutil.copy2(source_report, target_report) # 添加到Au-D报告 reportlibrary.AddDataObjects(target_report, "外部测试报告", "application/octet-stream")
4. 检查Au-D报告配置与系统关联
- 打开Automation Desk的报告生成设置,确认"包含附件/嵌入外部文件"类选项已启用
- 在Windows系统中,确保.bin文件已关联对应的查看工具(右键文件→打开方式→选择默认程序),这样Au-D报告查看器点击时能直接调用程序打开
内容的提问来源于stack exchange,提问作者kingvittu
相关产品推荐
相关产品推荐

