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