用于关键字驱动测试的对象库的更新方法及系统的制作方法_3

文档序号:9750725阅读:来源:国知局
方法,例如当OnCl ick或OnScrol I事件发生时,捕捉当前测试应用操作界面的视图对象的信息。例如,当我们在测试应用执行时点击某一个按钮的时候,我们就能劫持到这个行为,并且拿到按钮对象的属性信息,如类名,位置等。
[0072]步骤S130,对所述视图对象的信息进行结构分析,确定视图对象的属性数组;
[0073]视图的对象信息是有层级关系的,在一个大的软件应用里,获得一个视图的属性时,并不能全局的唯一识别,所以在获得视图对象的属性信息时,需要用到视图的父子(层级)关系,对其进行一定的结构优化,以便存储成关键字自动化时能够识别的格式。图2示出了视图对象的属性数组的存储格式,其中视图对象的属性数组记录了视图对象的类、类的属性信息,类的位置以及类之间的层级关系,同时把视图对象的属性值例如resource-1d,claSS,teXt等统一做一个截图,以明确提取的操作对象的元素识别后的样子,同时保留一个空位,用于操作完成后对其进行二次编辑,二次编辑把程序名称可以取一个别名,执行的时候可以直接写别名了。比如“一键加速”,测试用例里面就是一个按钮“一键加速”,这样就实现了一个普通测试人员可以复写的自动化脚本了。
[0074]步骤S140,将视图对象的属性数组同步至数据服务器;
[0075]生成能够唯一辨识的视图对象的属性数组后,将其发送至数据服务器端。
[0076]在本实施例中,数据库服务器布置在PC机上,所述移动终端与所述数据库服务器通过无线连接进行通讯。更为具体地说,通过无线WIFI网络通讯协议形式。通过wif i连接理论上可发挥PC机的最大性能来驱动自动化测试手机的数量,实现多种型号的移动终端同时执行测试,有效提高了测试效率。
[0077]计算设备(pc)与移动设备要连接时,计算设备首先会发送连接请求给服务器。月艮务器布置在所述计算设备,例如PC机上。其中,所述连接请求中包括设备标识和请求连接的移动设备的终端数据。所述设备标识用于标识一个计算设备,如,计算设备的IP地址,网卡地址和MID值等。其中,MID(Mobile Internet Device,移动互联网设备)值是通过硬件的编号计算出的唯一的特征值。所述终端数据是移动设备的相关数据,如移动设备的名称,移动设备的国际移动设备身份码(Internat1nal Mobile Equipment Identity,IMEI),移动设备的型号等,此外,若移动设备是手机,则对应的终端数据还可以包括该手机的手机号码。其中,所述IMEI可以唯一标识一个移动设备。
[0078]则服务器对应可以接收到所述连接请求,从所述连接请求中可以获取所述计算设备的设备标识,从而确定要连接的计算设备,并且获取所述计算设备请求连接的移动设备的终端数据。而服务器记录与其通信过的移动设备(或计算设备)的终端数据(或设备数据),因此可以依据所述终端数据查找所述移动设备,即检测所述终端数据与服务器中存储的任一移动设备的终端数据是否匹配,若匹配,则说明可以查找到所述移动设备,则构建所述设备标识与所述终端数据的映射关系,以建立所述移动设备与所述计算设备的关联关系,使计算设备和移动设备建立连接;若不匹配,则说明未查找到所述移动设备,即所述移动设备暂时未能与服务器通信。
[0079]具体而言,移动终端通过HTTP协议向PC机发送请求,PC机启动模拟器,并指定模拟器作为服务器,实现移动终端与服务器的通信。所述指定模拟器用于接收并处理移动终端所发送的请求。具体而言,本发明实施例以所述移动终端程序的主进程为客户端,指定模拟器对象为服务器进行通信,所述客户端程序的主进程通过http协议向所述http服务器发送http请求,所述http请求用于向所述指定模拟器对象询问其是否存在所述模拟运行请求对应的目标文件。因此,所述http请求可以包括所述目标文件的标识,当http服务器接收到所述http请求后,依据该http请求获取所述指定模拟器对象中的所有文件的文件信息,所述文件信息可以包括文件标识的信息,在所述http服务器在所述文件标识的信息中查找到所述目标文件的标识时,便生成成功响应消息返回客户端程序的主进程中,所述客户端主进程以此确定所述指定模拟器对象中存在所述模拟运行请求对应的目标文件;否则,若所述http服务器在所述文件标识的信息中没有查找到所述目标文件的标识时,便生成失败响应消息返回客户端程序的主进程中,所述客户端主进程以此确定所述指定模拟器对象中不存在所述模拟运行请求对应的目标文件。
[0080]需要说明的是,上述通过发送http请求向所述指定模拟器对象询问其是否存在所述模拟运行请求对应的目标文件的方式仅仅是本实施例的一种示例,实际上,本实施例并不限于http请求,与可以是其他类型的请求,本领域技术人员采用其他方式判断所述指定模拟器对象是否存在所述模拟运行请求对应的目标文件均是可以的,本发明实施例对此无需加以限制。
[0081 ] 在本实施例中,首先移动终端通过发送Http请求方式建立与数据服务器的连接通讯后,将生成能够唯一辨识的视图对象的属性数组发送至数据服务器,其包括:
[0082]将所述视图对象的属性数组,实例化为对象,并将所述对象序列化为相对于所述视图对象的属性数组的轻量级的数据交换格式文件;
[0083]将所述数据交换格式文件输出到所述数据服务器。
[0084]在本发明实施例中,可以通过将视图对象的属性数组实例化为一个对象(object),并将其序列化为json数据,并将json数据输出到数据服务器端的consol标准输出中。数据服务器端监听consol标准输出,发现有对象时就进行接收。
[°085] JS0N(JavaScript Object Notat1n)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集。JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括C,C++,C#,Java,JavaScript,Perl ,Python等)的习惯,这些特性使JSON成为理想的数据交换格式。
[0086]步骤S150,根据所述视图对象的属性数组,对所述数据服务器中的所述对象库进行更新。
[0087]数据服务器通过监听consol标准输出,发现有对象时就进行接收,并根据所接收的视图对象的属性数组,对所述数据服务器中的所述对象库进行更新。
[0088]具体来说,所述更新包括:
[0089]对视图对象的属性数组进行过滤,去除对对象库进行安全保护时不需要的信息项;一般会过滤例如resourceID,focusable等属性信息,因为对象象进行保护例如混淆后,其中resourceid等属性是没用的。
[0090]将过滤后的视图对象的属性数组存储到对象库中。
[0091]通过图1所示的方法,对象库的维护,相当于只拿一个手机,按照自己日常的测试操作一遍,整个视图对象的信息会存
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1