一种蓝牙数字钥匙的自动化测试方法技术

技术编号:32637288 阅读:28 留言:0更新日期:2022-03-12 18:12
本发明专利技术提供了一种蓝牙数字钥匙的自动化测试方法,应用于自动化测试系统,所述自动化测试系统包括:测试电脑、通过USB线与测试电脑连接的移动设备和CAN分析仪设备、待测车辆;所述测试电脑中安装有Python解释器和Appium软件;测试电脑中的自动化程序利用Appium Server给移动设备发送控制命令,使移动设备自动执行指令向测试车辆发出命令,测试车辆按照其命令执行动作后反馈执行结果,自动化程序通过CAN分析仪设备捕捉信号来断言自动化测试是否成功。否成功。否成功。

【技术实现步骤摘要】
一种蓝牙数字钥匙的自动化测试方法


[0001]本专利技术涉及蓝牙数字钥匙的移动终端自动化测试,具体涉及一种蓝牙数字钥匙的自动化测试方法。

技术介绍

[0002]在蓝牙数字钥匙的台架测试中,目前采用的是人工测试,一般要通过测试人员使用手机上的特定App,选择APP中的钥匙功能解/闭锁车辆,进而进行蓝牙钥匙连接性和响应性能的验证。在测试过程中,经常需要进行多次打开/关闭APP、重复性点击滑动等测试操作,并且至少需要适配十几款手机,人工测试耗时久,且人工在长时间重复性测试中容易出现懈怠和疲倦,产生精神疲劳从而导致测试结果偏差或不准确。在现有的汽车软件开发生命周期中,对软件更新的频率、及新软件发布的速度有了更高的要求,继续执行人工测试必然需要投入更多的人员和时间精力。为了减少重复性、繁琐性的测试工作,解放测试人员,使有限的人力资源可以充分利用,开发蓝牙数字钥匙的自动化测试系统和方法显得愈加重要。

技术实现思路

[0003]本专利技术的目的是为了解决上述问题,提供了一种基于Pytest+Appium测试框架的蓝牙数字钥匙的自动测试方法。
[0004]本专利技术的技术方案为:本专利技术提供了一种蓝牙数字钥匙的自动化测试方法,应用于自动化测试系统,所述自动化测试系统包括:测试电脑、通过USB线与测试电脑连接的移动设备和CAN分析仪设备USBCAN

II、待测车辆;所述测试电脑中安装有Python解释器和Appium软件,所述方法包括:测试人员在测试电脑中使用Python解释器运行自动化程序,自动化程序向Appium软件的Appium Server发送包含测试内容的测试指令,Appium Server将测试指令转换为adb指令,并将adb指令发送给移动设备上安装的自动化代理程序;自动化代理程序基于所接收到的adb指令模拟人工自动执行UI界面操作,再组包控制命令报文并将其控制命令报文通过蓝牙通讯发送给待测车辆;且向Appium Server反馈指令响应结果,自动化程序基于Appium Server转发的指令响应结果控制CAN分析仪设备USBCAN

II对待测车辆进行CAN信号捕捉;待测车辆的蓝牙射频接收控制器对控制命令报文通过数据正确性校验后,发送特定数据域的0x2CA报文给待测车辆的网关控制器并经其转发给待测车辆的车身控制器;待测车辆的车身控制器基于所接收到的0x2CA报文执行相应动作后,反馈执行结果;自动化程序若确定CAN分析仪设备USBCAN

II在预设时间内捕捉到的CAN信号与其发出的测试内容一致,则断言蓝牙数字钥匙自动化测试成功;反之,则断言蓝牙数字钥匙自
动化测试失败。
[0005]优选地,若自动化程序发送给Appium Server的测试指令中所携带的测试内容为解锁,则车身控制器反馈的执行结果为byte2=0x1的0x2CA报文;若自动化程序发送给Appium Server的测试指令中所携带的测试内容为闭锁,则车身控制器反馈的执行结果为byte2=0x2的0x2CA报文。
[0006]本专利技术的有益效果为:测试电脑中的自动化程序利用Appium Server给移动设备发送控制命令,使移动设备自动执行指令向测试车辆发出命令,测试车辆按照其命令执行动作后反馈执行结果,自动化程序通过CAN分析仪设备捕捉信号来断言自动化测试是否成功,实现对蓝牙数字钥匙的自动化测试。
附图说明
[0007]图1是该自动化测试系统的系统框图。
具体实施方式
[0008]下面结合附图详细说明本专利技术的实施例。
[0009]如图1,本实施例提供了一种自动化测试系统,见图1,包括:测试电脑(1)、移动设备(2)、CAN分析仪设备USBCAN

II(3)、待测车辆,待测车辆上配置有蓝牙射频接收控制器(4)、网关控制器(5)、车身控制器(6)。
[0010]其中,测试电脑(1)上安装有Python解释器和Appium软件,基于Pytest+Appium测试框架编写自动化脚本代码,编写思路步骤如下:步骤1,元素的获取与管理;步骤2,业务封装;步骤3,测试用例编写。
[0011]步骤1,元素获取方法通过uiautomateviewer工具解析移动设备(2)前端XML文件中元素的特征(id、accessibility id、class、xpath),根据元素特征使用webdriver库函数定位元素。元素管理是指通过YMAL语言编写所需元素列表信息的配置文件,配置内容包含name、by、value三类。
[0012]步骤2,调用方法库中的系统操作、APP操作实现业务功能点,供用例编写时进行调用,封装方法包括如下:封装Devices连接的函数,形成自定义库,函数功能包括获取与测试电脑(1)已连接的Devices列表、连接指定Device、驱动指定Device等;封装Device操作的公用方法,形成自定义库,公用方法包括界面滑动、界面按键、界面返回、界面截屏、界面录频、元素对象获取、元素对象的点击操作、文本输入操作、坐标点按操作等。
[0013]封装APP功能的函数,形成自定义库,函数功能包括打开APP、关闭APP、启用蓝牙、停用蓝牙、APP解锁、APP闭锁等。
[0014]步骤3,根据测试用例,基于Pytest测试框架编写自动化测试脚本代码并管理:调用步骤2封装的业务功能点方法,完成特定的测试步骤;try

except

方法捕获和处理异
常;断言;生成测试报告等。
[0015]本专利技术基于上述的自动化测试系统,提供了一种基于Pytest+Appium的蓝牙数字钥匙的自动测试方法,该方法包括:测试人员在测试电脑1中运行Python解释器中的自动化程序,基于http请求发送测试指令给Appium Server;Appium Server解析测试指令,并将解析的测试指令转换成adb指令,再基于http协议将adb指令给移动设备2上的自动化代理程序。
[0016]移动设备2根据收到的所述adb指令,模拟人工执行系统或UI界面操作,并返回指令响应结果给Appium Server。这样,原来需要人工进行的测试动作,脚本代码可以实现自动模拟在界面上进行,界面滑动、界面返回、界面点击、文字输入等,如此在后续测试时,就不需要测试人员手动操作手机即可实现自动测试,从而解放测试人员,使有限的人力资源可以充分利用。
[0017]Appium Server转发指令响应结果给Python解释器中的自动化程序,Python解释器中的自动化程序了解到本操作成功后,继续后续的自动化流程。
[0018]Python解释器中的自动化程序驱动CAN分析仪设备USBCAN

II3监控CAN总线信号;在移动设备2的APP模拟点击APP“解锁”、“闭锁”图标操作时,APP通过蓝牙通讯发送控制命令密文给蓝牙射频接收控制器4,蓝牙射频接收控制器4、网关控制器5、车身控本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种蓝牙数字钥匙的自动化测试方法,应用于自动化测试系统,其特征在于,所述自动化测试系统包括:测试电脑(1)、通过USB线与测试电脑(1)连接的移动设备(2)和CAN分析仪设备USBCAN

II(3)、待测车辆;所述测试电脑(1)中安装有Python解释器和Appium软件,所述方法包括:测试人员在测试电脑中使用Python解释器运行自动化程序,自动化程序向Appium软件的ppium Server发送包含测试内容的测试指令,Appium Server将测试指令转换为adb指令,并将adb指令发送给移动设备上安装的自动化代理程序;自动化代理程序基于所接收到的adb指令模拟人工自动执行UI界面操作,再组包控制命令报文并将其控制命令报文通过蓝牙通讯发送给待测车辆;且向Appium Server反馈指令响应结果,自动化程序基于Appium Server转发的指令响应结果控制CAN分析仪设备USBCAN

...

【专利技术属性】
技术研发人员:赵志祥宋俊男谢春燕郭建忠张广庆
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1