CN105512044A - 用于关键字驱动测试的对象库的更新方法及系统 - Google Patents

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

Info

Publication number
CN105512044A
CN105512044A CN201510994158.XA CN201510994158A CN105512044A CN 105512044 A CN105512044 A CN 105512044A CN 201510994158 A CN201510994158 A CN 201510994158A CN 105512044 A CN105512044 A CN 105512044A
Authority
CN
China
Prior art keywords
view object
test
attribute array
information
library
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510994158.XA
Other languages
English (en)
Other versions
CN105512044B (zh
Inventor
李功文
杨娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510994158.XA priority Critical patent/CN105512044B/zh
Publication of CN105512044A publication Critical patent/CN105512044A/zh
Application granted granted Critical
Publication of CN105512044B publication Critical patent/CN105512044B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Abstract

本发明涉及移动终端测试领域,具体而言,本发明涉及一种用于关键字驱动测试的对象库的更新方法和系统。其中,所述方法包括:向移动终端注入用于侦测测试应用的侦测应用;运行侦测应用提取移动终端运行测试应用时测试界面的视图对象的信息;对视图对象的信息进行结构分析,确定视图对象的属性数组;将视图对象的属性数组同步至数据服务器;根据视图对象的属性数组,对数据服务器中对象库进行更新。通过本发明解决了关键字驱动自动化测试中对象库的维护问题,在不需要增加额外成本投入的情况下,充分利用现有资源,仅需通过移动终端的日常测试操作,自动完成了对象库的录制,实现了对象库中对象的自动更新和添加,提升了自动化测试维护的效率。

Description

用于关键字驱动测试的对象库的更新方法及系统
技术领域
本发明涉及移动终端测试领域,具体而言,本发明涉及一种用于关键字驱动测试的对象库的更新方法及系统。
背景技术
随着Android移动终端(例如手机)功能越来越复杂,Android手机软件测试投入的人力越来越多,测试成本越来越高。传统的人工测试很难满足日益增长的Android手机软件测试需求。实施手机自动化测试已经成为一种趋势。主流的自动化测试方法的演变经历了基于录制回放的测试,数据驱动测试和关键字驱动测试等。其中,关键字驱动测试是目前最为流行和高效的自动化测试方法。关键字测试的主要思路是以面向对象的方式来管理被测应用的对象、对象的相关操作、测试数据以及这些测试数据之间的组合关系。关键字驱动是自动化测试中行之有效的方式,它可以帮助测试工程师更方便的维护测试脚本、构建复杂的业务逻辑测试用例、并节省手工测试的执行时间(尤其是在回归测试阶段)。在基于关键字驱动的自动化测试中,所有东西都被抽象成关键字,但是关键字要映射成程序可识别的程序对象。对象库是用于储存被测应用程序界面对象(界面元素)的地方。自动化测试用例还是需要测试人员或者测试开发人员来编写的,脚本的编写需要依赖对象库,可以说对象库是关键字驱动测试的关键点。有了它,用户可以更容易的维护被测对象、更快速的构建测试脚本。如果对象都保存在对象库,它们可以被集中管理。与此同时,测试脚本(一个或多个)可以根据自身也许需求随意调用这些对象来使用。这使得多位测试工程师协同开发测试脚本成为可能。
在基于关键字驱动的自动化测试框架,对于对象库的维护,现在的做法是,框架开发出来之后,让测试人员或者测试开发人员用工具查看对象的属性信息,然后将其存到WEB页面或EXCEL文件里面,即大部分对象库的维护都是人工完成的,导致对象库维护效率较低,没有实现对象库的自动维护,其不能和整个自动化测试框架有效集成起来。
发明内容
本发明的主要目的旨在解决上述至少一个问题,提供一种用于关键字驱动测试的对象库的更新方法和系统。
为了实现上述目的,本发明相应采用如下各种技术方案:
本发明提供的一种用于关键字驱动测试的对象库的更新方法,包括以下步骤:
向移动终端注入用于侦测测试应用的侦测应用;
运行所述侦测应用提取所述移动终端运行测试应用时测试界面的视图对象的信息;
对所述视图对象的信息进行结构分析,确定视图对象的属性数组;
将视图对象的属性数组同步至数据服务器;
根据所述视图对象的属性数组,对所述数据服务器中的所述对象库进行更新。
进一步地,所述运行侦测应用提取所述移动终端运行测试应用时测试界面的视图对象的信息,包括:
在所述测试应用的功能组件调用的入口建立钩子函数;
当调用所述功能组件时,利用所述钩子函数提取所述功能组件运行时测试界面的视图对象的信息。
进一步地,根据所述视图对象的属性数组,对所述数据服务器中的所述对象库进行更新包括:
对所述视图对象的属性数组进行过滤,去除对所述对象库进行安全保护时不需要的信息项;
将过滤后的所述视图对象的属性数组存储到对象库中。
进一步地,所述将视图对象的属性数组同步至数据服务器,包括:
将所述视图对象的属性数组,实例化为对象,并将所述对象序列化为相对于所述视图对象的属性数组的轻量级的数据交换格式文件;
将所述数据交换格式文件输出到所述数据服务器。
进一步地,所述视图对象的信息包括所述视图对象的属性信息以及与所述视图对象对应的活动结构信息。
进一步地,所述视图对象的属性数组包括所述视图对象的类、类的属性信息,类的位置以及类之间的层级关系。
进一步地,所述移动终端与所述数据库服务器通过无线连接进行通讯。
本发明提供的一种用于关键字驱动测试的对象库的更新系统,包括:
系统注入单元,用于向移动终端注入用于侦测测试应用的侦测应用;
提取单元,用于运行所述侦测应用提取所述移动终端运行测试应用时测试界面的视图对象的信息;
结构分析单元,用于对所述视图对象的信息进行结构分析,确定视图对象的属性数组;
数据同步单元,用于将视图对象的属性数组同步至数据服务器;
更新单元,用于根据所述视图对象的属性数组,对所述数据服务器中的所述对象库进行更新。
进一步地,所述提取单元用于
在所述测试应用的功能组件调用的入口建立钩子函数;
当调用所述功能组件时,利用所述钩子函数提取所述功能组件运行时测试界面的视图对象的信息。
进一步地,所述更新单元包括:
数据接收处理模块,用于对所述视图对象的属性数组进行过滤,去除对所述对象库进行安全保护时不需要的信息项;
数据存储模块,用于将将过滤后的所述视图对象的属性数组存储到对象库中。
进一步地,所述数据同步单元用于:
将所述视图对象的属性数组,实例化为对象,并将所述对象序列化为相对于所述视图对象的属性数组的轻量级的数据交换格式文件;
将所述数据交换格式文件输出到所述数据服务器。
进一步地,所述视图对象的信息包括所述视图对象的属性信息以及与所述视图对象对应的活动结构信息。
进一步地,所述视图对象的属性数组包括所述视图对象的类、类的属性信息,类的位置以及类之间的层级关系。
相比现有技术,本发明的方案具有以下优点:
通过本发明的方法和系统解决了关键字驱动自动化测试中对象库的维护问题,在不需要增加额外成本投入的情况下,充分利用现有资源,仅需通过移动终端的日常测试操作,自动完成了对象库的录制,实现了对象库中对象的自动更新和添加,提升了自动化测试维护的效率。
显然,上述有关本发明优点的描述是概括性的,更多的优点描述将体现在后续的实施例揭示中,以及,本领域技术人员也可以本发明所揭示的内容合理地发现本发明的其他诸多优点。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明一种用于关键字驱动测试的对象库更新的方法实施例的流程示意图;
图2为图1方法中对象数组格式示意图;
图3为本发明一种用于关键字驱动测试的对象库更新的系统实施例的原理示意图;
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
需要指出的是,本发明的技术方案,理念上与操作系统的选型无关,对于windows、android、IOS等操作系统均适用。但为说明的便利,以下将主要以Android为例进行说明。
图1示出了本发明提供的一种用于关键字驱动测试的对象库的更新方法的实施例的流程示意图,如图1所示,所述方法包括以下步骤:
步骤S110,向移动终端注入用于侦测测试应用的侦测应用;
本发明的侦测应用主要实现为一个Android应用,注入Android系统的底层,主要用于侦测测试应用的执行,劫持例如view对象的接口调用。
在安卓(Android)系统上,一个可以安装、运行的应用,需要打包成安卓安装包,即APK(Androidapplicationpackagefile)文件格式。安卓安装包其实是ZIP文件格式,但后缀名被修改成.apk,可以通过Unzip等工具解压看到其内部文件结构,其主要包括:
META-INF\目录及其下包含的MANIFEST.MF和以.RSA、.SF结尾的文件,这些文件记录了其它目录文件的证书签名,Android系统在安装APK安装包的时候会逐个检查APK内部各文件是否与本目录记录的证书签名一致,如果不一致,则认为文件已被篡改,拒绝该APK的安装和运行;
res\目录及其下包含的资源,是目标应用程序运行过程中需引用的资源,目标应用程序在运行时可以通过ID进行访问;
assets\目录用于存放广义的资源文件,例如安装包文件、字体文件等不可压缩的文件,可以通过路径来访问该目录中的资源;
resources.arsc文件主要是建立对安装包所指向的应用程序的索引;
lib\目录下的文件,主要是存放.so动态库文件;
Androidmanifest.xml文件,是安装包中较为重要的全局配置文件,其负责向系统注册Android系统的四大组件,以及向系统申请权限等。在侦测应用安装包中,将其作为需要加入侦测应用安装包的重要内部文件进行考虑,以与被测试应用安装包完全一致的副本被包含到侦测应用安装包中。由于侦测应用安装包中的Androidmanifest.xml文件即为被测试应用安装包,即目标应用程序安装包的同名文件,其包名相同,故侦测应用安装包在系统中安装运行宿主应用程序之后,以Androidmanifest.xml向系统注册各个组件和申请系统权限,以此便建立了各个组件的入口,使经反射调用的目标应用程序的各个组件均可以被ActivityManagerService调用,而不必为所述各个组件构造ActivityThread和提供相应的LoadedApk对象,省去运行上下文环境的程序实现环节。同理,反射调用所导致的PackageManagerService对各大组件是否合法注册的问题,也将因Androidmanifest.xml的注册而被克服;
classes.dex为安装包中的代码文件(二进制代码可执行文件)。在本发明中,将被预构造的同名文件所替换,但该同名文件与其他文件一起被集合到所述侦测应用安装包中。
在本实施例中,侦测应用首先读取Androidmanifest.xml文件,从而建立了被测应用各个组件的入口,确定需要测试应用的具体包、类及方法等信息项。
步骤S120,运行侦测应用提取所述移动终端运行测试应用时测试界面的视图对象的信息;
本发明所提供的侦测应用安装包的classes.dex,植入有加载程序stub,通过该加载程序,可以进一步启动一监控程序,该监控程序用于监控经反射调用的整个目标应用程序,即被测试应用的活动过程,因此,一般先于所述目标应用程序而加载。该监控程序便是沙箱运行环境的实现者,通过监控目标应用程序对资源的访问,对资源引用进行重定向,使目标应用程序进程能够实现对正确资源的正常引用。具体而言,如果相关资源是被反射调用的被测应用安装包的资源,则通过反射调用机制调用该被测应用安装包的资源供引用,实现重定向。如果是系统资源或者指向宿主应用程序的已安装资源,则可允许其默认引用保证其正常引用关系。如果是I/O操作,也可以藉此进行重定向。在本实施例中,主要监控目标应用程序执行操作过程,进而提取测试应用执行操作所依赖的对象库的相关数据。所述监控程序的技术实现,采用Hook技术,利用钩子函数对相关调用指令的入口点进行监视,截获此一调用指令,转向执行相应的钩子函数,由该钩子函数依据沙箱自身逻辑来应答该调用指令,从而达到前述的目的。当然本发明并不排除使用其他方法来确定要注入的类及方法,任何类似的替代手段,均应视为对本发明本步骤的等同替换。
在本实施例中,运行侦测应用提取所述移动终端运行测试应用时测试界面的视图对象的信息,具体实现为:
在所述测试应用的功能组件调用的入口建立钩子函数;
当调用所述功能组件时,利用所述钩子函数提取所述功能组件运行时测试界面的视图对象的信息。
其中,视图对象的信息包括所述视图对象的属性信息以及与所述视图对象对应的活动(activity)结构信息。
所述方法一般为事件类方法,例如当OnClick或OnScroll事件发生时,捕捉当前测试应用操作界面的视图对象的信息。例如,当我们在测试应用执行时点击某一个按钮的时候,我们就能劫持到这个行为,并且拿到按钮对象的属性信息,如类名,位置等。
步骤S130,对所述视图对象的信息进行结构分析,确定视图对象的属性数组;
视图的对象信息是有层级关系的,在一个大的软件应用里,获得一个视图的属性时,并不能全局的唯一识别,所以在获得视图对象的属性信息时,需要用到视图的父子(层级)关系,对其进行一定的结构优化,以便存储成关键字自动化时能够识别的格式。图2示出了视图对象的属性数组的存储格式,其中视图对象的属性数组记录了视图对象的类、类的属性信息,类的位置以及类之间的层级关系,同时把视图对象的属性值例如resource-id,class,text等统一做一个截图,以明确提取的操作对象的元素识别后的样子,同时保留一个空位,用于操作完成后对其进行二次编辑,二次编辑把程序名称可以取一个别名,执行的时候可以直接写别名了。比如“一键加速”,测试用例里面就是一个按钮“一键加速”,这样就实现了一个普通测试人员可以复写的自动化脚本了。
步骤S140,将视图对象的属性数组同步至数据服务器;
生成能够唯一辨识的视图对象的属性数组后,将其发送至数据服务器端。
在本实施例中,数据库服务器布置在PC机上,所述移动终端与所述数据库服务器通过无线连接进行通讯。更为具体地说,通过无线WIFI网络通讯协议形式。通过wifi连接理论上可发挥PC机的最大性能来驱动自动化测试手机的数量,实现多种型号的移动终端同时执行测试,有效提高了测试效率。
计算设备(pc)与移动设备要连接时,计算设备首先会发送连接请求给服务器。服务器布置在所述计算设备,例如PC机上。其中,所述连接请求中包括设备标识和请求连接的移动设备的终端数据。所述设备标识用于标识一个计算设备,如,计算设备的IP地址,网卡地址和MID值等。其中,MID(MobileInternetDevice,移动互联网设备)值是通过硬件的编号计算出的唯一的特征值。所述终端数据是移动设备的相关数据,如移动设备的名称,移动设备的国际移动设备身份码(InternationalMobileEquipmentIdentity,IMEI),移动设备的型号等,此外,若移动设备是手机,则对应的终端数据还可以包括该手机的手机号码。其中,所述IMEI可以唯一标识一个移动设备。
则服务器对应可以接收到所述连接请求,从所述连接请求中可以获取所述计算设备的设备标识,从而确定要连接的计算设备,并且获取所述计算设备请求连接的移动设备的终端数据。而服务器记录与其通信过的移动设备(或计算设备)的终端数据(或设备数据),因此可以依据所述终端数据查找所述移动设备,即检测所述终端数据与服务器中存储的任一移动设备的终端数据是否匹配,若匹配,则说明可以查找到所述移动设备,则构建所述设备标识与所述终端数据的映射关系,以建立所述移动设备与所述计算设备的关联关系,使计算设备和移动设备建立连接;若不匹配,则说明未查找到所述移动设备,即所述移动设备暂时未能与服务器通信。
具体而言,移动终端通过HTTP协议向PC机发送请求,PC机启动模拟器,并指定模拟器作为服务器,实现移动终端与服务器的通信。所述指定模拟器用于接收并处理移动终端所发送的请求。具体而言,本发明实施例以所述移动终端程序的主进程为客户端,指定模拟器对象为服务器进行通信,所述客户端程序的主进程通过http协议向所述http服务器发送http请求,所述http请求用于向所述指定模拟器对象询问其是否存在所述模拟运行请求对应的目标文件。因此,所述http请求可以包括所述目标文件的标识,当http服务器接收到所述http请求后,依据该http请求获取所述指定模拟器对象中的所有文件的文件信息,所述文件信息可以包括文件标识的信息,在所述http服务器在所述文件标识的信息中查找到所述目标文件的标识时,便生成成功响应消息返回客户端程序的主进程中,所述客户端主进程以此确定所述指定模拟器对象中存在所述模拟运行请求对应的目标文件;否则,若所述http服务器在所述文件标识的信息中没有查找到所述目标文件的标识时,便生成失败响应消息返回客户端程序的主进程中,所述客户端主进程以此确定所述指定模拟器对象中不存在所述模拟运行请求对应的目标文件。
需要说明的是,上述通过发送http请求向所述指定模拟器对象询问其是否存在所述模拟运行请求对应的目标文件的方式仅仅是本实施例的一种示例,实际上,本实施例并不限于http请求,与可以是其他类型的请求,本领域技术人员采用其他方式判断所述指定模拟器对象是否存在所述模拟运行请求对应的目标文件均是可以的,本发明实施例对此无需加以限制。
在本实施例中,首先移动终端通过发送Http请求方式建立与数据服务器的连接通讯后,将生成能够唯一辨识的视图对象的属性数组发送至数据服务器,其包括:
将所述视图对象的属性数组,实例化为对象,并将所述对象序列化为相对于所述视图对象的属性数组的轻量级的数据交换格式文件;
将所述数据交换格式文件输出到所述数据服务器。
在本发明实施例中,可以通过将视图对象的属性数组实例化为一个对象(object),并将其序列化为json数据,并将json数据输出到数据服务器端的consol标准输出中。数据服务器端监听consol标准输出,发现有对象时就进行接收。
JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集。JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括C,C++,C#,Java,JavaScript,Perl,Python等)的习惯,这些特性使JSON成为理想的数据交换格式。
步骤S150,根据所述视图对象的属性数组,对所述数据服务器中的所述对象库进行更新。
数据服务器通过监听consol标准输出,发现有对象时就进行接收,并根据所接收的视图对象的属性数组,对所述数据服务器中的所述对象库进行更新。
具体来说,所述更新包括:
对视图对象的属性数组进行过滤,去除对对象库进行安全保护时不需要的信息项;一般会过滤例如resourceID,focusable等属性信息,因为对象象进行保护例如混淆后,其中resourceid等属性是没用的。
将过滤后的视图对象的属性数组存储到对象库中。
通过图1所示的方法,对象库的维护,相当于只拿一个手机,按照自己日常的测试操作一遍,整个视图对象的信息会存储成自动化能够识别的信息,然后再提供给自动化的人来使用。其在不增加额外成本投入的情况下,充分利用了现有资源,通过将侦测应用注入到被测应用中,当测试应用执行时,自动将其中的操作对象信息发送到数据服务器的端对象库中,即完成了对象的自动录制,实现了对象库中对象的自动更新和添加,提升了自动化测试维护的效率。
作为对本发明上述各种方法实例的模块化实现,本发明同步提供如下若干装置或系统,辅以体现其模块化实现思路。
图3是根据本发明的一种用于关键字驱动测试的对象库的更新系统300的实施例原理示意图,如图3所示,所述系统300包括:
系统注入单元310,用于向移动终端注入用于侦测测试应用的侦测应用;
提取单元320,用于运行所述侦测应用提取所述移动终端运行测试应用时测试界面的视图对象的信息;
结构分析单元330,用于对所述视图对象的信息进行结构分析,确定视图对象的属性数组;
数据同步单元340,用于将视图对象的属性数组同步至数据服务器;
更新单元350,用于根据所述视图对象的属性数组,对所述数据服务器中的所述对象库进行更新。
在本实施例中,系统注入单元310、提取单元320、结构分析单元330以及数据同步单元340布置在移动终端上,更新单元350布置在PC机上。
在本实施例中,移动终端为手机。
在本实施例中,提取单元320用于:
在测试应用的功能组件调用的入口建立钩子函数;
当调用所述功能组件时,利用所述钩子函数提取所述功能组件运行时测试界面的视图对象的信息。
其中,所述更新单元350包括:
数据接收处理模块351,用于对所述视图对象的属性数组进行过滤,去除对所述对象库进行安全保护时不需要的信息项;
数据存储模块352,用于将将过滤后的所述视图对象的属性数组存储到对象库中。
在本实施例中,数据同步单元340用于:
将所述视图对象的属性数组,实例化为对象,并将所述对象序列化为相对于所述视图对象的属性数组的轻量级的数据交换格式文件;
将所述数据交换格式文件输出到所述数据服务器。
在本实施例中,视图对象的信息包括所述视图对象的属性信息以及与所述视图对象对应的活动结构信息。
在本实施例中,所述视图对象的属性数组包括所述视图对象的类、类的属性信息,类的位置以及类之间的层级关系。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种用于关键字驱动测试的对象库的更新方法,所述方法包括:
向移动终端注入用于侦测测试应用的侦测应用;
运行所述侦测应用提取所述移动终端运行测试应用时测试界面的视图对象的信息;
对所述视图对象的信息进行结构分析,确定视图对象的属性数组;
将视图对象的属性数组同步至数据服务器;
根据所述视图对象的属性数组,对所述数据服务器中的所述对象库进行更新。
2.根据权利要求1所述的方法,其特征在于,所述运行侦测应用提取所述移动终端运行测试应用时测试界面的视图对象的信息,包括:
在所述测试应用的功能组件调用的入口建立钩子函数;
当调用所述功能组件时,利用所述钩子函数提取所述功能组件运行时测试界面的视图对象的信息。
3.根据权利要求1所述的方法,其特征在于,根据所述视图对象的属性数组,对所述数据服务器中的所述对象库进行更新包括:
对所述视图对象的属性数组进行过滤,去除对所述对象库进行安全保护时不需要的信息项;
将过滤后的所述视图对象的属性数组存储到对象库中。
4.根据权利要求1所述的方法,其特征在于,所述将视图对象的属性数组同步至数据服务器,包括:
将所述视图对象的属性数组,实例化为对象,并将所述对象序列化为相对于所述视图对象的属性数组的轻量级的数据交换格式文件;
将所述数据交换格式文件输出到所述数据服务器。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述视图对象的属性数组包括所述视图对象的类、类的属性信息,类的位置以及类之间的层级关系。
6.一种用于关键字驱动测试的对象库更新的系统,其特征在于,包括:
系统注入单元,用于向移动终端注入用于侦测测试应用的侦测应用;
提取单元,用于运行所述侦测应用提取所述移动终端运行测试应用时测试界面的视图对象的信息;
结构分析单元,用于对所述视图对象的信息进行结构分析,确定视图对象的属性数组;
数据同步单元,用于将视图对象的属性数组同步至数据服务器;
更新单元,用于根据所述视图对象的属性数组,对所述数据服务器中的所述对象库进行更新。
7.根据权利要求6所述的系统,其特征在于,所述提取单元用于
在所述测试应用的功能组件调用的入口建立钩子函数;
当调用所述功能组件时,利用所述钩子函数提取所述功能组件运行时测试界面的视图对象的信息。
8.根据权利要求6所述的系统,其特征在于,所述更新单元包括:
数据接收处理模块,用于对所述视图对象的属性数组进行过滤,去除对所述对象库进行安全保护时不需要的信息项;
数据存储模块,用于将将过滤后的所述视图对象的属性数组存储到对象库中。
9.根据权利要求6所述的系统,其特征在于,所述数据同步单元用于:
将所述视图对象的属性数组,实例化为对象,并将所述对象序列化为相对于所述视图对象的属性数组的轻量级的数据交换格式文件;
将所述数据交换格式文件输出到所述数据服务器。
10.根据权利要求6-9任一项所述的系统,其特征在于,所述视图对象的属性数组包括所述视图对象的类、类的属性信息,类的位置以及类之间的层级关系。
CN201510994158.XA 2015-12-25 2015-12-25 用于关键字驱动测试的对象库的更新方法及系统 Active CN105512044B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510994158.XA CN105512044B (zh) 2015-12-25 2015-12-25 用于关键字驱动测试的对象库的更新方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510994158.XA CN105512044B (zh) 2015-12-25 2015-12-25 用于关键字驱动测试的对象库的更新方法及系统

Publications (2)

Publication Number Publication Date
CN105512044A true CN105512044A (zh) 2016-04-20
CN105512044B CN105512044B (zh) 2018-01-09

Family

ID=55720045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510994158.XA Active CN105512044B (zh) 2015-12-25 2015-12-25 用于关键字驱动测试的对象库的更新方法及系统

Country Status (1)

Country Link
CN (1) CN105512044B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776313A (zh) * 2016-12-13 2017-05-31 广州唯品会信息科技有限公司 一种模拟服务的方法、装置及集中管理平台
CN107133169A (zh) * 2017-04-26 2017-09-05 腾讯科技(深圳)有限公司 应用测试包生成方法及生成装置
CN108121650A (zh) * 2016-11-29 2018-06-05 腾讯科技(深圳)有限公司 一种对于页面用户界面的测试方法及装置
CN108170593A (zh) * 2017-12-22 2018-06-15 北京奇虎科技有限公司 应用程序运行的方法及装置
CN109635015A (zh) * 2018-09-30 2019-04-16 阿里巴巴集团控股有限公司 属性数据使用对象的确定方法、装置和服务器
CN109840197A (zh) * 2018-05-04 2019-06-04 上海聆播信息科技有限公司 一种自动化测试对象库的系统及方法
CN110347606A (zh) * 2019-07-15 2019-10-18 百度(中国)有限公司 一种自动化测试方法、装置、设备及存储介质
CN110716849A (zh) * 2018-07-11 2020-01-21 亿度慧达教育科技(北京)有限公司 应用程序的测试用例录制方法和装置
CN110765078A (zh) * 2019-12-27 2020-02-07 武汉慧联无限科技有限公司 一种文件管理方法、装置及计算机可读存储介质
CN111506301A (zh) * 2020-04-24 2020-08-07 同盾(广州)科技有限公司 绕过系统限制反射调用的方法及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135516A1 (en) * 2002-01-14 2003-07-17 Goodwin James Patrick System and method for using XML to normalize documents
CN101604286A (zh) * 2008-06-11 2009-12-16 中兴通讯股份有限公司 一种关键字驱动表格生成方法
CN103092630A (zh) * 2013-03-01 2013-05-08 畅捷通信息技术股份有限公司 界面数据输出装置和界面数据输出方法
CN104516633A (zh) * 2014-11-19 2015-04-15 微梦创科网络科技(中国)有限公司 一种用户界面元素管理方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135516A1 (en) * 2002-01-14 2003-07-17 Goodwin James Patrick System and method for using XML to normalize documents
CN101604286A (zh) * 2008-06-11 2009-12-16 中兴通讯股份有限公司 一种关键字驱动表格生成方法
CN103092630A (zh) * 2013-03-01 2013-05-08 畅捷通信息技术股份有限公司 界面数据输出装置和界面数据输出方法
CN104516633A (zh) * 2014-11-19 2015-04-15 微梦创科网络科技(中国)有限公司 一种用户界面元素管理方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
欧洁: "基于QTP技术的自动化测试框架的研究及实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121650A (zh) * 2016-11-29 2018-06-05 腾讯科技(深圳)有限公司 一种对于页面用户界面的测试方法及装置
CN108121650B (zh) * 2016-11-29 2020-06-19 腾讯科技(深圳)有限公司 一种对于页面用户界面的测试方法及装置
CN106776313A (zh) * 2016-12-13 2017-05-31 广州唯品会信息科技有限公司 一种模拟服务的方法、装置及集中管理平台
CN106776313B (zh) * 2016-12-13 2020-06-23 广州品唯软件有限公司 一种模拟服务的方法、装置及集中管理平台
CN107133169A (zh) * 2017-04-26 2017-09-05 腾讯科技(深圳)有限公司 应用测试包生成方法及生成装置
CN108170593A (zh) * 2017-12-22 2018-06-15 北京奇虎科技有限公司 应用程序运行的方法及装置
CN109840197A (zh) * 2018-05-04 2019-06-04 上海聆播信息科技有限公司 一种自动化测试对象库的系统及方法
CN110716849A (zh) * 2018-07-11 2020-01-21 亿度慧达教育科技(北京)有限公司 应用程序的测试用例录制方法和装置
CN109635015A (zh) * 2018-09-30 2019-04-16 阿里巴巴集团控股有限公司 属性数据使用对象的确定方法、装置和服务器
CN109635015B (zh) * 2018-09-30 2023-07-18 创新先进技术有限公司 属性数据使用对象的确定方法、装置和服务器
CN110347606B (zh) * 2019-07-15 2022-11-08 百度(中国)有限公司 一种自动化测试方法、装置、设备及存储介质
CN110347606A (zh) * 2019-07-15 2019-10-18 百度(中国)有限公司 一种自动化测试方法、装置、设备及存储介质
CN110765078A (zh) * 2019-12-27 2020-02-07 武汉慧联无限科技有限公司 一种文件管理方法、装置及计算机可读存储介质
CN110765078B (zh) * 2019-12-27 2020-04-17 武汉慧联无限科技有限公司 一种文件管理方法、装置及计算机可读存储介质
CN111506301A (zh) * 2020-04-24 2020-08-07 同盾(广州)科技有限公司 绕过系统限制反射调用的方法及相关设备
CN111506301B (zh) * 2020-04-24 2022-11-11 同盾(广州)科技有限公司 绕过系统限制反射调用的方法及相关设备

Also Published As

Publication number Publication date
CN105512044B (zh) 2018-01-09

Similar Documents

Publication Publication Date Title
CN105512044A (zh) 用于关键字驱动测试的对象库的更新方法及系统
US9471474B2 (en) Cloud deployment infrastructure validation engine
CN101771762B (zh) 业务系统中业务动态加载系统及方法
US6167358A (en) System and method for remotely monitoring a plurality of computer-based systems
CN108667855B (zh) 网络流量异常监测方法、装置、电子设备及存储介质
CN108647265B (zh) 基于多平台数据交互式系统
CN107026760A (zh) 一种故障修复方法及监控节点
CN101515232A (zh) 一种软件持续集成系统及方法
CN105653329A (zh) 一种应用管理的方法、装置及系统
CN107800757B (zh) 用户行为记录方法及装置
CN104424095A (zh) 一种移动终端的自动化测试方法和系统
CN104539487A (zh) 一种基于云平台的系统测试及可靠性评估方法
CN103391222A (zh) 网络服务监控系统及方法
US20100153917A1 (en) Software configuration control wherein containers are associated with physical storage of software application versions in a software production landscape
CN105303112A (zh) 组件调用漏洞的检测方法及装置
CN101393528B (zh) 软件动态更新中确定实例对象转换次序的方法及系统
CN104679500B (zh) 实体类自动生成实现方法及装置
CN102340429B (zh) 一种互联网协议还原自动化检测方法
CN109614203B (zh) 一种基于应用数据仿真的安卓应用云数据取证分析系统及方法
CN105095207A (zh) 检索、获取应用软件内容的方法和装置
CN109360029A (zh) 一种远程终端广告机的自我管理方法
JP2017539031A (ja) テスト実行からのテスト検証の分離
CN112650688A (zh) 自动化回归测试方法、关联设备以及计算机程序产品
CN109933510A (zh) 接口管理的方法、装置、电子设备和存储介质
CN110063042A (zh) 一种数据库故障的响应方法及其终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220802

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.