实现智能终端ui自动化测试的系统及方法

文档序号:10654456阅读:457来源:国知局
实现智能终端ui自动化测试的系统及方法
【专利摘要】本发明涉及一种实现智能终端UI自动化测试的系统及方法,用于对智能终端执行用户界面测试,其中包括:录制模块,用以从所述的智能终端获取用户操作信息,并录制成操作指令脚本,所述的用户操作信息包括操作数据和与操作关联的控件ID;回放模块,用以将操作指令脚本转化为操作指令,并发送至所述的智能终端;以使所述的智能终端根据所述的操作指令执行测试。采用该种结构的实现智能终端UI自动化测试的系统及方法,不仅有效地实现了对同种智能终端多次测试的大大简化,并且实现了对于不同的智能终端的兼容,可以在具有不同分辨率的智能终端上执行同一个测试脚本,可以做到一次录制,在不同的智能终端上进行多次快速的自动化测试。
【专利说明】
实现智能终端UI自动化测试的系统及方法
技术领域
[0001]本发明涉及UI测试技术领域,尤其涉及智能终端ui测试技术领域,具体是指一种实现智能终端UI自动化测试的系统及方法。【背景技术】
[0002]用户界面(User interfaCe,UI)测试是指测试用户界面的功能模块的布局是否合理,整体风格是否一致,以及各个控件的放置位置是否符合客户使用习惯等,目的是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。因此UI测试对于各种智能终端如手机、平板电脑等的广泛应用十分重要。同时,由于智能终端的种类和数量繁多,单纯的人工测试成本和耗时会很大,由此催生了UI自动化测试。
[0003]现有技术中的UI自动化测试通常基于屏幕录制,事件(比如点击)定位基于屏幕坐标。回放时根据屏幕坐标还原事件,实现UI自动化测试。如图1所示,现有技术中的UI自动化测试的过程一般为:控制服务器获取被测程序的数据包,将数据包下发给测试终端;测试终端根据数据包获取用户界面中各项控件的界面坐标;测试终端根据界面坐标对控件进行模拟操作;测试终端记录控件产生的测试结果。这种方式可以省去测试人员对测试用例的编写,在一定程度上降低了测试人员的工作强度。
[0004]然而随着科技的不断发展和用户不同需求的增长,智能终端的种类越来越多。现有技术中的UI自动化测试只是解决了对于同种类型,尤其是显示屏具有相同尺寸和相同分辨率的智能终端多次测试的简化,而没有解决在不同的智能终端上的测试兼容问题。由于智能终端的多样化,不同的智能终端通常有多种屏幕分辨率,这样同一回放脚本在不同分辨率的终端上回放时,无法真实还原事件,必须针对不同分辨率录制不同的脚本,从这一角度来看仍然是增加了工作量。因此,UI测试的兼容问题显得刻不容缓。
【发明内容】

[0005]本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现一次录制可以在不同智能终端上自动化测试、提高多种不同分辨率用户界面的测试兼容性的实现智能终端UI自动化测试的系统及方法。
[0006]为了实现上述目的,本发明的实现智能终端UI自动化测试的系统及方法具有如下构成:
[0007]该实现智能终端UI自动化测试的系统,用于对智能终端执行用户界面测试,所述的系统包括:
[0008]录制模块,用以从所述的智能终端获取用户操作信息,并录制成操作指令脚本,所述的用户操作信息包括操作数据和与操作关联的控件ID;和
[0009]回放模块,用以将操作指令脚本转化为操作指令,并发送至所述的智能终端;以使所述的智能终端根据所述的操作指令执行测试。
[0010]可选地,回放模块在将操作指令脚本转化为操作指令之后,将操作指令分成每条并按照脚本中的顺序依次发送给所述的智能终端。
[0011]所述的智能终端用以根据所述的操作指令执行测试。
[0012]可选地,所述的系统还可以包括测试评价模块,用以根据测试结果进行测试评价。
[0013]本发明的技术方案通过选用控件ID作为控件在录制和回放过程中的标志,其在智能终端操作系统中具有唯一性和不可替换性并且不受分辨率的影响,从而不仅有效地实现了对同种智能终端多次测试的大大简化,并且实现了对于不同的智能终端的兼容。
[0014]为了更好地实现录制过程中控制ID的获取以及回放过程中测试事件的构造,可选地,所述的系统还包括如下功能模块:
[0015]测试代理模块,用以获取与操作关联的控件ID,将所述的控件ID和操作数据发送至所述的录制模块,以及根据所述的操作指令构造测试事件;和
[0016]控制存储模块,用以获取用户的操作数据,并根据所述的测试事件执行测试。
[0017]可选地,所述的测试代理模块包括:
[0018]通讯单元,用以与所述的录制模块和回放模块进行通讯;
[0019]操作监听单元,用以通过所述的控制存储模块监听用户的操作,并在智能终端存储中查询与操作关联的控件ID;
[0020]事件模拟单元,用以将所述的操作指令解析成控件ID和操作数据,并构造测试事件,以及将测试事件插入智能终端的程序执行队列。
[0021]其中,本发明的智能终端可以是智能手机、平板电脑、机顶盒等多种具有智能操作系统的设备,应用范围十分广泛,通讯单元可以采用多种方式,例如USB或网络与测试主机进行通讯。
[0022]本发明的操作指令脚本中不仅可以记录控件坐标,还需要记录控件ID。事件模拟单元在构造测试事件的过程中,同样也需要通过所述的控制存储模块查找指令中控件ID所对应的控件。
[0023]本发明技术方案还提供一种实现智能终端UI自动化测试的方法,所述的方法包括以下步骤:
[0024](1)所述的智能终端将用户操作信息发送至所述的录制模块,所述的用户操作信息包括操作数据和与操作关联的控件ID;
[0025](2)所述的录制模块将所述的用户操作信息录制成操作指令脚本;
[0026](3)所述的回放模块将操作指令脚本转化为操作指令发送至所述的智能终端;
[0027](4)所述的智能终端根据所述的操作指令执行测试。
[0028]由上述技术方案可知,通过测试代理模块、存储模块和控制模块基于测试框架来获取控制ID,在测试工作中,测试代理模块、存储模块和控制模块协同配合,在测试之前不必再特别编写测试用例,录制模块可以根据需要录制智能终端发送过来的数据得到测试脚本,大大提高了测试效率,即使智能终端具有不同的分辨率,也能普遍适用于同一种测试方法,而不会因为控件坐标的改变而导致测试出错,适用于大规模的推广应用。【附图说明】
[0029]图1为现有技术中UI自动化测试的方法的示意图。
[0030]图2为本发明的实现智能终端UI自动化测试的系统的结构示意图。[0031 ]图3为本发明的实现智能终端UI自动化测试的方法的流程图。
[0032]图4为本发明的方法中录制过程的示意图。[〇〇33]图5为本发明的方法中回放过程的示意图。[〇〇34]图6为本发明的通过测试框架获取控件ID的示意图。[〇〇35]附图标记:
[0036]1〇〇录制模块
[0037]200回放模块[〇〇38]300测试代理模块
[0039]301通讯单元[〇〇4〇] 302操作监听单元 [〇〇41 ]303事件模拟单元
[0042]400存储模块
[0043]500控制模块【具体实施方式】[〇〇44]为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
[0045]为了实现上述目的,本发明的技术方案的基本原理为:录制模块100将用户对界面的操作录制下来,保存于操作指令脚本文件中,录制模块1〇〇在录制过程中需要获取与操作关联的控件ID;回放模块200调用操作指令脚本文件,把操作指令脚本文件转换成操作指令,操作指令中包含与操作关联的控件ID,并发送操作指令到智能终端完成测试事件模拟。
[0046]下面对本发明的实现智能终端UI自动化测试的系统及方法进行进一步细化的描述:
[0047]首先对于本发明的系统进行介绍。如图2所示,本发明的实现智能终端UI自动化测试的系统包括录制模块100和回放模块200,录制模块100和回放模块200可以根据需要选择设置在智能终端或测试主机中,图2中给出了一个将录制模块100和回放模块200设置于测试主机的实施例,在实际应用中不限于这种设置方式,其中:
[0048]录制模块100,用以从所述的智能终端获取用户操作信息,并录制成操作指令脚本,所述的用户操作信息包括操作数据和与操作关联的控件ID;和回放模块200,用以将操作指令脚本转化为操作指令,并发送至所述的智能终端;所述的智能终端用以根据所述的操作指令执行测试。
[0049]本发明的录制模块100在录制操作指令脚本时,获取的用户操作信息中需要包含与操作关联的控件ID。软件开发过程中,控件ID—般的生成方式为:当添加一个控件时,集成开发环境会以控件名加一个序号来自动生成ID。因此每个控件只会有一个与之对应的控件ID,该控件ID从而具有唯一性和不可替代性。
[0050]在一种较佳的实施方式中,所述的系统还包括测试代理模块300、控制模块500和存储模块400,同样地,这三个模块可以根据需要设置在智能终端或测试主机中,其中: [〇〇51]测试代理模块300,用以获取与操作关联的控件ID,将所述的控件ID和操作数据发送至所述的录制模块100,以及根据所述的操作指令构造测试事件;存储模块400,可以为智能终端操作系统的系统模块,用以获取用户的操作数据,查询智能操作系统信息;控制模块 500,可以构造事件数据来模拟用户输入,根据所述的测试事件执行测试。[〇〇52] 本发明通过测试代理模块300查询事件坐标上对应的控件ID,控件ID在整个系统中唯一,可以唯一定位。录制模块100在录制操作指令脚本时,不仅记录坐标,还记录控件 ID。而回放模块200在将操作指令脚本翻译成操作指令时,查询控件ID的坐标位置,可以还原事件坐标,从而达到操作相同控件的目的。[〇〇53]其中,测试代理模块300可以根据屏幕坐标查询控件ID,也可以根据控件ID查询控件的坐标和大小。[〇〇54]此处对智能终端中模块的划分是功能性的划分,即根据智能终端需要具有的功能进行了一个更细致的分类。而其他具有这些功能的技术方案,即使选用了不同的功能划分, 即划分成不同的功能模块,也能实现本发明的目的和技术效果,而这些包含了上述功能的技术方案,也属于本发明的保护范围之内。
[0055]为了更清楚地说明本发明的技术方案,对所述的测试代理模块300的功能进行进一步的划分,所述的测试代理模块300包括通讯单元301、操作监听单元302和事件模拟单元 303,其中:[0〇56] 通讯单元301,用以与所述的录制模块100和回放模块200进行通讯;操作监听单元 302,用以通过所述的存储模块400监听用户的操作,并在智能终端存储中查询与操作关联的控件ID;事件模拟单元303,用以将所述的操作指令解析成控件ID和操作数据,获取控件信息,并构造测试事件,以及将测试事件插入智能终端的程序执行队列。[0〇57]在一种较佳的实施方式中,所述的通讯单元301可以通过Socket建立的监听服务端接收所述的操作指令。所述的通讯单元301可以通过TCP或UDP与所述的录制模块100和回放模块200进行通讯,通讯方式采用客户端/服务端的通讯模型。测试Agent通讯模块可用 socket编程接口实现。[〇〇58]然而在实际应用中,所述的智能终端与测试主机的通讯还可以采用其他更适合的方式,可以由使用者根据需求和环境进行选择。智能终端和测试主机之间可以通过无线、 USB、蓝牙、红外等方式传输数据。通讯单元301获取操作指令的方式也可以更改,只要能实时从回放模块200中获取到进行测试的操作指令即可实现本技术方案。
[0059]测试代理模块300需要有智能终端的系统权限,能够监听系统事件,在系统层拦截系统事件,即所有事件都会经过测试代理模块300。操作监听单元302查询智能终端操作系统的存储模块400,得到被操作UI的控件ID,组成操作指令,交给通信单元。
[0060]在一种较佳的实施方式中,所述的系统还包括可以设置于智能终端或测试主机的测试评价模块,所述的智能终端还用以将测试执行结果发送至所述的测试评价模块,所述的测试评价模块用以根据所述的测试执行结果进行测试评价。
[0061]在实际应用中,对测试执行结果评价的方式有很多,用户可以根据测评的重点不同进行选择。在本发明的一种【具体实施方式】中,所述的测试执行结果需要包括当前活动的 UI属性信息,所述的测试评价模块用以将当前活动的UI属性信息与基准数据进行对比并判断测试是否通过,如果UI属性信息在基准数据的预设范围之内,则判断测试通过,否则判断测试不通过。
[0062]在一种较佳的实施方式中,所述的用户操作信息还可以包括与操作关联的控件的坐标和大小,更方便对控件进行定位和测试。
[0063]在一种较佳的实施方式中,所述的智能终端包括但不限于手机、平板电脑、笔记本电脑或机顶盒,所述的测试主机包括但不限于PC、工作站或服务器。本发明的技术方案可以用于多种不同智能终端的自动化测试,应用范围十分广泛。智能终端需要具有智能操作系统,智能终端和测试主机之间可以通过USB、网络进行通讯。[〇〇64]基于上述系统,本发明的实现智能终端UI自动化测试的方法的流程如图3所示,包括如下步骤:
[0065](1)所述的智能终端将用户操作信息发送至所述的录制模块100,所述的用户操作信息包括操作数据和与操作关联的控件ID;
[0066](2)所述的录制模块100将所述的用户操作信息录制成操作指令脚本;
[0067](3)所述的回放模块200将操作指令脚本转化为操作指令发送至所述的智能终端;
[0068](4)所述的智能终端根据所述的操作指令执行测试。
[0069]在一种较佳的实施方式中,所述的步骤(4)后,还包括以下步骤:
[0070](5)所述的测试评价模块根据测试结果进行测试评价。
[0071]下面以一个具体实施例来进一步介绍本发明的实现智能终端UI自动化测试的方法:
[0072]本发明的实现智能终端UI自动化测试的方法主要包括两大部分:录制过程和回放过程。[0〇73]1、录制过程
[0074]如图4所示,录制模块100实现用户操作的录制。录制过程分为四个阶段,基本过程描述如下:[〇〇75](1)智能终端的测试代理模块300与测试主机建立连接并通信;
[0076](2)在智能终端启动被测程序,进入初始界面,在录制模块100界面上点击录制。录制模块100通知测试代理模块300进入录制模式,测试代理模块300从智能终端操作系统的存储模块400获取智能终端上的所有操作输入。[〇〇77](3)测试代理模块300从智能终端操作系统的存储模块400查询被操作UI元素的控件ID。将控件ID、事件、时长等数据传给录制模块100。[〇〇78]测试代理模块300和录制模块100之间传递数据的类型可以根据实际需要修改,事件的各种相关数据可以采用通用的格式进行录制,从而实现不同智能终端上测试脚本的通用兼容性,也可以附加对于某种智能终端特有的格式数据,实现智能终端UI不同种类的功能测试。
[0079](4)在录制模块100界面上点击结束录制,录制模块100生成操作指令脚本文件,录制过程结束。
[0080]该操作指令脚本中由于包含了具有系统唯一性的控件ID,以及具有通用格式和内容的事件数据,可以实现同一个测试脚本很好地应用于各种不同智能终端的测试,而不必针对不同的智能终端编写不同的测试脚本,节省了录制时间,也节省了多个测试脚本与多种智能终端之间查找匹配的时间,大大提高了测试效率。
[0081]2、回放过程[〇〇82]回放模块200完成测试脚本的自动化执行。回放模块200的UI操作模拟通过测试主机和智能终端的交互来完成,智能终端的测试代理模块300通过Socket建立一个监听服务端,监听测试主机PC端发来的指令,并模拟事件动作的执行。本实施例中的测试代理模块 300有两个主要功能:一是与测试主机通信,二是监听动作。
[0083]如图5所示,一个操作指令的操作模拟需要以下四个步骤来完成:
[0084](1)所述的回放模块200根据所述的操作指令脚本中记录的操作顺序进行回放,程序从脚本中读取到操作指令,通过socket依次发送操作指令给测试代理模块300;[〇〇85]其中,回放模块200发送给测试代理模块300的操作指令是一个四元组,表现形式为:
[0086](ControlID,EventType,Act1n,EventData)
[0087]每个操作指令表示一个用户操作,它精确的反应了操作的控件和用户对控件进行的操作。
[0088]其中,Control ID为UI元素的ID,具有系统唯一性和不可替换性;EventType表示事件类型,包括key事件、mot 1n事件和time事件。其中key表示点击键盘输入类型。Mot1n表示click、拖拽类型,time表示定时事件类型;Act 1n表示事件动作,比如key事件有key down、key up;EventData表示事件关联的数据,比如key类型为keycode。
[0089]此处只是操作指令的一个简单的示例。实际应用中,操作指令包含的内容、格式、 事件类型的分类、事件动作的分类以及事件关联的数据均可以由测试人员自主定义,只要能够包含控制ID,且包含的其他数据可以还原用户之前的操作即可。
[0090](2)当所述的测试代理模块300接收一条指令后,首先检查操作指令是否符合定义。由于操作指令均有统一的格式和定义,测试代理模块300可以很容易地从一条操作指令中对信息进行分类,分别从操作指令中分离出控件ID、EventType、Act1n、EventData信息。 [〇〇91]然后所述的测试代理模块300根据控件ID,通过所述的存储模块400查询智能操作系统中对应的控件,进一步查询到系统中控件的位置,通过位置信息和动作,构造系统事件;本发明的测试代理模块300可以在录制过程中通过控件的坐标查询得到控件ID,也可以在回放过程中通过控件ID查询得到控件的坐标;
[0092](3)所述的测试代理模块300将构建的系统事件依次插入到智能终端系统的消息队列中。智能终端系统处理到这些事件的时候,完成模拟;[〇〇93](4)指令执行完毕后,所述的测试代理模块300返回执行结果给测试主机PC端。同时,在回放程序执行过程中,系统要判断检查点。检查点处,执行完动作后系统要获取当前 Activity的UI属性信息,所述的测试评价模块将信息和基准数据进行对比,判断测试是否通过。在实际应用中,测试评价的方法还可以采用其他方式,并且可以由测试者自主选择, 用以匹配不同类型的UI功能测试。
[0094]在所述的测试代理模块300监听事件和模拟系统事件的功能中,都需要获取控件 ID,这个在本实施例中可以通过测试框架来实现。比如Robotium,它提供了模拟各种手势操作(点击、长按、滑动等)、查找和断言机制的API(API为操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令),能够对各种控件进行操作。
[0095]如图6所示,在本实施例中,测试代理模块300的实现借助于测试框架提供的接口, 在事件监听时查询控件ID,在事件模拟单元303中,解析出控件ID、事件信息,通过测试框架接口,发往智能终端系统的事件队列。在实际应用中,本发明的技术方案不限于采用该种方式获取控件ID和执行测试事件。
[0096]采用了该发明中的实现智能终端UI自动化测试的系统及方法,具有如下有益效果:
[0097](1)采用本发明的技术方案,通过选用控件ID作为控件在录制和回放过程中的标志,其在智能终端操作系统中具有唯一性和不可替换性并且不受分辨率的影响,从而不仅有效地实现了对同种智能终端多次测试的大大简化,并且实现了对于不同的智能终端的兼容,可以在具有不同分辨率的智能终端上执行同一个测试脚本,可以做到一次录制,在不同的智能终端上进行多次快速的自动化测试;[〇〇98] (2)本发明的方法特别适用于UI自动化回归测试;回归测试是指修改了旧代码后, 重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误,自动回归测试将大幅降低系统测试、维护升级等阶段的成本,其作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试,在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的;
[0099](3)本发明的回放模块在发送操作指令时,设置检查点,由测试主机根据测试程序反馈回来的测试结果与基准数据对比进行综合评价,保证整个测试过程的顺利进行,并且在关键点充分了解测试情况,达到UI功能测试的目的;
[0100](4)本发明的技术方案中通过测试代理模块、存储模块和控制模块基于测试框架来获取控制ID,在测试工作中,测试代理模块、存储模块和控制模块协同配合,在测试之前不必再特别编写测试用例,录制模块可以根据需要录制智能终端发送过来的数据得到测试脚本,大大提高了测试效率,可以广泛应用于各种智能终端如手机、平板电脑等的UI自动化测试,具有更广泛的应用范围。
[0101]在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
【主权项】
1.一种实现智能终端UI自动化测试的系统,用于对智能终端执行用户界面测试,其特 征在于,所述的系统包括:录制模块,用以从所述的智能终端获取用户操作信息,并录制成操作指令脚本,所述的 用户操作信息包括操作数据和与操作关联的控件ID;和回放模块,用以将操作指令脚本转化为操作指令,并发送至所述的智能终端;以使所述 的智能终端根据所述的操作指令执行测试。2.根据权利要求1所述的实现智能终端UI自动化测试的系统,其特征在于,所述的系统 还包括:测试代理模块,用以获取与操作关联的控件ID,将所述的控件ID和操作数据发送至所 述的录制模块,以及根据所述的操作指令构造测试事件;和存储模块,用以获取用户的操作数据并存储;控制模块,用以根据所述的测试事件执行智能终端用户界面测试。3.根据权利要求2所述的实现智能终端UI自动化测试的系统,其特征在于,所述的测试 代理模块包括:通讯单元,用以与所述的录制模块和回放模块进行通讯;操作监听单元,用以通过所述的存储模块监听用户的操作,并在智能终端存储中查询 与操作关联的控件ID;事件模拟单元,用以将所述的操作指令解析成控件ID和操作数据,并构造测试事件,以 及将测试事件插入智能终端的程序执行队列。4.根据权利要求3所述的实现智能终端UI自动化测试的系统,其特征在于,所述的通讯 单元通过Socket建立的监听服务端接收所述的操作指令;或者所述的通讯单元通过TCP或 UDP与所述的录制模块和回放模块进行通讯,通讯方式采用客户端/服务端的通讯模型。5.根据权利要求1所述的实现智能终端UI自动化测试的系统,其特征在于,所述的系统 还包括测试评价模块,所述的智能终端还用以将测试执行结果发送至所述的测试评价模 块,所述的测试评价模块用以根据所述的测试执行结果进行测试评价。6.根据权利要求5所述的实现智能终端UI自动化测试的系统,其特征在于,所述的测试 执行结果包括当前活动的UI属性信息,所述的测试评价模块用以将当前活动的UI属性信息 与基准数据进行对比,如果UI属性信息在基准数据的预设范围之内,则判断测试通过,否则 判断测试不通过。7.根据权利要求1所述的实现智能终端UI自动化测试的系统,其特征在于,所述的操作 数据包括操作类型、操作动作和与操作关联的数据,所述的操作类型包括键盘输入类型操 作、点击/拖拽类型操作和定时事件类型操作。8.根据权利要求1所述的实现智能终端UI自动化测试的系统,其特征在于,所述的用户 操作信息还包括与操作关联的控件的坐标和大小。9.根据权利要求1所述的实现智能终端UI自动化测试的系统,其特征在于,所述的智能 终端为手机、平板电脑、笔记本电脑或机顶盒。10.—种基于权利要求1至9中任一项所述的系统实现智能终端UI自动化测试的方法, 其特征在于,所述的方法包括以下步骤:(1)所述的智能终端将用户操作信息发送至所述的录制模块,所述的用户操作信息包括操作数据和与操作关联的控件ID;(2)所述的录制模块将所述的用户操作信息录制成操作指令脚本;(3)所述的回放模块将操作指令脚本转化为操作指令发送至所述的智能终端;(4)所述的智能终端根据所述的操作指令执行测试。11.根据权利要求10所述的实现智能终端UI自动化测试的方法,其特征在于,所述的系 统还包括测试代理模块和存储模块,所述的步骤(1 ),包括以下步骤:(1-1)所述的存储模块获取用户的操作数据;(1-2)所述的测试代理模块通过所述的存储模块查询与操作关联的控件ID;(1-3)所述的测试代理模块将所述的操作数据和与操作关联的控件ID发送至所述的录 制丰吴块。12.根据权利要求11所述的实现智能终端UI自动化测试的方法,其特征在于,所述的测 试代理模块包括操作监听单元,所述的步骤(1-2),包括以下步骤:(1-2-1)所述的操作监听单元通过所述的存储模块监听用户的操作;(1-2-2)所述的操作监听单元在智能终端存储中查询与操作关联的控件ID。13.根据权利要求11所述的实现智能终端UI自动化测试的方法,其特征在于,所述的系 统还包括控制模块,所述的步骤(4),包括以下步骤:(4-1)所述的测试代理模块根据操作指令构造测试事件;(4-2)所述的控制模块根据所述的测试事件执行测试。14.根据权利要求13所述的实现智能终端UI自动化测试的方法,其特征在于,所述的测 试代理模块包括通讯单元和事件模拟单元,所述的步骤(4-1),包括以下步骤:(4-1-1)所述的通讯单元接收所述的操作指令;(4-1-2)所述的事件模拟单元将所述的操作指令解析成控件ID和操作数据;(4-1-3)所述的事件模拟单元构造测试事件;(4-1-4)所述的事件模拟单元将测试事件插入智能终端的程序执行队列。15.根据权利要求14所述的实现智能终端UI自动化测试的方法,其特征在于,所述的通 讯单元接收所述的操作指令,具体为:所述的通讯单元通过Socket建立的监听服务端接收所述的操作指令。16.根据权利要求10所述的实现智能终端UI自动化测试的方法,其特征在于,所述的步 骤(3),包括以下步骤:(3-1)所述的回放模块将所述的操作指令脚本转化为操作指令;(3-2)所述的回放模块根据脚本中的顺序将所述的操作指令依次发送至所述的智能终端。17.根据权利要求10所述的实现智能终端UI自动化测试的方法,其特征在于,所述的系 统还包括测试评价模块,所述的步骤(4)之后,还包括以下步骤:(5-1)所述的智能终端将测试执行结果发送至所述的测试评价模块;(5-2)所述的测试评价模块根据所述的测试执行结果进行测试评价。18.根据权利要求17所述的实现智能终端UI自动化测试的方法,其特征在于,所述的测 试执行结果包括当前活动的UI属性信息,所述的测试评价模块根据所述的测试执行结果进 行测试评价,具体为:所述的测试评价模块将当前活动的UI属性信息与基准数据进行对比,如果UI属性信息 在基准数据的预设范围之内,则判断测试通过,否则判断测试不通过。19.根据权利要求17所述的实现智能终端UI自动化测试的方法,其特征在于,所述的步 骤(5-2)之后,还包括以下步骤:(5-3)所述的回放模块判断所述的操作指令脚本中是否执行完毕,如果是,则结束退 出,否则继续步骤(3)。20.根据权利要求19所述的实现智能终端UI自动化测试的方法,其特征在于,所述的 (5-1)和(5-2)之间,还包括以下步骤:(5-1-1)所述的测试评价模块判断当前节点是否为系统预设检查点,如果是,则继续步 骤(5-2),否则继续步骤(5-3)。21.根据权利要求10所述的实现智能终端UI自动化测试的方法,其特征在于,所述的操 作数据包括操作类型、操作动作和与操作关联的数据,所述的操作类型包括键盘输入类型 操作、点击/拖拽类型操作和定时事件类型操作。
【文档编号】G06F11/36GK106021099SQ201610311161
【公开日】2016年10月12日
【申请日】2016年5月12日
【发明人】陈正勇
【申请人】上海联彤网络通讯技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1