自动化测试方法及设备技术

技术编号:33137368 阅读:54 留言:0更新日期:2022-04-22 13:45
本申请涉及数据处理技术领域,公开了一种自动化测试方法及设备,支持用例级模拟系统事件,同时解决了用例覆盖率低和测试场景受限的问题。该方法包括:测试终端与被测设备建立连接;安装测试应用到该被测设备,该测试应用包含若干测试用例;该测试应用依次执行测试用例,当执行到依赖系统事件的测试用例时,向该测试终端发送模拟该系统事件的请求;响应于该请求,该测试终端向该被测设备发送对应该系统事件的模拟操作接口以模拟系统事件,并返回模拟结果到该测试应用;该测试应用根据该模拟结果执行该依赖系统事件的测试用例,返回执行结果至该测试终端。果至该测试终端。果至该测试终端。

【技术实现步骤摘要】
自动化测试方法及设备


[0001]本申请涉及数据处理
,特别涉及自动化测试技术。

技术介绍

[0002]安卓设备(例如手机、支付装置、电视机、平板电脑等)在出厂之前或者安卓应用在新版上线前,均需要对其进行测试。现有自动化测试方法主要有两种:(1)基于Android平台原生自动化测试框架,如instrumentation、uiautomator等进行测试;(2)基于录制或编写自动化测试脚本进行测试。
[0003]但是现有的两种测试方法无法满足现有测试需求,其中基于Android平台原生自动化测试框架无法模拟系统事件,在进行自动化系统测试时存在用例覆盖率低的问题,而基于录制或编写自动化测试脚本的方法虽能达到模拟系统事件的目的,但适用场景有限,多适用于系统测试,不适用于集成测试和单元测试。

技术实现思路

[0004]本申请的目的在于提供一种自动化测试方法及设备,支持用例级模拟系统事件,解决了用例覆盖率低和测试场景受限的问题。
[0005]本申请公开了一种自动化测试方法,包括:
[0006]测试终端与被测设备建立连接;
[0007]安装测试应用到所述被测设备,所述测试应用包含若干测试用例;
[0008]所述测试应用依次执行测试用例,当执行到依赖系统事件的测试用例时,向所述测试终端发送模拟该系统事件的请求;
[0009]响应于所述请求,所述测试终端向所述被测设备发送对应该系统事件的模拟操作接口以模拟系统事件,并返回模拟结果到所述测试应用;
[0010]所述测试应用根据所述模拟结果执行该依赖系统事件的测试用例,返回执行结果至所述测试终端。
[0011]在一个优选例中,所述系统事件包括关闭除USB共享网络以外的任一或任多种网络开关;
[0012]所述测试终端与被测设备建立连接,进一步包括:
[0013]所述测试终端与所述被测设备建立USB共享网络连接。
[0014]在一个优选例中,所述若干测试用例的被测体包括以下的一种或多种:
[0015]整个系统、模块间的集成和调用关系、模块内部的程序。
[0016]在一个优选例中,所述系统事件还包括以下的一者或多者:
[0017]关闭流量开关、关闭蓝牙开关、关闭位置服务开关、增加被测应用权限、减少被测应用权限。
[0018]在一个优选例中,所述被测设备为安卓设备,所述模拟操作接口为adb命令。
[0019]在一个优选例中,所述测试终端与所述被测设备建立USB共享网络连接时,还包
括:
[0020]所述测试终端启动Http Server;
[0021]所述测试应用依次执行测试用例,当执行到依赖系统事件的测试用例时,向所述测试终端发送模拟该系统事件的请求,进一步包括:
[0022]所述测试应用依次执行测试用例,当执行到依赖系统事件的测试用例时,向所述Http Server发送包含该系统事件参数的Http请求;
[0023]所述响应于所述请求,所述测试终端向所述被测设备发送对应该系统事件的模拟操作接口以模拟系统事件,并返回模拟结果到所述测试应用,进一步包括:
[0024]响应于所述Http请求,通过所述Http Server解析所述Http请求,查找该Http请求中系统事件参数对应的adb命令,向所述安卓设备发送该adb命令模拟系统事件并获取模拟结果,通过Http响应将该模拟结果返回给所述测试应用。
[0025]在一个优选例中,所述测试终端与被测设备建立连接进一步包括:
[0026]所述测试终端使用adb forward命令启动所述测试终端的第一端口与所述安卓设备的第二端口的转发功能;
[0027]所述测试终端启动socket客户端连接所述第一端口,所述安卓设备启动socket服务端监听所述第二端口;
[0028]所述测试应用依次执行测试用例,当执行到依赖系统事件的测试用例时,向所述测试终端发送模拟该系统事件的请求,进一步包括:
[0029]所述测试应用通过所述socket服务端向所述socket客户端发送包含该系统事件参数的报文;
[0030]所述响应于所述请求,所述测试终端向所述被测设备发送对应该系统事件的模拟操作接口以模拟系统事件,并返回模拟结果到所述测试应用,进一步包括:
[0031]通过所述socket客户端解析所述报文,查找该报文中系统事件参数对应的adb命令,向所述安卓设备发送该adb命令模拟系统事件,并获取模拟结果,将该模拟结果返回给所述socket服务端;
[0032]所述socket服务端将所述模拟系统事件的结果转发给所述测试应用。
[0033]在一个优选例中,所述测试应用根据所述模拟结果执行该依赖系统事件的测试用例,返回执行结果至所述测试终端,进一步包括:
[0034]若所述模拟结果为“成功”,则所述测试应用执行该依赖系统事件的测试用例,否则判定该依赖系统事件的测试用例执行失败;
[0035]所述测试应用将所述模拟结果和测试用例的执行结果返回给所述测试终端。
[0036]本申请还公开了一种自动化测试设备包括:
[0037]通信模块,用于与被测设备建立连接,安装测试应用到所述被测设备,所述测试应用包含若干测试用例,其中,所述测试应用被配置为被安装到所述被测设备后,依次执行测试用例,当执行到依赖系统事件的测试用例时,向所述自动化测试设备发送模拟该系统事件的请求;
[0038]模拟操作模块,用于响应于所述请求,向所述被测设备发送对应该系统事件的模拟操作接口以模拟系统事件,并返回模拟结果到所述测试应用,其中,所述测试应用还被配置为根据所述模拟结果执行该依赖系统事件的测试用例,返回执行结果至所述自动化测试
设备。
[0039]在一个优选例中,所述系统事件包括关闭除USB共享网络以外的任一或任多种网络开关,所述通信模块还用于与所述被测设备建立USB共享网络连接。
[0040]在一个优选例中,所述若干测试用例的被测体包括以下的一种或多种:
[0041]整个系统、模块间的集成和调用关系、模块内部的程序。
[0042]在一个优选例中,所述系统事件还包括以下的一者或多者:
[0043]关闭流量开关、关闭蓝牙开关、关闭位置服务开关、增加被测应用权限、减少被测应用权限。
[0044]在一个优选例中,所述被测设备为安卓设备,所述模拟操作接口为adb命令。
[0045]在一个优选例中,所述通信模块还用于启动Http Server;
[0046]所述测试应用还被配置为依次执行测试用例,当执行到依赖系统事件的测试用例时,向所述Http Server发送包含该系统事件参数的Http请求;
[0047]所述模拟操作模块还用于响应于所述Http请求,通过所述Http Server解析所述Http请求,查找该Http请求中系统事件参数对应的adb命令,向所述安卓设备本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动化测试方法,其特征在于,包括:测试终端与被测设备建立连接;安装测试应用到所述被测设备,所述测试应用包含若干测试用例;所述测试应用依次执行测试用例,当执行到依赖系统事件的测试用例时,向所述测试终端发送模拟该系统事件的请求;响应于所述请求,所述测试终端向所述被测设备发送对应该系统事件的模拟操作接口以模拟系统事件,并返回模拟结果到所述测试应用;所述测试应用根据所述模拟结果执行该依赖系统事件的测试用例,返回执行结果至所述测试终端。2.如权利要求1所述的自动化测试方法,其特征在于,所述系统事件包括关闭除USB共享网络以外的任一或任多种网络开关;所述测试终端与被测设备建立连接,进一步包括:所述测试终端与所述被测设备建立USB共享网络连接。3.如权利要求1或2所述的自动化测试方法,其特征在于,所述若干测试用例的被测体包括以下的一种或多种:整个系统、模块间的集成和调用关系、模块内部的程序。4.如权利要求3所述的自动化测试方法,其特征在于,所述系统事件还包括以下的一者或多者:关闭流量开关、关闭蓝牙开关、关闭位置服务开关、增加被测应用权限、减少被测应用权限。5.如权利要求1或2所述的自动化测试方法,其特征在于,所述被测设备为安卓设备,所述模拟操作接口为adb命令。6.如权利要求5所述的自动化测试方法,其特征在于,所述测试终端与所述被测设备建立USB共享网络连接时,还包括:所述测试终端启动Http Server;所述测试应用依次执行测试用例,当执行到依赖系统事件的测试用例时,向所述测试终端发送模拟该系统事件的请求,进一步包括:所述测试应用依次执行测试用例,当执行到依赖系统事件的测试用例时,向所述Http Server发送包含该系统事件参数的Http请求;所述响应于所述请求,所述测试终端向所述被测设备发送对应该系统事件的模拟操作接口以模拟系统事件,并返回模拟结果到所述测试应用,进一步包括:响应于所述Http请求,通过所述Http Server解析所述Http请求,查找该Http请求中系统事件参数对应的adb命令,向所述安卓设备发送该adb命令模拟系统事件并获取模拟结果,通过Http响应将该模拟结果返回给所述测试应用。7.如权利要求5所述的自动化测试方法,其特征在于,所述测试终端与被测设备建立连接进一步包括:所述测试终端使用adb forward命令启动所述测试终端的第一端口与所述安卓设备的第二端口的转发功能;所述测试终端启动socket客户端连接所述第一端口,所述安卓设备启动socket服务端
监听所述第二端口;所述测试应用依次执行测试用例,当执行到依赖系统事件的测试用例时,向所述测试终端发送模拟该系统事件的请求,进一步包括:所述测试应用通过所述socket服务端向所述socket客户端发送包含该系统事件参数的报文;所述响应于所述请求,所述测试终端向所述被测设备发送对应该系统事件的模拟操作接口以模拟系统事件,并返回模拟结果到所述测试应用,进一步包括:通过所述socket客户端解析所述报文,查找该报文中系统事件参数对应的adb命令,向所述安卓设备发送该adb命令模拟系统事件,并获取模拟结果,将该模拟结果返回给所述socket服务端;所述socket服务端将所述模拟系统事件的结果转发给所述测试应用。8.如权利要求1所述的自动化测试方法,其特征在于,所述测试应用根据所述模拟结果执行该依赖系统事件的测试用例,...

【专利技术属性】
技术研发人员:米杨
申请(专利权)人:千寻位置网络有限公司
类型:发明
国别省市:

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

1