在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

Robot Framework在汽車電子測試中,可以發揮出多大的作用

汽車電子設計 ? 來源:汽車電子設計 ? 作者:汽車電子設計 ? 2022-06-17 10:53 ? 次閱讀

前言

汽車電子軟件扮演著越來越重要的角色,為適應市場變化,車載軟件和功能的開發需要快速迭代。敏捷開發、持續測試、CI/CT/CD實現和DevOps等成了汽車電子行業的高頻詞,也正在幫助OEM和零部件供應商實現頻繁的代碼部署和實現可靠軟件交付的目標。測試自動化是這些過程中不可或缺的一部分,因為可以提升測試效率以加速開發迭代,特別是對于重復性的任務或不需要任何人工干預的任務。

說到自動化測試,Robot Framework作為自動化測試領域的明星框架,已經開始摩拳擦掌,躍躍欲試。今天我們一起來看下Robot Framework在汽車電子測試中,可以發揮出多大的作用。

Robot Framework簡介

Robot Framework是一個廣受歡迎的自動化測試框架。所謂框架,可以理解為一組準則,遵循這些準則可以獲取明顯的收益。自動化測試框架就是由一個或多個自動化測試基礎模塊、自動化測試管理模塊、自動化測試統計模塊等組成的工具集合。

Robot Framework是一個基于Python語言開發的,可擴展的,是以關鍵字驅動模式的自動化測試框架。

特點

1

編輯用例簡單,啟用易于使用的表格語法,以統一的方式創建測試用例;

2

提供從現有關鍵字創建可重復使用的更高級別關鍵字的功能;

3

提供易于閱讀的結果報告和HTML格式的日志;

4

提供一個簡單的庫API,用于創建自定義測試庫,可以使用Python或Java本機實現;

5

支持創建數據驅動的測試用例;

6

提供標記以分類和選擇要執行的測試用例;

7

可以和SVN或者GIT及Jenkins持續集成。

上文我們提到Robot Framework是以關鍵字驅動模式的自動化測試框架,同時支持創建數據驅動的測試用例。那么關鍵字驅動和數據驅動分別有什么特點呢?

關鍵字驅動是由關鍵字和數據組成測試用例執行測試,測試框架的底層負責解釋關鍵字,完成指令,測試用例的編輯者只需要使用關鍵字和數據組合,即可實現復雜的測試邏輯。測試執行的代碼和測試用例代碼是分離的。這種方式學習成本比較高,開發關鍵字及其相關功能的初始投資可能需要更長的時間。

數據驅動測試是從數據文件讀取輸入、輸出數據,通過變量傳入測試腳本執行測試,數據是可變的,測試設計是重復的、高度抽象的。使用這種測試方式可以減少重復勞動,測試用例易于修改和維護。但是這種方式不擅長邏輯處理,一組腳本只能處理特定格式的數據。在一些特定的測試場景下,這種方式具有明顯優勢。比如汽車ECU(如網關)測試有數據轉發/路由的測試場景,需要測試的數據有時多達上千個,我們只需創建一條數據轉發業務的測試用例,從數據文件中讀取輸入、輸出數據后,遍歷所有數據即可完成測試。

Robot Framework整體架構

Robot Framework是一個通用的,和具體測試工具松耦合的框架,其高度模塊化的架構如下圖所示:

f401d64c-ede7-11ec-ba43-dac502259ad0.png

測試數據(Test Data)使用非常簡單、易于編輯的表格格式。Robot Framework會解析測試數據, 執行測試用例, 并生成日志和報告。框架本身對測試對象可以完全“一無所知”, 而是通過測試庫與其交互。測試庫可能是直接使用被測應用程序的接口, 也可以使用其它底層的測試工具作為驅動。

Robot Framework環境安裝

Robot Framework環境的安裝比較簡單,只需兩步即可完成:

1.安裝python配置環境變量;

2.打開dos窗口,輸入指令 pip install robotframework,點擊回車,安裝RobotFramework。

?

Robot Framework常用關鍵字

上文我們提到Robot Framework是一個關鍵字模式驅動的自動化測試框架,Robot Framework的測試用例由關鍵字和測試數據組成。關鍵字是用Python語言編寫的函數,也即是一個個方法。它是為了完成一個功能來設計的,分為系統關鍵字和用戶關鍵字。

系統關鍵字包含標準庫里面的關鍵字和第三方庫里面的關鍵字,就像C/C++的庫函數或者Python的內置函數一樣。

用戶關鍵字是根據業務需求將不同的業務封裝成一個關鍵字或者將用例執行的步驟封裝成一個關鍵字,就像C/C++或者Python中的用戶自定義函數。

下面我們介紹幾個常見關鍵字的用途

Convert To Integer:將給定的變量轉換成一個整數。示例:

?

${result} =Convert To Integer100# Result is 100

?

?

Import Library:導入擴展庫或者自定義庫。示例:

?

Import LibraryMyLibrary

Import Library${CURDIR}/Lib.pyarg1named=arg2WITH NAMECustom

?

?

Get Variable Value:獲取變量的值,賦給一個新的變量,如果變量不存在可以設置一個默認值。示例:

?

${x} = Get Variable Value $a default

${y} = Get Variable Value $a $

${z} = Get Variable Value $z

?

?

Log:使用給定的級別記錄給定的信息。示例:

?

LogHello, world!# Normal INFO message.

LogWarning, world!WARN# Warning.

?

?

Set Variable:給變量設置值。示例:

?

${hi} =Set VariableHello, world!

${hi2} =Set VariableI said: ${hi}

${var1}${var2} =Set VariableHelloworld

@{list} =Set Variable${list with some items}

${item1}${item2} =Set Variable${list with 2 items}

?

?

Should Be Equal:Robot Framework中的斷言關鍵字,如果給定的對象不相等,就會判定失敗。示例:

?

Should Be Equal${x}expected

Should Be Equal${x}expectedCustom error message

Should Be Equal${x}expectedCustom messagevalues=False

?

?

Sleep:測試執行等待一定時間。示例:

?

Sleep42

Sleep1.5

Sleep2 minutes 10 seconds

Sleep10sWait for a reply

?

?

Robot Framework測試用例示例

說了這么多,大家肯定想趕緊看看Robot Framework是怎么使用的,現在我們通過一個簡單的例子來說明Robot Framework是怎么執行測試的。

測試用例操作步驟

加載CANoe測試工程

啟動測試

等待一定時間,確保CANoe啟動完成

設置系統變量的值

等待一定時間,確保系統變量設置完成

獲取關聯系統變量的信號

比較設置的值和讀取的值是否相同

終端輸出提示“測試用例執行結束”

Robot Framework編寫的測試用例如下圖一所示:

f414e566-ede7-11ec-ba43-dac502259ad0.png

圖一 Robot Framework測試用例示例

執行測試用例:dos窗口中輸入robot 測試用例路徑,點擊回車即可,這里執行用例的邏輯是使用pip安裝Robot Framework時,會在Python安裝路徑下面的Scripts文件夾生成robot.exe文件,Scripts文件夾已經添加到系統路徑,因此不需要再配置robot.exe的系統路徑就可以直接調用。

執行后用例后,CANoe中關聯系統變量的信號值設置成功,如圖二所示。

f43c919c-ede7-11ec-ba43-dac502259ad0.png

圖二 CANoe信號EngineState::OnOff值設置為1

用例執行完成后,生成的測試報告如圖三所示。

f4620c56-ede7-11ec-ba43-dac502259ad0.png

圖三 測試用例執行后生成的測試報告

Robot Framework與CANoe結合使用

相比于IT行業的軟件測試,汽車電子需要搭建硬件測試環境,測試時需要監控和仿真很多總線信號和硬線信號,CANoe作為專業的總線網絡開發和測試工具被眾多整車廠和供應商的系統設計師、開發工程師和測試工程師所廣泛使用。配合Vector的硬件設備,如VN通信硬件接口卡及VT IO板卡,以及圖形化自動化測試工程開發軟件vTESTstudio,可以勝任汽車電子研發測試的各項任務。Robot Framework和CANoe結合使用,既帶來了Robot Framework可以自動部署測試軟件、自動截取日志、可以生成易于閱讀的測試報告和可以靈活的選取測試用例的優點,也保留了Vector工具在多總線支持、網絡監測和分析、系統仿真等方面的優勢,各取所長。

CANoe是留有COM Interface的,這樣我們可以通過第三方的程序調用CANoe開放的API。調用交互的部分DEMO代碼如下圖四所示:

f473aaba-ede7-11ec-ba43-dac502259ad0.png

圖四 Python編程調用CANoe代碼

Robot Framework和CANoe結合使用一般有兩個思路:

第一種情況是把測試用例的過程主體在Robot Framework環境中編寫腳本實現并執行,在執行過程中調用CANoe提供測試數據、參數、變量的讀取和設定,這個思路適合對時間要求不敏感的測試用例。如下圖五所示用例,CanoeHandle為自定義的關鍵字庫,創建了加載CANoe工程、啟動測試、停止測試、獲取信號值、設置系統變量值、獲取系統變量值等關鍵字,可以使用這些關鍵字組合創建Robot Framework測試用例,執行測試。

f486db26-ede7-11ec-ba43-dac502259ad0.png

圖五 基于Robot Framework編寫CANoe測試用例

第二種情況是測試用例整體在Vector工具鏈中開發測試工程和腳本(比如基于vTESTstudio開發圖形化測試工程或是CANoe-CAPL編寫測試腳本),并在CANoe中執行工程和腳本。此時,如圖六所示,Robot Framework作為一個測試用例管理框架來使用,CanoeHandle為自定義的關鍵字庫,創建了加載CANoe工程、加載測試腳本、執行測試腳本等關鍵字,可以使用Robot Framework進行測試管理,根據實際需求刪選測試用例、自動控制測試開始、停止等。結合Jenkins打造通用的自動化持續集成測試平臺,可以顯著提升測試效率。

f498d51a-ede7-11ec-ba43-dac502259ad0.png


圖六 基于Robot Framework管理CANoe測試工程

IT領域的開發理念和以太網等具體通信技術經過優化改造后在汽車上的應用,為軟件定義汽車的實現提供了諸多方法論和技術手段上的支撐和支持。同樣,發源于IT行業的測試技術也越來越多地被應用到汽車電子的測試中,在過去一年的項目中,北匯信息已經將Robot Framework與CANoe等汽車行業的主流工具進行了結合應用,積累了一些實踐經驗,期待與大家深入交流和探討。下期我們將帶來Robot Framework結合Jenkins的測試實踐應用的主題,敬請關注。

注:文中部分圖片來源于Vector。

審核編輯 :李倩

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

    關注

    3027

    文章

    7985

    瀏覽量

    167331
  • 自動化
    +關注

    關注

    29

    文章

    5598

    瀏覽量

    79430
  • 數據驅動
    +關注

    關注

    0

    文章

    127

    瀏覽量

    12359

原文標題:Robot Framework簡介及在汽車電子測試中的應用

文章出處:【微信號:QCDZSJ,微信公眾號:汽車電子設計】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    阻性負載的重要作用

    ,可以通過調整阻性負載的功率來精確控制溫度。此外,還可以使用傳感器和控制器來實現自動化的溫度調節。 模擬與測試電子
    發表于 01-07 15:18

    可編程交流電子負載各領域的作用

    。 汽車電子汽車電子的開發和測試,需要對電池管
    發表于 12-24 14:04

    電子元件測試恒溫恒濕試驗箱的關鍵作用

    有效地穩定元器件的參數性能,減少使用的參數漂移。電力測試電力測試是評估電子元器件可靠性的重要項目。熱電應力的綜合
    的頭像 發表于 12-10 10:40 ?153次閱讀
    <b class='flag-5'>電子</b>元件<b class='flag-5'>測試</b><b class='flag-5'>中</b>恒溫恒濕試驗箱的關鍵<b class='flag-5'>作用</b>

    漆包線電子產品作用

    漆包線電子產品中發揮著至關重要的作用,以下是其具體作用及優勢的介紹: 一、電能與磁能轉換的媒介 漆包線以其獨特的繞制線圈能力,成為
    的頭像 發表于 12-09 09:23 ?497次閱讀

    串聯組件電子設備作用

    串聯組件電子設備中發揮著至關重要的作用。以下是串聯組件電子設備
    的頭像 發表于 12-02 16:45 ?468次閱讀

    NTC熱敏電阻汽車電子的應用

    NTC熱敏電阻汽車電子系統的應用非常廣泛,其主要作用是測量和控制汽車各部件的溫度,以確保
    的頭像 發表于 11-26 16:25 ?704次閱讀

    汽車雷達回波發生器的技術原理和應用場景

    驗證。通過模擬不同目標和場景的回波信號,可以全面測試雷達系統的測距、測速、測角等性能指標,確保雷達系統實際使用能夠滿足設計要求。 綜上所述,汽車
    發表于 11-15 14:06

    脈沖式線圈測試儀的技術原理和應用場景

    ,使用脈沖式線圈測試儀對繞線電感線圈進行匝間絕緣和層間短路測試,提高產品質量。 汽車電子汽車
    發表于 09-18 14:29

    Aigtek功率放大器電場測試作用和用途是什么

    電場測試是電力工程至關重要的一部分,用于評估電力設備和電力系統的性能、可靠性以及安全性。電場測試,功率放大器
    的頭像 發表于 09-05 14:40 ?236次閱讀
    Aigtek功率放大器<b class='flag-5'>在</b>電場<b class='flag-5'>測試</b><b class='flag-5'>中</b>的<b class='flag-5'>作用</b>和用途是什么

    汽中心引領汽車極端環境測試標準新發展

    隨著汽車行業向電動化、智能化、網聯化領域加速轉型,汽車應對極端環境的能力面臨諸多新挑戰,各類測試和評測汽車研發和生產過程
    的頭像 發表于 08-15 15:46 ?621次閱讀

    TS RadiMation測試軟件如何在脈沖抗擾度測試發揮作用?

    脈沖抗擾度測試模塊用于TS RadiMation?軟件記錄測試數據。大多數脈沖抗擾度測試都是
    的頭像 發表于 07-26 10:47 ?322次閱讀
    TS RadiMation<b class='flag-5'>測試</b>軟件如何在脈沖抗擾度<b class='flag-5'>測試</b>中<b class='flag-5'>發揮作用</b>?

    24芯M16插座汽車電子系統的關鍵作用

      德索工程師說道24芯M16插座汽車電子系統的關鍵作用可以從多個方面進行深入探討。隨著
    的頭像 發表于 05-22 18:03 ?332次閱讀
    24芯M16插座<b class='flag-5'>在</b><b class='flag-5'>汽車</b><b class='flag-5'>電子</b>系統<b class='flag-5'>中</b>的關鍵<b class='flag-5'>作用</b>

    4芯M16插頭新能源汽車作用

      德索工程師說道新能源汽車領域,隨著技術的不斷進步和創新,各種電氣和電子部件的集成和應用成為了推動車輛性能提升和智能化的關鍵。其中,4芯M16插頭作為一種重要的電氣連接器,新能源
    的頭像 發表于 05-17 17:52 ?386次閱讀
    4芯M16插頭<b class='flag-5'>在</b>新能源<b class='flag-5'>汽車</b><b class='flag-5'>中</b>的<b class='flag-5'>作用</b>

    任意波形發生器汽車電子測試的應用

    電子測試發揮著重要作用。本文將詳細探討任意波形發生器汽車電子
    的頭像 發表于 05-15 15:37 ?564次閱讀

    汽車emc測試項目包括哪些 汽車電子emc測試標準

    汽車EMC測試項目是為了評估汽車電子設備電磁環境下的抗干擾能力,以確保車輛的正常運行和安全性。以下是關于
    的頭像 發表于 01-31 14:32 ?3143次閱讀
    主站蜘蛛池模板: 俺也来俺也去俺也射| 欧洲色妇| 女人张开腿让男人捅爽| 日本资源在线| 91男女视频| 国产自产视频在线观看香蕉| 色综合亚洲天天综合网站| 日韩伊人网| 超薄肉色丝袜精品足j福利| 欧美18xxoovideos| 亚洲韩国欧美一区二区三区 | 俺就色| 午夜免费伦费影视在线观看| 成年色黄大色黄大片 视频 | 日日摸人人看97人人澡| 欧美色操| 国产二区三区毛片| 天天操天天摸天天碰| 黄黄网站| 黄乱色伦| 69日本xxxxxxxxx98| 欧美肥妇性| 男女交黄| 午夜三级网| 在线免费视频一区二区| 黄网页在线观看| www日本免费| 人人干97| 97人人插| 午夜手机视频| 狠狠干夜夜骑| 人人添| 四虎黄色网址| 日韩毛片网站| 国产精品成人四虎免费视频| 爽天天天天天天天| 国产在线黄| 天堂资源站| 国产一级特黄老妇女大片免费| 天天干天天透| 中文字幕一区二区视频|