前面寫了幾篇基於CANoe實現的仿真測試台架,屬於半自動化測試方案。現出一個Python實現的車聯網系統全自動化測試方案。
目錄結構
1、-----------------------車聯網系統組成
2、-----------------------自動化測試方案描述
3、-----------------------環境安裝與配置
4、-----------------------代碼實現與部分細節詳解
1、車聯網系統組成
車聯網系統的三大組成部分:
移動端APP
車內ECU(TBOX,IHU,MMI)
車外雲服務端
2、自動化測試方案描述
在實現車內網絡仿真的基礎上,車聯網系統的全自動化測試解決方案只有一個核心問題待解決,那就是實現業務場景的控制模擬,通過自動化的手段去觸發業務,去判斷業務邏輯執行以及相應的功能點實現的正確性。
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),也便於測試環境搭建,兼容性好。
3、環境安裝
此處略去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配合實現報告上傳)
4、代碼實現
此處略,詳見后面續篇~~~