【車聯網系統】基於Python實現的現網全自動化測試方案

前面寫了幾篇基於CANoe實現的仿真測試臺架,屬於半自動化測試方案。現出一個Python實現的車聯網系統全自動化測試方案。php

 

目錄結構

一、-----------------------車聯網系統組成python

二、-----------------------自動化測試方案描述android

三、-----------------------環境安裝與配置git

四、-----------------------代碼實現與部分細節詳解github

 

一、車聯網系統組成

車聯網系統的三大組成部分:api

移動端APPandroid-studio

車內ECU(TBOX,IHU,MMI)服務器

車外雲服務端網絡

二、自動化測試方案描述

在實現車內網絡仿真的基礎上,車聯網系統的全自動化測試解決方案只有一個核心問題待解決,那就是實現業務場景的控制模擬,經過自動化的手段去觸發業務,去判斷業務邏輯執行以及相應的功能點實現的正確性。app

1)、控制手機端APP,實現T業務場景的模擬(經過appium+python可實現, 或uiautomator2)

2)、車內網絡仿真,封裝接口控制第三方硬設仿真車內網絡(CANoe, valueCAN, vehicleSpy, PEAK-CAN)

3)、電源控制,程控電源; USB程控繼電器,關鍵線路電信號模擬(KL15, KL30)

4)、現網服務器(或內網自搭建服務器,自建服務器會較複雜)

5)、旁觀者(轉發服務器,上位機),監測APP, DUT, TSP Server的數據往來,提供給上層腳本判斷依據 (經過MQTT, 數據協議採用proto)

  

注:此處解釋下爲何會把車內網絡仿真實現得如此複雜,首先,封裝的CAN工具是爲手工測試時提供的,沿用了已有輪子。其次,此工具封裝了較多的第三方總線測試設備(valueCAN,vehicleSPY, CANoe, PEAK-CAN),也便於測試環境搭建,兼容性好。

三、環境安裝

 此處略去JDK和Python的安裝配置說明,我選的Py3系列版本

1)、Android SDK安裝

咱們不須要開發App, 只實現自動化控制,僅須要安裝SDK便可。

下載地址:http://tools.android-studio.org/index.php/sdk/

下載成功解壓,配置Android SDK的環境。新建系統環境變量"ANDROID_HOME",配置解壓路徑

打開解壓後的SDK文件夾,點擊SDK Manager.exe,安裝Tools下的Android SDK Platform-tools和Android SDK Build-tools,Android SDK Tools能夠選擇是否更新

配置Path環境變量值,添加 "%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\build-tools\28.0.3",  此處我選擇安裝的28.0.3,請根據本身實際安裝的api版原本改變此值。

檢查配置是否OK, cmd輸入"adb --version",成功以下圖提示

2)、安裝appium

下載路徑:https://github.com/appium/appium-desktop/releases/tag/v1.10.0

儘可能安裝最新版,下一步無腦安裝便可

3)、安裝python第三方包

Appium-Python-Client  (Python關聯Appium),必裝,下面其它包根據需求可選

pytest

HTMLReport (生成報告)

paho-mqtt  (實現MQTT協議)

protobuf  (實習數據交互的google協議)

uiautomator2 (可單獨經過此包控制APP)

xmlrunner (和jekins配合實現報告上傳)

allure2(可和jekins配合實現報告上傳)

 

四、代碼實現

此處略,詳見後面續篇~~~

相關文章
相關標籤/搜索