【车联网系统】基于Python实现的现网全自动化测试方案

前面写了几篇基于CANoe实现的仿真测试台架,属于半自动化测试方案。现出一个Python实现的车联网系统全自动化测试方案。

目录结构

1、-----------------------车联网系统组成

2、-----------------------自动化测试方案描述

3、-----------------------环境安装与配置

4、-----------------------代码实现与部分细节详解

  1、车联网系统组成

车联网系统的三大组成部分:

移动端APP

车内ECU(TBOX,IHU,MMI)

车外云服务端

【车联网系统】基于Python实现的现网全自动化测试方案

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)

【车联网系统】基于Python实现的现网全自动化测试方案

注:此处解释下为什么会把车内网络仿真实现得如此复杂,首先,封装的CAN工具是为手工测试时提供的,沿用了已有***。其次,此工具封装了较多的第三方总线测试设备(valueCAN,vehicleSPY, CANoe, PEAK-CAN),也便于测试环境搭建,兼容性好。

3、环境安装

此处略去JDK和Python的安装配置说明,我选的Py3系列版本

1)、Android SDK安装

我们不需要开发App, 只实现自动化控制,仅需要安装SDK即可。

下载地址:

下载成功解压,配置Android SDK的环境。新建系统环境变量"ANDROID_HOME",配置解压路径

【车联网系统】基于Python实现的现网全自动化测试方案

打开解压后的SDK文件夹,点击SDK Manager.exe,安装Tools下的Android SDK Platform-tools和Android SDK Build-tools,Android SDK Tools可以选择是否更新

【车联网系统】基于Python实现的现网全自动化测试方案

【车联网系统】基于Python实现的现网全自动化测试方案

配置Path环境变量值,添加 "%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\build-tools\28.0.3",  此处我选择安装的28.0.3,请根据自己实际安装的api版本来改变此值。

检查配置是否OK, cmd输入"adb --version",成功如下图提示

【车联网系统】基于Python实现的现网全自动化测试方案

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、代码实现

此处略,详见后面续篇~~~

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgdfsw.html