0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在TPT中使用Python实现自定义报告

北汇信息POLELINK 2022-08-01 14:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Python是由 Guido van Rossum在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的,Python可以粘性整合现有程序,简单易学,具备庞大的计算生态,因此也被称为“超级语言”。

TPT作为一款模型测试工具,除了可以自动生成默认的报告,也可以根据客户需求进行报告定制化,那么能够使用Python去自定义报告吗?

“当然可以,而且可以自定义库生成想要的报告”。

TPT对于Python的支持情况

在TPT中,Python需要编写在Script评估中(通过如下方式新建)。由于TPT的高度定制化,语法与Python相比具有通用性和独立性的特点,测试人员只需具备简单的编程知识即可操作。

poYBAGLmViiAXDvSAADISw-a9PE573.png

新建Script评估

TPT script评估基于Python2.7,TPT支持Python2.7的绝大部分特性,如图所示。

poYBAGLmWMqAMC0QAABywcoqSKE598.png

TPT支持Python情况

TPT中内置很多自定义报告函数,直接使用即可,非常方便,如下图所示。

poYBAGLmVleAXp5GAAC6Bs6s8tA392.png

报告自定义内置函数

TPT通过内置函数自定义报告过程

在TPT中使用内置函数自定义报告需要遵循一定的方法,如下所示,在TPT中的help中关于自定义报告的介绍。

poYBAGLmVr-ARniDAACdQysWWZs002.png

自定义报告方法

TPT内置函数自定义报告支持添加“评估列表”、“信号图像”、“自定义图片”、“章节”、“目录”等,接下来我们以自定义添加信号图像为例介绍自定义报告过程。

目标:将测试用例的输出信号添加在报告中

在TPT中编辑如下测试用例,输出信号为“Test_Out_1”和“Test_Out_2”。

pYYBAGLmVs6ADhTNAABQ0jAWx64740.png

TPT中的测试用例

poYBAGLmVtyAdheAAACpIpEKBKk090.png

信号曲线

在TPT中添加script评估,编辑如下:

pYYBAGLmVumAQ95WAADplMMGjco342.png

自定义报告添加信号图像

在报告中效果如下:

poYBAGLmVveAQ5V3AACj-zYbzQE453.png

TPT自动生成的报告

如果测试用例输出信号较多,手动添加信号较为繁琐,我们也可以引用Python中的列表和for循环来检索和加载信号。

pYYBAGLmVwOARx1sAAEi6GLn-SM469.png

for循环遍历输出信号

TPT通过自定义库实现报告定制化

假设一个测试团队对报告的要求是相同的,那么如果团队每个成员都将代码写一遍非常繁琐,这时候可以自定义一个库,然后组内同事共同加载和调用。我们还是以上面添加信号图像为例进行说明,编写如下:

poYBAGLmVxuAEUayAAFOkAq0L18677.png

自定义lib

将自定义lib保存成“.tptpy”文件,并放置在TPT的安装目录中(最好新建文件夹进行保存,可能会有很多库)。

poYBAGLmVymAV6e_AABM6RsOkOo765.png

自定义的lib存放位置

当自定义库保存好后,我们需要在TPT中加载它。点击TPT中的“Options”->“Preferences”。

首先需要在“GENERAL”->“Assessment Library”中加载自定义库路径。此项设置会应用在所有TPT工程上。

pYYBAGLmVziAdYfVAACwWf72n8w263.png

加载自定义库路径

然后在当前使用的TPT工程中的“Assessment Library”中,选择使用哪些库。

poYBAGLmV0OAZ3znAABNtNFd9jg624.png

选择使用的函数

选择好使用的库后,在TPT中新建“Script”评估,使用快捷填充键选择要使用的自定义库。

poYBAGLmV02AARFQAABCENCPKmo432.png

选择自定义函数

注:为避免手动输入信号或函数名称导致的错误,TPT中可以设置快捷填充键调用信号或函数,在“Options”->“Preferences”->“General Setting”->“Workbench”->“Auto completion hot key”中进行设置。

pYYBAGLmV1iADCidAAB_qO4EL-E967.png

快捷填充键设置

在自定义库名称后输入 ”.”,然后再次点击快捷填充键,选择要使用的函数。

poYBAGLmV2aAOWgyAAA17h_7bFY952.png

选择使用的函数

最后,输入章节名称,运行即可得要想要的报告。

pYYBAGLmV3SAHCxWAAA8UwO2dpA479.png

填写自定义章节名称

运行测试后,得到如下报告:

pYYBAGLmV3-AWXB4AACMWSmiqmY184.png

自定义报告

总结

本文只是介绍了将测试用例输出信号加载到报告中,我们当然也可以通过脚本自定义Table、Image、Requirements、Table等,也可以通过不同的组合得到想要的报告。

通过在自定义报告中使用Python,可以提高我们的测试效率,并且提高代码的复用性。当然,Python不止可以应用在自定义报告上,我们也可以使用在评估、TPT配置中,甚至将TPT工程保存为“.tptprj”文件格式后,可以对工程本身进行修改。

关于Python在TPT中的使用,更多精彩内容请查看:

TPT中脚本评估的使用(上):强大的内置函数库

TPT中脚本评估的使用(下):测试管理与软件交互

PikeTec公司是全球知名的基于模型的嵌入式系统测试工具TPT的软件供应商,总部位于德国柏林,其创始人均在戴姆勒公司拥有十多年的软件测试经验。TPT产品曾被评为2005年戴姆勒最佳创新软件,并在戴姆勒、大众、奥迪、保时捷、通用等汽车整车厂及多家零部件企业(博世、大陆、海拉等)中得到广泛应用,如戴姆勒的多个车型的混合动力汽车的动力总成、电池管理控制器的测试,博世的汽油机和柴油机控制系统测试等。

北汇信息作为PikeTec在中国的独家合作伙伴,致力于帮助中国客户提升嵌入式控制系统的开发效率。目前,TPT已被众多国内知名主机厂和零部件企业认可,在新能源(VCU/BMS/MCU)以及ADAS等领域中被广泛应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    58

    文章

    4885

    浏览量

    90311
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用Python/MyHDL创建自定义FPGA IP

    使用 Python/MyHDL 创建自定义 FPGA IP,与 Vivado 集成,并通过 PYNQ 进行控制——实现软件上的简单硬件设计。
    的头像 发表于 04-09 09:53 229次阅读
    使用<b class='flag-5'>Python</b>/MyHDL创建<b class='flag-5'>自定义</b>FPGA IP

    MCUXpresso SDK创建自定义清单

    概述 MCUXpresso SDK 24.12 介绍塞德恩汉CED支持自定义清单,使开发人员能够精确定义其工作区中包含哪些组件、驱动程序、中间件和板支持包。此功能在极简主义、可重复性和 CI/CD
    发表于 04-07 07:11

    极海APM32F427如何实现自定义USB HID设备与PC进行通信

    最近需要使用到 APM32F427 枚举成Custom HID设备进行用户自定义通信,但是官方的例程只有提供的HID枚举为鼠标或者键盘类型的设备。这里记录一下,怎么使用Geehy官方的USB中间件,实现自定义的USB HID设备
    的头像 发表于 03-30 09:30 2775次阅读
    极海APM32F427如何<b class='flag-5'>实现</b><b class='flag-5'>自定义</b>USB HID设备与PC进行通信

    何在TensorFlow Lite Micro中添加自定义操作符(2)

    reshape算子进行说明,如何将reshape算子注册到解析器中,接下来介绍如果我们想自定义一个算子需要干些什么。
    的头像 发表于 12-26 10:53 1664次阅读

    电能质量监测装置可自定义监测时段吗?

    电能质量监测装置普遍支持自定义监测时段,现代中高端装置还具备分时差异化监测与灵活触发能力,可按时间、事件或混合策略定制采集与存储,兼顾精度、效率与存储成本。 一、自定义监测时段的核心实现方式 1.
    的头像 发表于 12-10 16:49 1175次阅读

    电能质量在线监测装置的自定义监测时段功能有哪些应用场景?

    电能质量在线监测装置的 自定义监测时段功能 ,核心价值是通过 “按需配置监测时间、采样频率和数据策略”,实现精准监测、资源优化与数据针对性分析,其应用场景覆盖工业生产、商业运营、电网运维、特殊保障等
    的头像 发表于 12-10 14:01 526次阅读
    电能质量在线监测装置的<b class='flag-5'>自定义</b>监测时段功能有哪些应用场景?

    无图形界面模式下自定义检查工具的应用

    此前文章已介绍 ANSA 中的自定义检查工具。本文将探讨该功能在无图形界面(No-GUI)模式下的应用,旨在满足标准化工作流程的需求,适用于需要高度自动化的前处理场景。通过集成自定义检查,用户可实现工作流程的高效自动化运行。
    的头像 发表于 11-30 14:13 783次阅读
    无图形界面模式下<b class='flag-5'>自定义</b>检查工具的应用

    TPT-X-2025.09 焕新上线!汽车电子测试效率再升级,解决测试痛点!

    TPT-X-2025.09版本重磅更新,进一步贴合行业最新需求,为汽车电子测试注入新动能。TPT本次更新不仅新增自定义工具栏、多对象测试状态管理等协作功能,更通过Python用例设计
    的头像 发表于 10-29 10:02 754次阅读
    <b class='flag-5'>TPT</b>-X-2025.09 焕新上线!汽车电子测试效率再升级,解决测试痛点!

    采用汇编指示符来使用自定义指令

    具体实现 1、采用.word .half .dword等汇编指示符直接插入自定义指令,这种方法需要自己指定寄存器。其中.word为插入一个字的数据即32位,.half为插入半字即16位
    发表于 10-28 06:02

    强实时运动控制内核MotionRT750(九):内置C语言的自定义机械手模型实现

    内置C语言的自定义机械手模型实现
    的头像 发表于 10-27 14:14 974次阅读
    强实时运动控制内核MotionRT750(九):内置C语言的<b class='flag-5'>自定义</b>机械手模型<b class='flag-5'>实现</b>

    何在e203 SOC中添加自定义外设

    何在E203 中添加自定义的外设,困扰已久,以下是一个从别处借鉴而来的方法: 1、设计好自定义外设的RTL后,在其中添加ICB总线的握手协议和读写寄存器。 2、设计一个对外接口,用来设定
    发表于 10-20 10:38

    如何使用SDK进行自定义音频播放功能

    在上一篇文章安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】自定义音频替换失败过程中,简要概述了res_build_tool.py 文件, 其主要的作用就是将音频文件进行转换,从而使编译固件的时候能够将音频文件编译到BIN中,然后在各项事件触发的时候实现
    的头像 发表于 09-25 15:52 4360次阅读
    如何使用SDK进行<b class='flag-5'>自定义</b>音频播放功能

    大彩讲堂:VisualTFT软件如何自定义圆形进度条

    VisualTFT软件如何自定义圆形进度条
    的头像 发表于 07-07 17:10 1923次阅读
    大彩讲堂:VisualTFT软件如何<b class='flag-5'>自定义</b>圆形进度条

    KiCad 中的自定义规则(KiCon 演讲)

    “  Seth Hillbrand 在 KiCon US 2025 上为大家介绍了 KiCad 的规则系统,并详细讲解了自定义规则的设计与实例。  ”   演讲主要围绕 加强 KiCad 中的自定义
    的头像 发表于 06-16 11:17 2562次阅读
    KiCad 中的<b class='flag-5'>自定义</b>规则(KiCon 演讲)

    HarmonyOS应用自定义键盘解决方案

    自定义键盘是一种替换系统默认键盘的解决方案,可实现键盘个性化交互。允许用户结合业务需求与操作习惯,对按键布局进行可视化重构、设置多功能组合键位,使输入更加便捷和舒适。在安全防护层面,自定义键盘可以
    的头像 发表于 06-05 14:19 2624次阅读