前面写了几篇基于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、代码实现

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

【车联网系统】基于Python实现的现网全自动化测试方案的更多相关文章

  1. 基于python的互联网软件测试开发(自动化测试)-全集合

    基于python的互联网软件测试开发(自动化测试)-全集合 1   关键字 为了便于搜索引擎收录本文,特别将本文的关键字给强调一下: python,互联网,自动化测试,测试开发,接口测试,服务测试,a ...

  2. 接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架[V2.0改进版]

    基于python+Testlink+Jenkins实现的接口自动化测试框架[V2.0改进版]   by:授客 QQ:1033553122 由于篇幅问题,,暂且采用网盘分享的形式: 下载地址: [授客] ...

  3. 基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0

    基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0 目录 1. 开发环境2. 主要功能逻辑介绍3. 框架功能简介 4. 数据库的创建 5. 框架模块详细介绍6. Tes ...

  4. 基于Python的WEB接口开发与自动化测试 pdf(内含书签)

    基于Python的WEB接口开发与自动化测试 目录 目 录O V目 录章 Python 学习必知 ................................................... ...

  5. 接口自动化 [授客]基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0

    基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0   by:授客 QQ:1033553122     博客:http://blog.sina.com.cn/ishou ...

  6. 人脸识别系统 —— 基于python的人工智能识别核心

    起因 自打用python+django写了一个点菜系统,就一直沉迷python编程.正好前几天公司boss要我研究一下人脸识别,于是我先用python编写了一个人脸识别系统的核心,用于之后的整个系统. ...

  7. 基于Python爬虫采集天气网实时信息

      相信小伙伴们都知道今冬以来范围最广.持续时间最长.影响最重的一场低温雨雪冰冻天气过程正在进行中.预计,今天安徽.江苏.浙江.湖北.湖南等地有暴雪,局地大暴雪,新增积雪深度4-8厘米,局地可达10- ...

  8. Django视频教程 - 基于Python的Web框架(全13集)

    Django是由Python驱动的开源模型-视图-控制器(MVC)风格的Web应用程序框架,使用Django可以在即可分钟内快速开发一个高品质易维护数据库驱动的应用程序.下面是一大坨关于Django应 ...

  9. 基于python脚本,实现Unity全平台的自动打包

    转载请标明出处:http://www.cnblogs.com/zblade/ 0. 概述 本文主要针对项目中自动打包过程进行调研,实现用python脚本来打出win/android/ios三个平台下的 ...

随机推荐

  1. Oracle——视图

    视图是一种虚表. 视图建立在已有表的基础上, 视图依赖的这些表称为基表. 视图向用户提供基表数据的另一种表现形式 对视图数据的修改会影响到基表中的数据 视图的优点 控制数据访问 简化查询 避免重复访问 ...

  2. 我的ubuntu14.04配置

    完全卸载java(移除所有 Java相关包 (Sun, Oracle, OpenJDK, IcedTea plugins, GIJ)) 转载修改, 原文见:http://blog.csdn.net/s ...

  3. 免秘钥oracel官方下载jdk

    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-co ...

  4. Demo—标题左右两侧的对等横线

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. iPhone Development – core data relationships tutorial part 1

    I’m going to start a short series on Core Data relationships and maybe throw in some general Core Da ...

  6. 编写高质量代码改善C#程序的157个建议——建议105:使用私有构造函数强化单例

    建议105:使用私有构造函数强化单例 单例指一个类型只生成一个实例对象.单例的一个简单实现如下所示: static void Main(string[] args) { Singleton.Insta ...

  7. 洛谷P4172 [WC2006]水管局长(lct求动态最小生成树)

    SC省MY市有着庞大的地下水管网络,嘟嘟是MY市的水管局长(就是管水管的啦),嘟嘟作为水管局长的工作就是:每天供水公司可能要将一定量的水从x处送往y处,嘟嘟需要为供水公司找到一条从A至B的水管的路径, ...

  8. MongoDB整理笔记のReplica Sets + Sharding

    MongoDB Auto-Sharding 解决了海量存储和动态扩容的问题,但离实际生产环境所需的高可靠.高可用还有些距离,所以有了"Replica Sets + Sharding" ...

  9. [安裝] Ubuntu Server 初试

    在 Delphi 10.2 Tokyo 版里将支持 Linux 系统,先做一下学习记录: 安装 Ubuntu Server: 安装方法请参考官方教学影片: https://community.emba ...

  10. Android-广播概念

    Android中的消息机制 1.Handler+Message消息机制,是用于子线程与主线程的通讯: 2.广播+广播接收者也是消息机制,是重量级别的,四大组件之一,需要激活组件,是用于组件和组件之间通 ...