專利名稱:一種基于Python腳本的汽車電子測試平臺的制作方法
技術領域:
本發明涉及一種電子測試技術,具體涉及一種汽車電子測試技術。
背景技術:
汽車電子產品具有輸入,輸出信號種類繁多的特點,并且產品的軟件邏輯復雜,對實時性,可靠性要求非常高。汽車電子測試平臺是對汽車電子產品進行綜合測試的軟硬件綜合系統,用于產品開發階段的自動回歸測試,從而發現產品軟硬件缺陷。汽車電子測試平臺在產品開發過程中擔當重要角色,具有重大意義。優秀的汽車電子測試平臺至少需要具備如下特點1.能夠方便,快捷地控制多種外部測試設備,如各種數字量、模擬量采集設備,無線射頻信號收發設備,CAN, LIN, MOST, FLEXRAY等總線模擬設備,和示波器,電源,任意波形發生器等。2.能夠可以方便、快捷地開發測試用例,進行測試用例的自動執行,并且能夠產生測試報告。3.具有軟件模塊化的特點,可以方便地集成新的測試設備驅動。4.系統具有很高的可靠性。傳統的汽車電子測試平臺一般使用LABVIEW、C++、VB、C#等語言作為汽車電子測試平臺的軟件語言,來進行測試驅動的開發和測試腳本的撰寫語言,然后經過編譯由操作軟件運行時負責執行。但是由于以上這些語言本身開發,調試比較困難,所以基于這些語言的測試平臺一般擴展困難,測試用例開發很不方便,執行需要編譯,效率低下。
發明內容
本發明針對現有汽車電子測試平臺所存在的問題,而提供一種基于Python腳本的汽車電子測試平臺。該平臺能夠克服現有技術所存在的缺點,對汽車電子產品實現高效,快捷的測試。為了達到上述目的,本發明采用如下的技術方案:一種基于Python腳本的汽車電子測試平臺,所述測試平臺采用Python腳本進行控制。在本發明的優選實例中,所述測試平臺包括:若干測試設備驅動模塊,所述測試設備驅動模塊使用Python中相關庫來封裝待測試產品的DLL驅動或利用VISA進行設備控制,從而為上層測試框架提供基于Python的硬件驅動接口;測試庫,所述測試庫為RoboFramework測試庫,將測試設備驅動模塊提供的基于Python的硬件驅動接口的測試設備驅動程序進行步封裝,形成可以被測試框架識別的測試關鍵字;
測試腳本,所述測試腳本基于測試庫中形成的關鍵字驅動來建立形成;測試框架,所述測試框架為基于python的RobotFramework測試框架,所述測試框架解析測試腳本內容,根據解析出的測試腳本中關鍵字內容識別出測試庫中封裝形成的測試關鍵字,再根據該測試關鍵字對應的測試設備驅動程序來驅動控制待測試產品;所述測試框架運行測試腳本,根據測試腳本的內容控制待測試產品完成測試操作。進一步的,所述測試框架記錄整個測試過程,并形成形成日志文件,將測試結果記錄形成XML格式的報告。根據上述方案形成的汽車電子測試平臺具有以下有益的效果:1.測試產品驅動的封裝十分簡單,利用python的ctype庫可以對一般設備提供的DLL進行封裝,如果是VISA設備,python具有的pyvisa庫可以簡單的實現設備控制。2.測試框架也是基于python的RobotFramework,該框架具有入門簡單,系統穩定,實時性好的特點。3.測試腳本的開發及其簡單,與傳統的測試平臺比較,效率提高至少30%以上,這是由于其基于關鍵字驅動的特點,即無需了解任何編程語言,只需基于測試框架中形成的關鍵字即可。4.開發測試腳本的格式多樣,可以用TXT文件格式,也可以用EXCEL格式文件,并且測試腳本無需編譯,開發,執行效率高。5.系統可以產生非常精美的測試報告,測試系統日志。測試報告采用XML格式,通過XLST可以產生多種格式,如html, pdf, word等。相比一般的測試報告,更為靈活,易于理解。
以下結合附圖和具體實施方式
來進一步說明本發明。
圖1為本發明原理框圖。
具體實施例方式為了使本發明實現的技術手段、創作特征、達成目的與功效易于明白了解,下面結合具體圖示,進一步闡述本發明。參見圖1,其所示為本發明提供的基于Python腳本的汽車電子測試平臺。由圖可知,本測試平臺100主要包括測試設備驅動模塊101、測試庫102、測試框架103以及測試腳本104這四個部分。平臺中的測試設備驅動模塊101提供相應的待測試產品200的驅動程序,其使用Python中相關庫來封裝待測試產品的DLL驅動;如果是VISA設備,利用VISA進行設備控制,從而為上層測試框架提供基于Python的硬件驅動接口。在具體實施時,該模塊利用Python的pyVisa、pySerial、ctyp等庫,針對不同的測試產品(設備)200開發對應的驅動程序。針對汽車電子產品一般需要開發以下設備驅動程序: 1.CANCaseXL驅動:使用ctype封裝CANCaseXL提供的DLL的驅動,從而控制CAN, LIN等汽車電子常用的總線;
2.任意波形發生器驅動:使用pyVisa進行任意波形發生器的訪問;3.可編程電源驅動:使用pyVisa進行控制可編程電源;4.模擬量、數字量輸入輸出板卡:使用ctype封裝dll格式驅動;5.無線信號發生器和射頻信號解析器:使用pyVisa進行控制;6.繼電器矩陣板卡:使用ctype封裝dll格式驅動;7.可編程萬用表:使用pyVisa進行控制8.通用串口設備:使用pySerial進行串口控制。平臺中的測試庫102為RoboFramework測試庫,針對上層的測試框架,形成相應的測試關鍵字。其與測試設備驅動模塊數據相接,將測試設備驅動模塊提供的基于Python的硬件驅動接口的測試設備驅動程序進行步封裝,形成可以被測試框架識別的測試關鍵字。對于該測試關鍵字可通過Python語言來實現的。平臺中的測試框架103米用RobotFramework測試框架,由于RobotFramework是開源的測試框架,可以對此框架進行特定的裁減,使其更加適應于汽車電子產品的測試。此測試框架103將為測試腳本104提供運行環境,它調度和控制測試腳本運行,根據測試腳本的內容形成對應的測試產品測試操作;同時測試框架103通過測試庫102中封裝的測試設備程序來控制具體的測試產品,從而進行激勵待測產品,根據測試腳本所形成的測試操作完成待測產品的測試和測量。對于測試運行中的所有過程,該測試框架103將進行記錄,形成日志文件,測試結果將會被記錄形成XML格式的報告。該報告可使用XLST進行格式轉換形成html、pdf、word等格式的報表。平臺中的測試腳本104基于測試庫中形成的關鍵字驅動來開發形成。其采用關鍵字驅動的方法,可提供TXT、Excel等多種測試腳本的格式。該測試腳本無需編譯,開發,執行效率高。測試腳本104中定義了測試的步驟,通過條件,測試數據,變量等,并且測試腳本中的語句會被測試框架103所解析,并且由框架來運行。由此形成的測試平臺在進行汽車電子產品測試時,將待測試產品200與測試設備驅動模塊101提供的硬件驅動接口數據相接。測試設備驅動模塊101針對所需待測產品200開發形成相應的測試設備驅動程序,從而為上層測試框架提供基于Python的硬件驅動接口。此時,RoboFramework測試庫將測試設備驅動模塊提供的基于Python的硬件驅動接口的測試設備驅動程序進行步封裝,形成可以被測試框架識別的測試關鍵字。同時,基于測試庫中形成的關鍵字驅動來開發形成符合測試要求(如測試的步驟,通過條件,測試數據,變量等)的測試腳本。在完成測試腳本后,測試框架將調度和控制測試腳本運行,對待測產品完成測試。具體的,測試框架解析調取的測試腳本的內容,從而解析出相應的關鍵字,根據解析出的測試腳本中關鍵字內容識別出測試庫中封裝形成的測試關鍵字,再根據該測試關鍵字對應的測試設備驅動程序來驅動控制待測試產品。該測試框架再運行測試腳本,根據測試腳本的內容形成相應的測試操作,利用這些測試操作控制待測試產品完成相應的測試過程。整個平臺從下至上均采用Python腳本進行控制,具有比一般測試平臺更為優良特性,是一種十分適合汽車電子產品的測試平臺方案。
以上顯示和描述了本發明的基本原理、主要特征和本發明的優點。本行業的技術人員應該了解,本發明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發明的原理,在不脫離本發明精神和范圍的前提下,本發明還會有各種變化和改進,這些變化和改進都落入要求保護的本發明范圍內。本發明要求保護范圍由所附的權利要求書及其等效物界定。
權利要求
1.一種基于Python腳本的汽車電子測試平臺,其特征在于,所述測試平臺采用Python腳本進行控制。
2.根據權利要求1所述的一種基于Python腳本的汽車電子測試平臺,其特征在于,所述測試平臺包括: 若干測試設備驅動模塊,所述測試設備驅動模塊使用Python中相關庫來封裝待測試產品的DLL驅動或利用VISA進行設備控制,從而為上層測試框架提供基于Python的硬件驅動接口 ; 測試庫,所述測試庫為RoboFramework測試庫,將測試設備驅動模塊提供的基于Python的硬件驅動接口的測試設備驅動程序進行步封裝,形成可以被測試框架識別的測試關鍵字; 測試腳本,所述測試腳本基于測試庫中形成的關鍵字驅動來建立形成; 測試框架,所述測試框架為基于python的RobotFramework測試框架,所述測試框架解析測試腳本內容,根據解析出的測試腳本中關鍵字內容識別出測試庫中封裝形成的測試關鍵字,再根據該測試關鍵字對應的測試設備驅動程序來驅動控制待測試產品;所述測試框架運行測試腳本,根據測試腳本的內容控制待測試產品完成測試操作。
3.根據權利要求2所述的一種基于Python腳本的汽車電子測試平臺,其特征在于,所述測試框架記錄整個測試過程,并形成形成日志文件,將測試結果記錄形成XML格式的報生口 ο
全文摘要
本發明公開了一種基于Python腳本的汽車電子測試平臺,該測試平臺從下到上都采用Python腳本進行控制。具有比一般測試平臺更為優良特性,是一種十分適合汽車電子產品的測試平臺方案。
文檔編號G01R31/00GK103207338SQ20131014881
公開日2013年7月17日 申請日期2013年4月25日 優先權日2013年4月25日
發明者徐峰, 汪宏杰 申請人:上海納恩汽車技術有限公司