Python作為功能強(qiáng)大的編程語言,在智能汽車研發(fā)和測試中應(yīng)用廣泛,如數(shù)據(jù)處理、測試自動化、測試腳本開發(fā),甚至直接將Python應(yīng)用運(yùn)行在車輛上。CANoe產(chǎn)品體系為汽車行業(yè)XiL測試提供豐富功能,滿足各類汽車電子軟件的開發(fā)、測試、診斷和分析應(yīng)用。耦合Python的CANoe和vTESTstudio將為工作效率提升帶來更大便利!
CANoe產(chǎn)品體系全面支持Python交互
支持Python編寫的代碼運(yùn)行在CANoe/CANoe4SW內(nèi)
在SOA/SDV應(yīng)用中主要是服務(wù)或軟件接口的讀寫操作,CANoe/CANoe4SW完美支持SOA/SDV應(yīng)用的仿真和測試,直接在CANoe/CANoe4SW中開發(fā)Python程序?qū)⑹呛馨舻捏w驗(yàn)。
對于不熟悉Python的用戶來說也不必?fù)?dān)心,CANoe/CANoe4SW已經(jīng)為此安裝了Python解釋器,并擴(kuò)展其API,這使得在CANoe/CANoe4SW中使用Python變得十分簡單。用戶只需選擇一個(gè)Python編輯器,例如Visual Studio Code或PyCharm,就可以輕松地編輯Python腳本。同時(shí),CANoe/CANoe4SW還為Python提供了特殊的裝飾器,可以方便地處理事件。
圖2:CANoe/CANoe4SW中運(yùn)行Python編寫的程序
使用Python編寫應(yīng)用程序模型也非常容易。用戶只需編寫一個(gè)包含特殊裝飾器的類,然后在CANoe/CANoe4SW中指定這個(gè)類,就可以自動注冊該類的事件處理程序。此外,Python還提供了一些生成的API,使用戶能夠輕松訪問CANoe/CANoe4SW運(yùn)行時(shí)環(huán)境中的分布式對象。
值得一提的是,CANoe的Python支持還包括對大多數(shù)常見Python數(shù)據(jù)類型的支持,例如整數(shù)、浮點(diǎn)數(shù)、字符串、布爾值、數(shù)組、結(jié)構(gòu)體等。此外,Python API還提供了許多方便的功能,例如注冊事件處理程序、設(shè)置回調(diào)函數(shù)等。
使用CANoe/CANoe4SW測試Python開發(fā)的軟件
隨著軟件定義汽車的概念被廣為熟知,車輛也逐漸轉(zhuǎn)變?yōu)橐粋€(gè)高度智能化的計(jì)算機(jī)系統(tǒng),被測系統(tǒng)中所用的語言也多種多樣,C/C++甚至Python都是常用的編程語言,如開發(fā)早期使用Python開發(fā)的AI原型算法。無論您的應(yīng)用程序是使用C、C++還是Python編寫的,CANoe/CANoe4SW都可以幫助您測試它們,讓您可以專注于應(yīng)用程序的開發(fā)而不必?fù)?dān)心測試問題。
使用CANoe/CANoe4SW,可以將應(yīng)用程序的功能系統(tǒng)接口建模為分布式對象,并且可以通過信號發(fā)生器、自動化測試或環(huán)境模型來激勵(lì)傳感器,同時(shí)可以在多個(gè)分析窗口中觀察測試應(yīng)用程序的響應(yīng)。此外,通過在Python被測系統(tǒng)中安裝SIL Adapter runtime,可以輕松地測試Python被測系統(tǒng)。
圖3:使用CANoe/CANoe4SW測試Python開發(fā)的AI算法
使用Python在vTESTstudio中編寫測試用例
Vector在工具方面對Python進(jìn)行了大力支持,Python作為一種能被CANoe/CANoe4SW支持的編程語言,具有豐富的第三方庫和優(yōu)秀的生態(tài)環(huán)境,同時(shí)也在vTESTstudio中進(jìn)行了集成。
其中,Python Editor是vTESTstudio中的一款集成式開發(fā)環(huán)境,具有現(xiàn)代開發(fā)環(huán)境的所有功能,包括代碼完成和語法檢查、可配置的語法高亮、語法敏感的縮進(jìn)以及可擴(kuò)展的功能塊。此外,Python Editor還提供了自動生成的Python類,可以訪問CANoe/CANoe4SW運(yùn)行時(shí)交互變量的值,同時(shí)支持Python和CAPL的混合編程。這使得編寫測試序列、測試用例和函數(shù)等任務(wù)變得更加簡單和高效。
圖4:在vTESTstudio中使用Python開發(fā)測試腳本
除了編寫測試序列、測試用例和函數(shù)之外,Python Editor還支持編寫事件過程。為了能夠?qū)ANoe/CANoe4SW中的事件做出反應(yīng),Python Editor提供了帶有特殊裝飾器的方法,這些方法將在測試期間發(fā)生事件時(shí)被調(diào)用(與CAPL中完全相同)。
為了支持Python中接口函數(shù)的重載,每個(gè)函數(shù)必須使用重載裝飾器。這些方法的主體保持為空,必須在后面跟隨一個(gè)非導(dǎo)出方法,該方法實(shí)現(xiàn)所有重載。該方法可以檢查參數(shù)并相應(yīng)地使用它們。
圖5:在vTESTstudio中添加Python模塊
總的來說,Python Editor的引入使得vTESTstudio的使用更加方便和高效。對于正在從事汽車電子測試工作的工程師來說,支持Python的vTESTstudio將會是一個(gè)不可多得的得力助手。
利用Python控制CANoe/CANoe4SW的測試自動化
CANoe對Python的支持使得在CANoe中編寫應(yīng)用程序模型更加容易和靈活。CANoe不但在內(nèi)部支持通過Python進(jìn)行編程,而且也能通過Python從外部對CANoe進(jìn)行控制。在Windows系統(tǒng)中,COM接口被廣泛應(yīng)用于各種應(yīng)用程序和系統(tǒng)組件之間的通信。Python即可利用CANoe暴露出來的COM API通過使用Python腳本控制CANoe,通過CANoe COM接口,實(shí)現(xiàn)許多自動化操作。
例如,您可以使用名為RunAllTest.py的Python腳本來控制CANoe的各種操作。通過CANoe COM接口,您可以啟動CANoe、加載配置文件、添加測試環(huán)境、開始測量,并同時(shí)啟動所有測試單元。
圖6:Python控制COM接口實(shí)現(xiàn)CANoe/CANoe4SW測試自動化
這項(xiàng)功能為開發(fā)人員提供了更多的自由度和靈活性。使用Python腳本,您可以輕松地完成許多任務(wù),無需手動干預(yù)。這不僅可以提高測試的效率,還可以降低錯(cuò)誤率,并幫助您更快地完成開發(fā)工作。通過COM接口的方式同樣適用于CANoe4SW Server Edition的部署自動化,CANoe4SW Server Edition為敏捷開發(fā)CI/CT提供了軟件集成測試的平臺基礎(chǔ)。
圖7:CANoe4SW Server Edition部署支持Python控制實(shí)現(xiàn)
此外,Python編程語言易于學(xué)習(xí)和使用。即使沒有深入的技術(shù)知識,也可以使用Python腳本來控制CANoe/CANoe4SW,而不需要太多的編程經(jīng)驗(yàn)。因此,這項(xiàng)新功能不僅為專業(yè)開發(fā)人員提供了更多的可能性,也為新手提供了一個(gè)學(xué)習(xí)和實(shí)踐的機(jī)會。
-
CAN
+關(guān)注
關(guān)注
57文章
2754瀏覽量
463729 -
編程語言
+關(guān)注
關(guān)注
10文章
1945瀏覽量
34746 -
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84694
發(fā)布評論請先 登錄
相關(guān)推薦
評論