99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

汽車電子設(shè)計(jì) ? 來源:汽車電子設(shè)計(jì) ? 作者:汽車電子設(shè)計(jì) ? 2022-06-17 10:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

汽車電子軟件扮演著越來越重要的角色,為適應(yīng)市場變化,車載軟件和功能的開發(fā)需要快速迭代。敏捷開發(fā)、持續(xù)測試、CI/CT/CD實(shí)現(xiàn)和DevOps等成了汽車電子行業(yè)的高頻詞,也正在幫助OEM和零部件供應(yīng)商實(shí)現(xiàn)頻繁的代碼部署和實(shí)現(xiàn)可靠軟件交付的目標(biāo)。測試自動(dòng)化是這些過程中不可或缺的一部分,因?yàn)榭梢蕴嵘郎y試效率以加速開發(fā)迭代,特別是對于重復(fù)性的任務(wù)或不需要任何人工干預(yù)的任務(wù)。

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

Robot Framework簡介

Robot Framework是一個(gè)廣受歡迎的自動(dòng)化測試框架。所謂框架,可以理解為一組準(zhǔn)則,遵循這些準(zhǔn)則可以獲取明顯的收益。自動(dòng)化測試框架就是由一個(gè)或多個(gè)自動(dòng)化測試基礎(chǔ)模塊、自動(dòng)化測試管理模塊、自動(dòng)化測試統(tǒng)計(jì)模塊等組成的工具集合。

Robot Framework是一個(gè)基于Python語言開發(fā)的,可擴(kuò)展的,是以關(guān)鍵字驅(qū)動(dòng)模式的自動(dòng)化測試框架。

特點(diǎn)

1

編輯用例簡單,啟用易于使用的表格語法,以統(tǒng)一的方式創(chuàng)建測試用例;

2

提供從現(xiàn)有關(guān)鍵字創(chuàng)建可重復(fù)使用的更高級別關(guān)鍵字的功能;

3

提供易于閱讀的結(jié)果報(bào)告和HTML格式的日志;

4

提供一個(gè)簡單的庫API,用于創(chuàng)建自定義測試庫,可以使用Python或Java本機(jī)實(shí)現(xiàn);

5

支持創(chuàng)建數(shù)據(jù)驅(qū)動(dòng)的測試用例;

6

提供標(biāo)記以分類和選擇要執(zhí)行的測試用例;

7

可以和SVN或者GIT及Jenkins持續(xù)集成。

上文我們提到Robot Framework是以關(guān)鍵字驅(qū)動(dòng)模式的自動(dòng)化測試框架,同時(shí)支持創(chuàng)建數(shù)據(jù)驅(qū)動(dòng)的測試用例。那么關(guān)鍵字驅(qū)動(dòng)和數(shù)據(jù)驅(qū)動(dòng)分別有什么特點(diǎn)呢?

關(guān)鍵字驅(qū)動(dòng)是由關(guān)鍵字和數(shù)據(jù)組成測試用例執(zhí)行測試,測試框架的底層負(fù)責(zé)解釋關(guān)鍵字,完成指令,測試用例的編輯者只需要使用關(guān)鍵字和數(shù)據(jù)組合,即可實(shí)現(xiàn)復(fù)雜的測試邏輯。測試執(zhí)行的代碼和測試用例代碼是分離的。這種方式學(xué)習(xí)成本比較高,開發(fā)關(guān)鍵字及其相關(guān)功能的初始投資可能需要更長的時(shí)間。

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

Robot Framework整體架構(gòu)

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

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

測試數(shù)據(jù)(Test Data)使用非常簡單、易于編輯的表格格式。Robot Framework會(huì)解析測試數(shù)據(jù), 執(zhí)行測試用例, 并生成日志和報(bào)告??蚣鼙旧韺y試對象可以完全“一無所知”, 而是通過測試庫與其交互。測試庫可能是直接使用被測應(yīng)用程序的接口, 也可以使用其它底層的測試工具作為驅(qū)動(dòng)。

Robot Framework環(huán)境安裝

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

1.安裝python配置環(huán)境變量;

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

?

Robot Framework常用關(guān)鍵字

上文我們提到Robot Framework是一個(gè)關(guān)鍵字模式驅(qū)動(dòng)的自動(dòng)化測試框架,Robot Framework的測試用例由關(guān)鍵字和測試數(shù)據(jù)組成。關(guān)鍵字是用Python語言編寫的函數(shù),也即是一個(gè)個(gè)方法。它是為了完成一個(gè)功能來設(shè)計(jì)的,分為系統(tǒng)關(guān)鍵字和用戶關(guān)鍵字。

系統(tǒng)關(guān)鍵字包含標(biāo)準(zhǔn)庫里面的關(guān)鍵字和第三方庫里面的關(guān)鍵字,就像C/C++的庫函數(shù)或者Python的內(nèi)置函數(shù)一樣。

用戶關(guān)鍵字是根據(jù)業(yè)務(wù)需求將不同的業(yè)務(wù)封裝成一個(gè)關(guān)鍵字或者將用例執(zhí)行的步驟封裝成一個(gè)關(guān)鍵字,就像C/C++或者Python中的用戶自定義函數(shù)。

下面我們介紹幾個(gè)常見關(guān)鍵字的用途

Convert To Integer:將給定的變量轉(zhuǎn)換成一個(gè)整數(shù)。示例:

?

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

?

?

Import Library:導(dǎo)入擴(kuò)展庫或者自定義庫。示例:

?

Import LibraryMyLibrary

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

?

?

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

?

${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:給變量設(shè)置值。示例:

?

${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中的斷言關(guān)鍵字,如果給定的對象不相等,就會(huì)判定失敗。示例:

?

Should Be Equal${x}expected

Should Be Equal${x}expectedCustom error message

Should Be Equal${x}expectedCustom messagevalues=False

?

?

Sleep:測試執(zhí)行等待一定時(shí)間。示例:

?

Sleep42

Sleep1.5

Sleep2 minutes 10 seconds

Sleep10sWait for a reply

?

?

Robot Framework測試用例示例

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

測試用例操作步驟

加載CANoe測試工程

啟動(dòng)測試

等待一定時(shí)間,確保CANoe啟動(dòng)完成

設(shè)置系統(tǒng)變量的值

等待一定時(shí)間,確保系統(tǒng)變量設(shè)置完成

獲取關(guān)聯(lián)系統(tǒng)變量的信號

比較設(shè)置的值和讀取的值是否相同

終端輸出提示“測試用例執(zhí)行結(jié)束”

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

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

圖一 Robot Framework測試用例示例

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

執(zhí)行后用例后,CANoe中關(guān)聯(lián)系統(tǒng)變量的信號值設(shè)置成功,如圖二所示。

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

圖二 CANoe信號EngineState::OnOff值設(shè)置為1

用例執(zhí)行完成后,生成的測試報(bào)告如圖三所示。

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

圖三 測試用例執(zhí)行后生成的測試報(bào)告

Robot Framework與CANoe結(jié)合使用

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

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

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

圖四 Python編程調(diào)用CANoe代碼

Robot Framework和CANoe結(jié)合使用一般有兩個(gè)思路:

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

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

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

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

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


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

結(jié)

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

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

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:Robot Framework簡介及在汽車電子測試中的應(yīng)用

文章出處:【微信號:QCDZSJ,微信公眾號:汽車電子設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    高壓放大器電子測試的應(yīng)用研究

    、模擬交流電壓等,其性能直接決定了測試結(jié)果的精度、可靠性和動(dòng)態(tài)響應(yīng)能力。 二、高壓放大器電子測試的應(yīng)用 圖:高壓放大器
    的頭像 發(fā)表于 07-04 13:51 ?126次閱讀
    高壓放大器<b class='flag-5'>在</b><b class='flag-5'>電子</b><b class='flag-5'>測試</b><b class='flag-5'>中</b>的應(yīng)用研究

    高壓功率放大器電池測試作用和應(yīng)用

    隨著電動(dòng)汽車、便攜式電子設(shè)備和大規(guī)模儲(chǔ)能系統(tǒng)等領(lǐng)域的快速發(fā)展,對高性能電池的需求日益增長。電池測試作為電池研發(fā)、生產(chǎn)和應(yīng)用的關(guān)鍵環(huán)節(jié),對確保電池性能、安全性和可靠性至關(guān)重要。高壓功率
    的頭像 發(fā)表于 06-26 18:15 ?145次閱讀
    高壓功率放大器<b class='flag-5'>在</b>電池<b class='flag-5'>測試</b><b class='flag-5'>中</b>的<b class='flag-5'>作用</b>和應(yīng)用

    高壓功率放大器汽車電子測試的應(yīng)用研究

    功率信號放大至所需的高功率水平,為汽車電子測試提供了強(qiáng)大的驅(qū)動(dòng)能力,其性能和精度對測試結(jié)果有著直接影響。 二、高壓功率放大器
    的頭像 發(fā)表于 06-16 17:12 ?190次閱讀
    高壓功率放大器<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>的應(yīng)用研究

    功率放大器電磁兼容emc測試作用介紹

    電磁兼容(EMC)測試對于電子設(shè)備的正常運(yùn)行和相互兼容至關(guān)重要,而功率放大器在其中發(fā)揮著不可替代的作用,以下是其具體介紹: 信號放大與增強(qiáng)
    的頭像 發(fā)表于 06-11 15:07 ?207次閱讀
    功率放大器<b class='flag-5'>在</b>電磁兼容emc<b class='flag-5'>測試</b><b class='flag-5'>中</b>的<b class='flag-5'>作用</b>介紹

    富捷車規(guī)級電阻汽車電子的應(yīng)用優(yōu)勢

    隨著汽車電子技術(shù)的不斷發(fā)展,汽車的智能化和自動(dòng)化程度越來越高,電阻作為電子電路不可或缺的基礎(chǔ)元件,
    的頭像 發(fā)表于 05-07 14:20 ?410次閱讀
    富捷車規(guī)級電阻<b class='flag-5'>在</b><b class='flag-5'>汽車</b><b class='flag-5'>電子</b><b class='flag-5'>中</b>的應(yīng)用優(yōu)勢

    網(wǎng)線機(jī)器人領(lǐng)域如何發(fā)揮重要作用

    機(jī)器人制造領(lǐng)域正經(jīng)歷前所未有的變革,網(wǎng)絡(luò)產(chǎn)品作為連接機(jī)器人內(nèi)部系統(tǒng)與外部環(huán)境的關(guān)鍵紐帶,機(jī)器視覺、數(shù)據(jù)采集和遠(yuǎn)程控制等環(huán)節(jié)發(fā)揮著決定性作用。本文將從這網(wǎng)線角度,來看看他們機(jī)器人領(lǐng)域
    的頭像 發(fā)表于 04-27 13:33 ?330次閱讀

    測試電源光伏測試的應(yīng)用

    光伏行業(yè)作為可再生能源的重要組成部分,近年來發(fā)展迅猛,對測試設(shè)備的要求也越來越高,測試電源發(fā)揮著關(guān)鍵作用。優(yōu)秀的電源應(yīng)用中有哪些特點(diǎn)呢,一
    的頭像 發(fā)表于 03-26 11:38 ?467次閱讀
    <b class='flag-5'>測試</b>電源<b class='flag-5'>在</b>光伏<b class='flag-5'>測試</b><b class='flag-5'>中</b>的應(yīng)用

    艾華電解電容汽車電子的可靠性測試

    的可靠性測試。 艾華電解電容汽車電子的可靠性測試主要包括以下幾個(gè)方面: 1、溫度循環(huán)
    的頭像 發(fā)表于 02-28 14:54 ?460次閱讀
    艾華電解電容<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>

    電子元件測試恒溫恒濕試驗(yàn)箱的關(guān)鍵作用

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

    漆包線電子產(chǎn)品作用

    漆包線電子產(chǎn)品中發(fā)揮著至關(guān)重要的作用,以下是其具體作用及優(yōu)勢的介紹: 一、電能與磁能轉(zhuǎn)換的媒介 漆包線以其獨(dú)特的繞制線圈能力,成為
    的頭像 發(fā)表于 12-09 09:23 ?1972次閱讀

    串聯(lián)組件電子設(shè)備作用

    串聯(lián)組件電子設(shè)備中發(fā)揮著至關(guān)重要的作用。以下是串聯(lián)組件電子設(shè)備
    的頭像 發(fā)表于 12-02 16:45 ?1117次閱讀

    汽車雷達(dá)回波發(fā)生器的技術(shù)原理和應(yīng)用場景

    驗(yàn)證。通過模擬不同目標(biāo)和場景的回波信號,可以全面測試雷達(dá)系統(tǒng)的測距、測速、測角等性能指標(biāo),確保雷達(dá)系統(tǒng)實(shí)際使用能夠滿足設(shè)計(jì)要求。 綜上所述,汽車
    發(fā)表于 11-15 14:06

    脈沖式線圈測試儀的技術(shù)原理和應(yīng)用場景

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

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

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

    TS RadiMation測試軟件如何在脈沖抗擾度測試發(fā)揮作用

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