控件动作执行方法

文档序号:6380537阅读:246来源:国知局
专利名称:控件动作执行方法
控件动作执行方法技术领域
本发明主要涉及计算机技术,尤其涉及一种控件动作执行方法。
背景技术
对计算机软件应用程序的开发往往是复杂的并且对用户来说是神秘的。然而,在用户界面和应用程序开发框架中,逻辑和非用户界面行为被构建到用户界面组件内以扩展与用户界面组件相关联的控件属性。非用户界面行为可被构建到用户界面组件的成分中。 合成控件可能相当巨大,且具有用户难以修改来适合不同需求的众多不同属性。属性的巨大数目使得控件的定制复杂化了,因为用户可能不会熟悉所有相关联的属性。对象模型变得膨胀,使得当在表单中包括控件时,用户将会被控件所提供的功能淹没。
同时,随着业务的变化,软件产品的种类越来越多,软件产品的升级越来越快,因此,在很多的软件开发组织中,测试部门承受着巨大的压力。一方面,要测试越来越多的软件产品,另一方面要应对越来越短的测试时间,此外,还要面对捉襟见肘的测试资源。通常情况下,软件开发组织会使用自动化测试工具,其中,基于图形化用户接口界面和Web方式的自动化测试是难度相对较大的领域,常用的自动化测试框架技术有据驱动引擎技术和测试计划驱动框架,另外,一些公司进行二次开发,开发出适合于被测系统的企业自动化功能测试框架。大多数的GUI自动化测试都是实现二大基本功能控件捕获和事件模拟。这是自动化测试的底层驱动,各种应用框架都是基于这个驱动而搭建起来的。在测试当中,最常见的实现机制就是录制回放模式。录制是指将用户手动操作的过程采用脚本的形式记录下来,回放是指测试软件通过读取记录的脚本,重新对人工操作进行模拟的过程。虽然录制回放方式能够快速的生成测试,但是同时也存在着一些弊端。其中最主要的原因在于使用录制回放方式时往往需要耗费时间和资源来进行调试和脚本的维护。并且,这些工作的工作量会随着脚本数量的增加而增大到几乎不可能再对脚本进行有效维护的地步。另一方面, 不同的测试工具可能会提供不同的脚本,这会导致学习成本的增加。发明内容
本发明通过对控件上的动作执行调整,使得应用程序的开发和测试变得更加容易、更加柔性。在本发明中提供了一种控件动作执行方法,所述方法包括在第一控件处接收第一动作,所述第一动作包括确定一对象;响应于所述第一动作,判断所述对象是否合法;在第二控件处接收第二动作,所述第二动作包括触发第一事件发生;响应于所述第二动作,触发所述第一事件发生;响应于所述第一事件,调用第一函数;响应于所述第一函数,在关联于所述第一事件的所述对象上执行第一操作。
根据本发明一实施例,其中,判断所述对象是否合法包括触发第二事件发生;响应于所述第二事件,调用第二函数;响应于所述第二函数,执行第二操作以判断所述对象是否合法。
根据本发明另一实施例,其中,所述第一操作是算术运算、或逻辑运算、或算术运算与逻辑运算的集合
根据本发明另一实施例,其中还包括在第三控件处接收第三动作,所述第三动作包括触发第三事件发生;响应于所述第三动作,触发所述第三事件发生;响应于所述第三事件,在关联于所述第三事件的图形用户接口上执行第三操作。


图I示出根据本发明示例性实施例的控件动作执行方法的流程图。
具体实施方式
本公开的各个实施例将在下文中参考附图更详细地描述,附图构成了本公开的一部分,并通过说明示出了用于实现本发明的特定示例性实施例。然而,本发明可体现为众多不同的形式,且不应被解释为限于此处所述的实施例;相反,提供这些实施例使得本公开将是充分且完整的,且将向本领域的技术人员全面传达范围。本公开可被实现为方法或设备等。从而,本公开可采取完全硬件实施例、完全软件实施例、或组合软件和硬件方面的实施例的形式。以下详细描述从而不应以限制的含义解释。
本发明所应用的计算环境包括通用或服务器类型的计算机和显示设备。然而,计算环境可包括其它类型的计算设备。计算机环境可包括手持或膝上型设备、机顶盒、游戏操纵台、大型计算机等。此外,计算环境可使用分布式处理配置。在分布式计算环境中,计算资源可在环境中物理分离。示例性计算机包括一个或多个处理器或处理单元、系统存储器和总线。总线将各种系统组件连接在一起。例如,总线将处理器连接到系统存储器。总线可用各种总线结构或总线结构的组合来实现,包括存储器总线或存储器控制器、外围总线、 加速图形端口和使用各种总线架构中任一种的处理器或局域总线。计算机还包括各种计算机可读介质,包括各自可以是可移动或不可移动的各种类型的易失性或非易失性介质。通常,上述计算机可读介质提供计算机可读指令、数据结构、程序模块和其它数据的非易失性存储以供计算机使用。例如,可读介质可存储操作系统、应用专用功能、其它程序模块和程序数据。计算机环境可包括各种输入设备。例如,计算机环境包括用于向计算机输入指令和信息的键盘和定点设备。计算机环境可包括其它输入设备,诸如麦克风、操纵杆、游戏垫、 圆盘式卫星天线、串行端口、扫描仪、读卡设备、数码相机或摄像机等。输入/输出接口将输入设备耦合到处理单元。更一般地,输入设备可通过任何类型的接口和总线结构耦合到计算机,诸如并行端口、串行端口、游戏端口、通用串行总线端口等。计算机环境还包括显示设备。视频适配器将显示设备耦合到总线。除显示设备之外,计算机环境可包括诸如扬声器、 打印机等的其它外围设备。计算机可在使用到诸如远程计算设备的一个或多个远程计算机的逻辑连接的网络化环境中操作。远程计算设备可包括任何类型的计算机设备,包括通用个人计算机、便携式计算机、服务器等。远程计算设备可包括以上相关于计算机描述的特征的全部或其某个子集。任何类型的网络可用于将计算机与远程计算设备耦合。计算机经由网络接口耦合到网络,该接口可使用宽带连接、调制解调器连接、DSL连接或其它连接策略。 计算环境可提供用于连接计算机与远程计算设备的无线通信功能。
一般而言,程序模块包括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、函数、组件、数据结构和其他类型的结构。此外,本领域的技术人员将理解本发明4可以使用其他计算机系统配置来实现,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等。本发明也可以在通过通信网络链接的远程处理设备执行任务的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。其中,控件包括抽象控件、标准控件、自定义控件,控件动作封装模块进一步包括抽象控件动作封装模块,用于对抽象控件的动作进行封装,具体地,提供对组件的封装,提供一个通用的从某个容器中获取一个组件以及对组件进行某些通用的点击操作,例如click、keyPress等;标准控件动作封装模块,用于对标准控件的动作进行封装,主要针对虚拟机中的一些标准的控件进行封装,例如JTree、JTable等控件;自定义控件动作封装模块,用于对自定义控件的动作进行封装。此外,在关键字执行实体获取控件时,通过给定的控件的相关信息确定控件以及控件在当前活动窗口的界面中的位置。其中, 相关信息包括控件序号、控件描述、控件定位信息。
事件触发层封装了一些常用的界面操作接口供句柄层调用,例如按钮的点击、菜单的选择以及文本框的输入等界面操作。当句柄层调用界面操作时首先需要对执行的动作进行解析并获取执行动作的参数,然后再构造事件去进行事件模拟,每个界面操作包含一个或者多个界面事件模拟。以文本框的输入为例,当句柄层调用文本框输入界面操作时,需要使文本框控件得到焦点同时触发文本框文本全部选中事件,最后依次触发每个字符的键盘输入事件,这样就完成了文本框的输入操作。借助于本发明的技术方案,提供了一种稳定的控件捕获和事件触发功能,并且以统一的接口,灵活的扩展机制,解决自定义控件问题, 为一种基本自动化底层驱动,为各种自动化应用提供技术基础。本发明也可以应用于任何基于Java AWT/Swing界面应用程序的自动化测试。
图I示出根据本发明示例性实施例的控件动作执行方法的流程图。根据图I所述的方法流程图可知,所述方法包括在第一控件处接收第一动作,如前所述其中,控件包括抽象控件、标准控件、自定义控件。当句柄层调用界面操作时首先需要对执行的动作进行解析并获取执行动作的参数,在本发明中所述执行动作的所有参数关联于一对象,而所述对象由所述第一动作所确定,即所述第一动作包括确定所述对象;在通过确定所述对象而得到所有参数之前响应于所述第一动作,判断所述对象是否合法,所述合法性判断可通过触发第二事件实现。接着,在第二控件处接收第二动作,控件包括抽象控件、标准控件、自定义控件。所述第二动作包括触发第一事件发生,即经由所述第二动作触发第一事件发生;响应于所述第二动作,触发所述第一事件发生;响应于所述第一事件,调用第一函数,容易理解触发第一事件后,在执行第一事件的时间内包括调用第一函数;响应于所述第一函数,在关联于所述第一事件的所述对象上执行第一操作,或者按照所述第一函数规则,基于关联于所述对象的相关参数执行第一操作。其中,所述第一操作是算术运算、或逻辑运算、或算术运算与逻辑运算的集合。
根据本发明一实施例,其中,判断所述对象是否合法包括触发第二事件发生;响应于所述第二事件,调用第二函数;响应于所述第二函数,执行第二操作以判断所述对象是否合法,在一实施例中,按照第二函数规则,基于关联于所述对象的相关参数判断所述对象是否合法;优选地,通过对所述参数按照第二函数规则进行计算,计算出一验证码,然后将计算得到的验证码在合法验证码的集合中进行匹配,如果匹配成功则判断为合法,否则判断为不合法;另一优选实施例中,按照第二函数规则,解析关联于所述对象的用户ID参数,从而得到用户ID,然后将所述用户ID在合法用户ID集合中进行匹配,如果匹配成功则判断为合法,否则判断为不合法。其中,所述第二操作是算术运算、或逻辑运算、或算术运算与逻辑运算的集合。
根据本发明另一实施例,其中还包括在第三控件处接收第三动作,控件包括抽象控件、标准控件、自定义控件。所述第三动作包括触发第三事件发生;响应于所述第三动作, 触发所述第三事件发生;响应于所述第三事件,在关联于所述第三事件的图形用户接口上执行第三操作。其中,所述第三操作是显示操作、或呈现操作、或转移操作。
最后,在本文中通过首先标识许多特征能够解决的示例性问题来描述这些特征。 这种说明方式并非承认他人已经以本文所指出的方式意识到和/或阐明这些问题。对相关领域中出现的问题的意识和阐明应被理解为本发明的一部分。具体而言,本文并非承认本公开的背景部分中描述的特征构成现有技术。此外,背景部分中有限问题集的描述并不是将本发明的应用限制于仅解决这些问题;它可应用于本文并未清除指出的问题和环境。此外,本公开的概述部分和摘要部分中阐述的主题不对权利要求书中阐述的主题产生限制。
更一般地,虽然以具体到结构特征和/或方法动作的语言来描述本发明,但是应该理解,所附权利要求书所定义的本发明没有必要受限于所述的具体特征或动作。相反,具体特征和动作可作为实现要求保护的本发明的示例性形式来公开。
权利要求
1.一种控件动作执行方法,所述方法包括 在第一控件处接收第一动作,所述第一动作包括确定一对象; 响应于所述第一动作,判断所述对象是否合法; 在第二控件处接收第二动作,所述第二动作包括触发第一事件发生; 响应于所述第二动作,触发所述第一事件发生; 响应于所述第一事件,调用第一函数; 响应于所述第一函数,在关联于所述第一事件的所述对象上执行第一操作。
2.根据权利要求I所述的方法,其中,判断所述对象是否合法包括触发第二事件发生;响应于所述第二事件,调用第二函数;响应于所述第二函数,执行第二操作以判断所述对象是否合法。
3.根据权利要求I所述的方法,其中所述第一操作是算术运算。
4.根据权利要求I所述的方法,其中所述第一操作是逻辑运算。
5.根据权利要求I所述的方法,其中所述第一操作是算术运算和逻辑运算的集合。
全文摘要
本发明提供了一种控件动作执行方法,所述方法包括在第一控件处接收第一动作,所述第一动作包括确定一对象;响应于所述第一动作,判断所述对象是否合法;在第二控件处接收第二动作,所述第二动作包括触发第一事件发生;响应于所述第二动作,触发所述第一事件发生;响应于所述第一事件,调用第一函数;响应于所述第一函数,在关联于所述第一事件的所述对象上执行第一操作。
文档编号G06F9/44GK102929632SQ20121043758
公开日2013年2月13日 申请日期2012年11月6日 优先权日2012年11月6日
发明者王媛媛 申请人:苏州懿源宏达知识产权代理有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1