亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        安卓車機(jī)車控功能自動(dòng)化測試研究

        2024-09-25 00:00:00葉志偉詹燈輝翁華江
        汽車電器 2024年9期

        【摘 要】文章首先分析安卓車機(jī)的車控功能測試的特點(diǎn),繼而提出一種基于Python的自動(dòng)化測試方法。該方法采用數(shù)據(jù)驅(qū)動(dòng)測試的思路,通過調(diào)用Python-can庫、CANTools庫和UiAutomator2庫,實(shí)現(xiàn)CAN信號(hào)與車機(jī)HMI界面的交互測試。該方法靈活性高,簡單易用,可以較大地提高車機(jī)測試的效率。

        【關(guān)鍵詞】自動(dòng)化測試;安卓系統(tǒng);Python;車控功能;數(shù)據(jù)驅(qū)動(dòng)測試

        中圖分類號(hào):U463.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-8639( 2024 )09-0070-02

        Research on Automation Test for Vehicle-control Function of Android Head Unit

        YE Zhiwei,ZHAN Denghui,WENG Huajiang

        (Guangzhou Automobile Group Co.,Ltd.,Automobile Engineering Institute,Guangzhou 511434,China)

        【Abstract】The characteristics of vehicle-control function test for Android head unit is analyzed firstly,then an automation test method based on Python is carried out. Data driven test methodology is adopted,and interaction test for CAN signals and HMI of head unit is achieved by utilizing Python-can library,cantools library and UiAutomator2 library. The method proposed by this article is highly flexible and easy to use,which can highly improve the test efficiency for head units.

        【Key words】automation test;Android system;Python;vehicle-control function;data driven test

        1 引言

        當(dāng)前越來越多的車控功能的開關(guān)集成在車機(jī),使其與車輛周邊節(jié)點(diǎn)的交互越來越多,而這些交互目前大多數(shù)以CAN報(bào)文為載體,因此CAN信號(hào)與車機(jī)HMI之間的交互測試是信息娛樂系統(tǒng)測試的一項(xiàng)重要內(nèi)容。目前基本采用手工點(diǎn)擊屏幕以及模擬發(fā)送CAN信號(hào)來測試,效率較低且較難檢出偶發(fā)問題。

        由于測試安卓車機(jī)的車控功能時(shí),既要進(jìn)行HMI操作(如點(diǎn)擊、滑動(dòng)),又要與CAN總線信號(hào)進(jìn)行交互,因此單純使用CANoe等總線工具或者Appium等UI測試工具都較難滿足完整鏈路的自動(dòng)化測試需求[1]。為解決該問題,本文提出一種基于Python的自動(dòng)化測試方法。

        2 自動(dòng)化測試方案

        本文提出的自動(dòng)化測試方案基于數(shù)據(jù)驅(qū)動(dòng)測試的思路[2],將所有待測車控軟開關(guān)的名稱、收發(fā)報(bào)文、定位方法、判斷方法等信息整理成測試數(shù)據(jù)表。然后使用Python語言編寫腳本,讀取該數(shù)據(jù)表,并且調(diào)用UiAutomator2庫(結(jié)合ADB工具)進(jìn)行HMI操作[3],調(diào)用Python-can庫和CANTools庫進(jìn)行CAN信號(hào)收發(fā),從而實(shí)現(xiàn)完整鏈路的車控功能自動(dòng)化測試。圖1是該方案中自動(dòng)化測試腳本框架,圖2是某款車機(jī)中部分車身附件軟開關(guān)的測試數(shù)據(jù)表。

        圖1所示的自動(dòng)化測試腳本框架中,DBC導(dǎo)入模塊用于加載DBC數(shù)據(jù)庫,便于后續(xù)解析和構(gòu)造報(bào)文;測試用例導(dǎo)入模塊用于讀取測試數(shù)據(jù)表;用例解析模塊逐行讀取測試用例中的內(nèi)容,將其轉(zhuǎn)換成腳本中的變量,以供其他模塊調(diào)用;測試執(zhí)行模塊用來設(shè)定測試參數(shù)(如循環(huán)次數(shù)、間隔時(shí)間等),調(diào)度其他模塊完成報(bào)文數(shù)據(jù)構(gòu)造、收發(fā)報(bào)文、UI操作、數(shù)據(jù)獲取和結(jié)果判斷等整個(gè)測試流程;CANTools庫用于解析DBC數(shù)據(jù)庫,將數(shù)據(jù)庫中所有報(bào)文和信號(hào)都轉(zhuǎn)成腳本中的變量,構(gòu)造出完整的報(bào)文數(shù)據(jù);數(shù)據(jù)獲取模塊用來獲取總線上的數(shù)據(jù);UiAutomator2庫實(shí)現(xiàn)車機(jī)UI元素的操作和分析,如點(diǎn)擊、滑動(dòng)、長按,以及讀取控件狀態(tài)等;Python-can庫則用于調(diào)用CAN工具接口,完成總線初始化和參數(shù)設(shè)定,以及根據(jù)測試需求完成相應(yīng)報(bào)文的收發(fā)。

        3 自動(dòng)化測試腳本開發(fā)

        利用本文提出的方法開發(fā)安卓車機(jī)車控功能自動(dòng)化測試腳本的一般流程如圖3所示。

        首先使用UiAutoma-torviewer工具(Android SDK自帶工具)進(jìn)行UI界面元素解析,獲取要測試的UI元素的控件信息和狀態(tài)信息,如resourceID、description、text、isChec-ked等[4],然后將這些信息填入到測試數(shù)據(jù)表中,以供腳本調(diào)用。

        然后根據(jù)測試需求編寫各個(gè)業(yè)務(wù)模塊的代碼,實(shí)現(xiàn)用例讀取和解析、報(bào)文構(gòu)造、發(fā)送報(bào)文、HMI操作、讀取狀態(tài)信息、結(jié)果輸出等功能。

        圖4是UiAutomator2庫中常用的UI元素定位方法示例代碼。定位設(shè)備中某個(gè)元素的方法非常簡單,只要直接將控件信息作為參數(shù)傳給該設(shè)備即可,如description、text、resourceID、className這些都是可以支持的控件信息。值得注意的是,圖4中的第10行是復(fù)合定位方法,在UiAutomator2中復(fù)合定位采用的是“鏈?zhǔn)健狈椒?,即將多個(gè)定位條件串聯(lián)起來,使用“.”運(yùn)算符連接即可。

        圖5是UiAutomator2庫中常用的UI操作方法示例代碼。如短按、長按、滑動(dòng)屏幕等常規(guī)操作都有API可以直接調(diào)用。

        圖6是針對(duì)“車速上鎖”軟開關(guān)的完整鏈路(模擬點(diǎn)擊軟開關(guān)→接收主機(jī)外發(fā)報(bào)文→模擬車身節(jié)點(diǎn)發(fā)出報(bào)文)的測試腳本示例代碼。通過UiAutomator2庫連接車機(jī)并模擬點(diǎn)擊按鈕,然后通過Python-can庫接收車機(jī)發(fā)出的報(bào)文,然后通過CANTools庫修改信號(hào)數(shù)值,并且構(gòu)造報(bào)文,最后通過Python-can調(diào)用VSPY接口將報(bào)文發(fā)送到總線上。

        上述代碼是針對(duì)單個(gè)車控功能的示例,實(shí)際上需要測試的不止一個(gè)車控功能,因此本文提出的測試方案采取模塊化設(shè)計(jì)腳本,將所有待測點(diǎn)的信息整合到一個(gè)測試數(shù)據(jù)表中,只要讀取和解析數(shù)據(jù)表,調(diào)用腳本中各業(yè)務(wù)模塊即可實(shí)現(xiàn)車機(jī)車控功能的完整鏈路自動(dòng)化測試。

        最后經(jīng)過一系列的測試驗(yàn)證,確認(rèn)其滿足所有測試需求后即可發(fā)布腳本。

        4 總結(jié)

        本文對(duì)安卓車機(jī)車控功能的自動(dòng)化測試進(jìn)行了研究,提出了一種基于Python的自動(dòng)化測試方法。該方法采用了數(shù)據(jù)驅(qū)動(dòng)測試的思路,測試數(shù)據(jù)表中的每一行數(shù)據(jù)即為一條測試用例,因此主程序只要編寫一次,以后就只維護(hù)測試數(shù)據(jù)表即可更新測試用例。由于Python-can庫支持多種CAN工具的調(diào)用,而且基于Python的技術(shù)手段能更好地利用Python自身豐富的生態(tài)[5],以完成過去傳統(tǒng)技術(shù)很難完成的測試任務(wù),例如單純使用CAPL無法實(shí)現(xiàn)安卓車機(jī)的HMI操作。因此本文提出的方法靈活性高,簡單易用,可以較大地提高安卓車機(jī)車控功能測試的效率,還為Python在車機(jī)其他功能的自動(dòng)化測試方法也提供了重要的參考價(jià)值。

        參考文獻(xiàn):

        [1] 翟偉良. IVI自動(dòng)化測試平臺(tái)設(shè)計(jì)與開發(fā)[D]. 濟(jì)南:山東大學(xué),2021.

        [2] 夏克付,章曉勤. 基于Selenium自動(dòng)化測試框架的數(shù)據(jù)驅(qū)動(dòng)技術(shù)研究及應(yīng)用[J]. 齊齊哈爾大學(xué)學(xué)報(bào)(自然科學(xué)版),2019 ,35(6):18-22.

        [3] 徐芳. 移動(dòng)應(yīng)用軟件自動(dòng)化測試技術(shù)初探[J]. 電子技術(shù)與軟件工程,2015(18):63-65.

        [4] 黃建文. 移動(dòng)應(yīng)用自動(dòng)化測試系統(tǒng)的研究與設(shè)計(jì)[D]. 長沙:湖南大學(xué),2017.

        [5] 華劍南. Python 語言在自動(dòng)化測試系統(tǒng)中的應(yīng)用[J]. 電子技術(shù)與軟件工程,2017(8):252-253.

        (編輯 楊凱麟)

        作者簡介 葉志偉(1988—),男,碩士,主要從事汽車電子電器系統(tǒng)測試驗(yàn)證工作。

        国产av剧情久久精品久久| 在线看亚洲十八禁网站| 看全色黄大色黄大片 视频| 国产人妻久久精品二区三区特黄 | 中文字幕视频二区三区| 亚洲一区二区国产一区| 一区二区三区中文字幕| 乱码午夜-极品国产内射| 亚洲一区二区情侣| 中文字幕一区二区黄色| 奇米影视7777久久精品| 免费无码国产v片在线观看| 亚洲AV无码一区二区一二区色戒| 日本免费大片一区二区三区| 亚洲人成网站色7799| 国产精品成人一区二区三区| 久久天天躁狠狠躁夜夜中文字幕 | 亚洲一区二区久久青草| 噜噜噜色97| 精品国产乱码一区二区三区| 亚洲一区二区日韩专区| 狂猛欧美激情性xxxx大豆行情| 国产亚洲日韩在线一区二区三区| 香蕉成人啪国产精品视频综合网| 好爽要高潮了在线观看| 丝袜美腿亚洲第一免费 | 日本精品视频一区二区三区四区| 欧美大肥婆大肥bbbbb| 国产亚洲视频在线观看网址| 精品无码一区二区三区小说| 蜜桃精品视频一二三区| 大地资源网高清在线播放| 无码少妇一区二区浪潮av| 亚洲无码夜夜操| 日韩av在线免费观看不卡| 国内永久福利在线视频图片| 国产成人精品av| 美女极度色诱视频国产免费| 日本av天堂一区二区三区| 久久久精品人妻无码专区不卡| 亚洲阿v天堂网2021|