RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在TPT中使用Python實現自定義報告

北匯信息POLELINK ? 2022-08-01 14:23 ? 次閱讀

Python是由 Guido van Rossum在八十年代末和九十年代初,在荷蘭國家數學和計算機科學研究所設計出來的,Python可以粘性整合現有程序,簡單易學,具備龐大的計算生態(tài),因此也被稱為“超級語言”。

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內置函數自定義報告支持添加“評估列表”、“信號圖像”、“自定義圖片”、“章節(jié)”、“目錄”等,接下來我們以自定義添加信號圖像為例介紹自定義報告過程。

目標:將測試用例的輸出信號添加在報告中

在TPT中編輯如下測試用例,輸出信號為“Test_Out_1”和“Test_Out_2”。

pYYBAGLmVs6ADhTNAABQ0jAWx64740.png

TPT中的測試用例

poYBAGLmVtyAdheAAACpIpEKBKk090.png

信號曲線

在TPT中添加script評估,編輯如下:

pYYBAGLmVumAQ95WAADplMMGjco342.png

自定義報告添加信號圖像

在報告中效果如下:

poYBAGLmVveAQ5V3AACj-zYbzQE453.png

TPT自動生成的報告

如果測試用例輸出信號較多,手動添加信號較為繁瑣,我們也可以引用Python中的列表和for循環(huán)來檢索和加載信號。

pYYBAGLmVwOARx1sAAEi6GLn-SM469.png

for循環(huán)遍歷輸出信號

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

選擇使用的函數

最后,輸入章節(jié)名稱,運行即可得要想要的報告。

pYYBAGLmV3SAHCxWAAA8UwO2dpA479.png

填寫自定義章節(jié)名稱

運行測試后,得到如下報告:

pYYBAGLmV3-AWXB4AACMWSmiqmY184.png

自定義報告

總結

本文只是介紹了將測試用例輸出信號加載到報告中,我們當然也可以通過腳本自定義Table、Image、Requirements、Table等,也可以通過不同的組合得到想要的報告。

通過在自定義報告中使用Python,可以提高我們的測試效率,并且提高代碼的復用性。當然,Python不止可以應用在自定義報告上,我們也可以使用在評估、TPT配置中,甚至將TPT工程保存為“.tptprj”文件格式后,可以對工程本身進行修改。

關于Python在TPT中的使用,更多精彩內容請查看:

TPT中腳本評估的使用(上):強大的內置函數庫

TPT中腳本評估的使用(下):測試管理與軟件交互

PikeTec公司是全球知名的基于模型的嵌入式系統(tǒng)測試工具TPT的軟件供應商,總部位于德國柏林,其創(chuàng)始人均在戴姆勒公司擁有十多年的軟件測試經驗。TPT產品曾被評為2005年戴姆勒最佳創(chuàng)新軟件,并在戴姆勒、大眾、奧迪、保時捷、通用等汽車整車廠及多家零部件企業(yè)(博世、大陸、海拉等)中得到廣泛應用,如戴姆勒的多個車型的混合動力汽車的動力總成、電池管理控制器的測試,博世的汽油機和柴油機控制系統(tǒng)測試等。

北匯信息作為PikeTec在中國的獨家合作伙伴,致力于幫助中國客戶提升嵌入式控制系統(tǒng)的開發(fā)效率。目前,TPT已被眾多國內知名主機廠和零部件企業(yè)認可,在新能源(VCU/BMS/MCU)以及ADAS等領域中被廣泛應用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • python
    +關注

    關注

    56

    文章

    4792

    瀏覽量

    84627
收藏 人收藏

    評論

    相關推薦

    創(chuàng)建自定義的基于閃存的引導加載程序(BSL)

    電子發(fā)燒友網站提供《創(chuàng)建自定義的基于閃存的引導加載程序(BSL).pdf》資料免費下載
    發(fā)表于 09-19 10:50 ?0次下載
    創(chuàng)建<b class='flag-5'>自定義</b>的基于閃存的引導加載程序(BSL)

    如何創(chuàng)建TestStand自定義步驟

    在之前的課程中簡單地介紹過TestStand自帶的一些步驟類型,如測試、消息彈窗、賦值、標簽等等,這些簡單的步驟從TestStand的插入選版中就可以添加到序列中。那么在使用中如果碰到需要實現更加靈活、復雜的功能,使用自帶的一些步驟類型可能難以滿足,這時就需要使用到自定義
    的頭像 發(fā)表于 09-11 14:46 ?1060次閱讀
    如何創(chuàng)建TestStand<b class='flag-5'>自定義</b>步驟

    EtherCAT運動控制器PT/PVT實現用戶自定義軌跡規(guī)劃

    EtherCAT運動控制器PT/PVT實現用戶自定義軌跡規(guī)劃。
    的頭像 發(fā)表于 08-15 11:49 ?621次閱讀
    EtherCAT運動控制器PT/PVT<b class='flag-5'>實現</b>用戶<b class='flag-5'>自定義</b>軌跡規(guī)劃

    NVIDIA NeMo加速并簡化自定義模型開發(fā)

    如果企業(yè)希望充分發(fā)揮出 AI 的力量,就需要根據其行業(yè)需求量身定制的自定義模型。
    的頭像 發(fā)表于 07-26 11:17 ?743次閱讀
    NVIDIA NeMo加速并簡化<b class='flag-5'>自定義</b>模型開發(fā)

    何在IDF框架中使自定義的靜態(tài)庫和動態(tài)庫?

    基于商業(yè)需要,我們需要在 ESP-IDF v4.0-rc 這個版本的IDF中開發(fā)與使用自定義庫,有如下問題請協(xié)助: 1如何利用IDF框架編寫自定義靜態(tài)庫和動態(tài)庫? 2如何在IDF框架中使
    發(fā)表于 06-25 07:57

    ESP32下如何加自定義Python庫?

    我看官方有提供Micropython的bin文件,但我想根據自己外設擴充一下Python庫,這個應該從哪里入手? 之前做過RTT系統(tǒng)的python庫擴充,RTT有提供Micropython的源代碼,直接在里面加自己的庫就行 ESP32下如何加
    發(fā)表于 06-18 06:27

    HarmonyOS開發(fā)案例:【 自定義彈窗】

    基于ArkTS的聲明式開發(fā)范式實現了三種不同的彈窗,第一種直接使用公共組件,后兩種使用CustomDialogController實現自定義彈窗
    的頭像 發(fā)表于 05-16 18:18 ?1353次閱讀
    HarmonyOS開發(fā)案例:【 <b class='flag-5'>自定義</b>彈窗】

    AWTK 開源串口屏開發(fā)(18) - 用 C 語言自定義命令

    編寫代碼即可實現常見的應用。但是,有時候我們需要自定義一些命令,以實現一些特殊的功能。本文檔介紹如何使用C語言自定義命令。1.實現hmi_m
    的頭像 發(fā)表于 05-11 08:24 ?436次閱讀
    AWTK 開源串口屏開發(fā)(18) - 用 C 語言<b class='flag-5'>自定義</b>命令

    TSMaster 自定義 LIN 調度表編程指導

    LIN(LocalInterconnectNetwork)協(xié)議調度表是用于LIN總線通信中的消息調度的一種機制,我們收到越來越多來自不同用戶希望能夠通過接口實現自定義LIN調度表的需求。所以在
    的頭像 發(fā)表于 05-11 08:21 ?656次閱讀
    TSMaster <b class='flag-5'>自定義</b> LIN 調度表編程指導

    HarmonyOS開發(fā)案例:【UIAbility和自定義組件生命周期】

    本文檔主要描述了應用運行過程中UIAbility和自定義組件的生命周期。對于UIAbility,描述了Create、Foreground、Background、Destroy四種生命周期。對于頁面
    的頭像 發(fā)表于 05-10 15:31 ?1240次閱讀
    HarmonyOS開發(fā)案例:【UIAbility和<b class='flag-5'>自定義</b>組件生命周期】

    HarmonyOS開發(fā)實例:【自定義Emitter】

    使用[Emitter]實現事件的訂閱和發(fā)布,使用[自定義彈窗]設置廣告信息。
    的頭像 發(fā)表于 04-14 11:37 ?994次閱讀
    HarmonyOS開發(fā)實例:【<b class='flag-5'>自定義</b>Emitter】

    鴻蒙ArkUI實例:【自定義組件】

    組件是 OpenHarmony 頁面最小顯示單元,一個頁面可由多個組件組合而成,也可只由一個組件組合而成,這些組件可以是ArkUI開發(fā)框架自帶系統(tǒng)組件,比如?`Text`?、?`Button`?等,也可以是自定義組件,本節(jié)筆者簡單介紹一下自定義組件的語法規(guī)范。
    的頭像 發(fā)表于 04-08 10:17 ?631次閱讀

    RK3568驅動指南|驅動基礎進階篇-進階5 自定義實現insmod命令實驗

    RK3568驅動指南|驅動基礎進階篇-進階5 自定義實現insmod命令實驗
    的頭像 發(fā)表于 02-20 14:10 ?675次閱讀
    RK3568驅動指南|驅動基礎進階篇-進階5 <b class='flag-5'>自定義</b><b class='flag-5'>實現</b>insmod命令實驗

    基于YOLOv8實現自定義姿態(tài)評估模型訓練

    Hello大家好,今天給大家分享一下如何基于YOLOv8姿態(tài)評估模型,實現自定義數據集上,完成自定義姿態(tài)評估模型的訓練與推理。
    的頭像 發(fā)表于 12-25 11:29 ?2836次閱讀
    基于YOLOv8<b class='flag-5'>實現</b><b class='flag-5'>自定義</b>姿態(tài)評估模型訓練

    博途用戶自定義庫的使用

    博途官方提供了很多庫,比如:基本函數庫、通信庫、安全庫、驅動庫等等,用戶可以使用庫中的函數/函數塊來完成具體的控制任務。除了官方的庫,我們也可以創(chuàng)建自己的庫(用戶自定義庫)。比如,把項目
    的頭像 發(fā)表于 12-25 10:08 ?913次閱讀
    博途用戶<b class='flag-5'>自定義</b>庫的使用
    RM新时代网站-首页