999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ECU-TEST的ECU診斷工具API接口自動化測試應用

2020-06-04 04:01:00邵金萍
汽車電器 2020年5期
關鍵詞:語言

邵金萍

(濰柴動力股份有限公司,山東 濰坊 261061)

隨著計算機、電子等學科領域在汽車上的廣泛應用,汽車電控系統(tǒng)日益復雜成為必然趨勢,電子模塊的增加導致汽車故障診斷的難度也越來越大。ECU診斷工具在國內得到了迅速發(fā)展和普及。

為確保診斷工具的可靠性,針對其API接口測試的工作凸顯重要性。傳統(tǒng)的手動API接口測試效率低下、覆蓋度低,且品質得不到保證[1]。作者所用ECU診斷工具同時存在項目版本眾多、適配的ECU平臺多樣化、開發(fā)及測試周期短等問題[2]。因此基于Python腳本語言開發(fā)了一套ECU診斷工具的API接口自動調用方法,滿足診斷工具跨ECU平臺的功能和性能測試要求,在人力不足及接口工作量大的情況下,通過合理設計Python腳本和ECU診斷邏輯測試用例更準確高效地完成對診斷工具的開發(fā)測試工作[3-9]。

1 基于.NET框架的API接口命令調用實現

Visual Studio是目前流行的Windows平臺應用程序開發(fā)平臺,其中包含的.NET框架是一個多語言 (C++語言、C#語言、VB語言、J#語言等)組件開發(fā)和執(zhí)行環(huán)境[10]。從層次結構上看,.NET框架包括3個主要組成部分:公共語言運行庫(CLR:Common Language Runtime)、服務框架 (Service Framework)和上層的兩類應用模板——傳統(tǒng)的Windows應用程序模板 (Win Forms)和基于ASP.NET的面向Web的網絡應用程序模板 (Web Forms和Web Service)[11-13]。

公共語言運行庫 (CLR)是一個運行時環(huán)境,提供內存管理、線程管理、代碼執(zhí)行、代碼安全驗證、編譯及其他系統(tǒng)服務。

服務框架位于CLR之上,提供了一套開發(fā)人員希望在標準語言庫中存在的基本類庫,包括集合、輸入/輸出、字符串及數據類。使用這些可重用類型集合,大大提高了開發(fā)效率。

基于.NET框架的API接口命令調用前需提前連接和ECU通信的硬件接口設備,將本文中的ECU診斷工具API命令所在的.dll文件添加到基于Visual Studio 2015 C#Win Forms程序的引用文件集中,運行編寫好的Win Forms程序返回正確的測試結果,以獲取故障碼信息為例,如圖1所示,為下一步Python腳本調用提供依據。

編譯時目標平臺選擇Any CPU是將程序集編譯為在任意平臺上運行,也就是在32位Windows上按照32位運行,在64位Windows上按照64位運行。本文的ECU診斷工具API命令所在的.dll文件為32位,因此勾選了“首選32位 (P)”選項。編譯配置界面如圖2所示。

圖1 基于Visual Studio的API命令編譯運行圖

圖2 編譯配置界面圖

2 Python環(huán)境搭建

Python是一種面向對象的解釋型計算機程序設計語言,其語法更接近自然語言,通俗易懂且具有豐富和強大的庫[10,14-15]。

本文中用到32位的Python3.7.4以及它的兩個庫——pythonnet和tblib。pythonnet庫是python與C#的交互模塊,tblib庫是實現其他程序對Python運行結果可追溯調用的模塊庫。

ECU診斷工具的.dll文件為32位,因此選擇32位的Python軟件。Python3默認采用UTF-8編碼,解決了Python2的默認編碼是ASCII帶來的編程過程中經常遇到編碼報錯問題。

pythonnet庫常用的命令有:

import sys

sys.path.append (r‘…’) #加載dll文件夾路徑;

import clr#導入公共運行時環(huán)境;

clr.AddReference(‘…’)#加載dll文件;

from…import*#導入命名空間;

本ECU診斷工具API命令返回結果中分別將C#的list和datatable數據類型轉換成Python的list和dictionary。以獲取故障碼信息為例,圖3是Python調用dll文件的API命令成功的結果展示。

3 ECU診斷工具調用腳本開發(fā)及調試

ECU-TEST是一款支持多平臺的ECU自動測試軟件,具有二次開發(fā)功能強大、操作簡單等優(yōu)點。其不僅支持dSPACE ControlDeskNG、 ETASLabCar、 NIVeristand、CarSim、 MatLabSimulink、 AVLPUMA、 D2TMorphee等HILMILSIL仿真平臺和臺架,而且支持INCA、CANape、CANoe、CANalyzer等ECU標定診斷工具。要實現對ECU診斷工具API命令的自動測試需要將其返回結果和INCA中的測試結果在ECU-TEST中做比較,三者關系如圖4所示。本章要完成的工作是ECU-TEST對ECU診斷工具的調用。

根據dll文件開發(fā)的Python腳本和包含API命令的dll文件需要同ECU診斷工具運行涉及到的其他dll文件放在同一個文件路徑下。腳本調用流程如圖5所示。

4 ECU診斷工具API接口自動測試用例演示

ECU-TEST調用ECU診斷工具測試調試完成后,連接INCA進行診斷工具功能的自動測試用例設計,以獲取故障碼信息的API命令自動測試為例,說明如圖6所示。

Python根據某個元素讀Excel的腳本屬于測試用例二次開發(fā)內容,腳本實現設計如下所示:

import os

import pandas as pd

def ReadExcelDTCM (FilePath,FileName,SheetName,DFCName):

AbsoluteFilePath=os.path.join (FilePath,FileName)

df=pd.read_excel(AbsoluteFilePath,SheetName,header=0)

圖3 Python調用API命令運行結果圖

圖4 測試工具關系圖

圖5 腳本調用流程圖

DFCRow=''

for indexs in df.index:

for i in range (len (df.loc [indexs] .values)):

if (df.loc [indexs] .values [i] ==DFCName):

print ('RowNo:',indexs+1,'ColumnNo:',i+1)

圖6 API命令自動測試用例流程圖

print (df.loc [indexs] .values [DTCM所在列號])

DFCRow=df.loc [indexs] .values[DTCM所在列號]

return DFCRow

ECU-TEST對上述診斷工具的功能測試進行的測試用例編寫步驟如圖7所示。

5 結論

本論文提供了一種使用Python腳本語言實現了基于.dll文件的API命令調用的解決問題思路,穩(wěn)定實現了對開發(fā)升級中的ECU診斷工具進行接口功能的自動化測試和版本用例移植,提高了測試效率和準確性。

圖7 ECU-TEST自動測試用例編寫圖

猜你喜歡
語言
詩之新,以語言創(chuàng)造為基
中華詩詞(2023年8期)2023-02-06 08:51:28
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
讓語言描寫搖曳多姿
多向度交往對語言磨蝕的補正之道
累積動態(tài)分析下的同聲傳譯語言壓縮
日常語言與播音語言
新聞傳播(2016年10期)2016-09-26 12:15:04
語言技能退化與語言瀕危
我有我語言
論語言的“得體”
語文知識(2014年10期)2014-02-28 22:00:56
Only Words慎用你的語言
主站蜘蛛池模板: 草草影院国产第一页| 国产黄色爱视频| 永久在线精品免费视频观看| 99视频在线精品免费观看6| 毛片一区二区在线看| 99热亚洲精品6码| 国产日韩欧美一区二区三区在线 | 欧美成人一区午夜福利在线| 亚洲欧洲国产成人综合不卡| 国产成人91精品免费网址在线| 国产男人的天堂| 精品国产乱码久久久久久一区二区| www.亚洲色图.com| 高清色本在线www| 亚洲永久色| 精品成人免费自拍视频| 永久免费无码成人网站| 亚洲精品动漫| 国产真实乱子伦精品视手机观看| 福利一区三区| jizz亚洲高清在线观看| 精品国产免费观看一区| 久久精品一卡日本电影| 欧美一级黄片一区2区| 久久国产精品77777| 日韩欧美中文字幕在线精品| 国产精品极品美女自在线看免费一区二区| 波多野结衣爽到高潮漏水大喷| 国产丝袜啪啪| 国产va视频| 免费啪啪网址| 91精品国产自产在线观看| 欧美精品aⅴ在线视频| 久久精品娱乐亚洲领先| 91娇喘视频| 91色在线视频| 国产精品深爱在线| 不卡视频国产| 青草娱乐极品免费视频| 欧美日韩在线亚洲国产人| 亚洲人成网18禁| 亚洲精品午夜无码电影网| 在线观看亚洲人成网站| 国产成人艳妇AA视频在线| 亚洲精品在线影院| 久久夜夜视频| 久久99精品久久久久久不卡| 毛片大全免费观看| 国产成人久久综合一区| 毛片免费在线| 亚洲三级视频在线观看| 2021精品国产自在现线看| 国产精品妖精视频| 久久天天躁狠狠躁夜夜躁| 欧美在线网| 亚洲另类国产欧美一区二区| 91久久夜色精品国产网站| 国产91视频免费| 久综合日韩| 亚洲精品视频网| 日韩av无码DVD| 亚洲区视频在线观看| jizz在线观看| 国产在线自在拍91精品黑人| 国产欧美中文字幕| 国产三级韩国三级理| 狠狠综合久久久久综| 91精品国产91久久久久久三级| 国产精品视频3p| 亚洲最大在线观看| 国产男女XX00免费观看| 亚洲清纯自偷自拍另类专区| 亚洲国产第一区二区香蕉| 成人另类稀缺在线观看| 亚洲中久无码永久在线观看软件| 国产精品yjizz视频网一二区| 永久天堂网Av| 亚洲Va中文字幕久久一区| 国产精品永久不卡免费视频| 成人免费午夜视频| 2021精品国产自在现线看| 亚洲伊人久久精品影院|