本发明专利技术涉及通信领域,公开了一种终端的应用自动化测试方法及其系统。本发明专利技术中,利用功能终端普遍存在的层次化事件响应机制,在事件分发的节点直接把自动化测试工具发来的文本化操作命令转化成相应的事件响应函数的调用,并将事件响应函数的调用结果反馈给自动化测试工具。由于无需通过拟人动作命令将光标挪到相应的应用图标并做点击操作。因此,即使用户界面(UI)发生部分变化,只要UI的层次结构保持稳定并且应用中的被测控件没有取消,就无需改变测试脚本,对自动化测试的效果和结果也不会造成影响,而且同时大幅提高了应用自动化测试的执行速度。
【技术实现步骤摘要】
【专利摘要】本专利技术涉及通信领域,公开了一种终端的应用自动化测试方法及其系统。本专利技术中,利用功能终端普遍存在的层次化事件响应机制,在事件分发的节点直接把自动化测试工具发来的文本化操作命令转化成相应的事件响应函数的调用,并将事件响应函数的调用结果反馈给自动化测试工具。由于无需通过拟人动作命令将光标挪到相应的应用图标并做点击操作。因此,即使用户界面(UI)发生部分变化,只要UI的层次结构保持稳定并且应用中的被测控件没有取消,就无需改变测试脚本,对自动化测试的效果和结果也不会造成影响,而且同时大幅提高了应用自动化测试的执行速度。【专利说明】终端的应用自动化测试方法及其系统
本专利技术涉及通信领域,特别涉及对终端的各应用的自动化测试技术。
技术介绍
各种终端(例如移动终端)的普及为人们的生活带来了很大的便利,无论在哪里,每个人都可以利用它进行通信、娱乐、生活助理,甚至是工作。这些终端上搭载的应用越来越丰富和复杂,满足了人们的多样化需求。但这也为终端厂商对这些应用进行充分的测试带来了巨大的挑战,为了解决这个挑战,各厂家普遍选择了对这些应用进行自动化测试的方案。具体地说,当前功能终端的应用自动化测试方法分为软硬两种方式:软方式是向被测终端发送按键或点击屏幕等拟人动作命令,终端上的自动化测试代理将其翻译成终端内部的键盘点击或屏幕点击事件驱动终端上的应用进行动作,然后自动化测试软件又能够通过终端上的自动化测试代理获取终端的屏幕截图进而通过对屏幕截图的分析判断自动化测试的执行状态或结果。硬的方式就是通过机械手和摄像头来代替终端上的自动化代理和软件操作命令。然而,这两种方法的共同缺点就是严重依赖被测件UI (用户界面)的实现,Π的一点儿小的变化都可能导致自动化测试的失败,例如菜单中目标项目的位置从第三行变到第四行就会是原来的自动化脚本不能正常执行,再比如分辨率的变化就可能导致自动化脚本无法对结果进行正确的判断。另外,这两种方法由于完全拟人操作,在执行一个应用测试的过程中,光是把光标挪到这个应用的图标上就要好几步。并且,为了避免操作太快出现按键无效的风险,操作又必须放慢进而导致自动化测试的执行速度不高。
技术实现思路
本专利技术的目的在于提供一种终端的应用自动化测试方法及其系统,使得在尽量保证测试真实性的情况下,降低应用自动化测试对UI的依赖,并且提高了自动化测试的执行速度。为解决上述技术问题,本专利技术提供了一种终端的应用自动化测试方法,包含以下步骤:在需对终端的应用进行测试时,所述终端接收来自自动化测试工具的文本化操作命令;所述终端根据待测应用的层次化事件响应机制,在每个事件分发的节点自动将来自所述自动化测试工具的文本化操作命令,转化成相应的事件响应函数的调用;所述终端将所述事件响应函数的调用结果,反馈给所述自动化测试工具。本专利技术还提供了一种终端的应用自动化测试系统,包含:自动化测试工具和终端;所述自动化测试工具用于在需对终端的应用进行测试时,向所述终端发送待测应用的文本化操作命令;所述终端包含:操作命令接收模块,用于接收来自所述自动化测试工具的文本化操作命令;转化模块,用于根据待测应用的层次化事件响应机制,在每个事件分发的节点自动将来自所述自动化测试工具的文本化操作命令,转化成相应的事件响应函数的调用;反馈模块,用于将所述事件响应函数的调用结果,反馈给所述自动化测试工具。本专利技术实施方式相对于现有技术而言,利用了功能终端普遍存在的层次化事件响应机制,在事件分发的节点直接把自动化测试工具发来的文本化操作命令转化成相应的事件响应函数的调用,并将事件响应函数的调用结果反馈给自动化测试工具,告知自动化测试工具当前哪个应用显示在当前界面上以及该应用指定控件的内容。由于是根据文本化操作命令直接调用应用的相应事件响应函数,而非通过拟人动作命令将光标挪到相应的应用图标并做点击操作。因此,即使用户界面(UI)发生部分变化,只要Π的层次结构保持稳定并且应用中的被测控件没有取消,就无需改变测试脚本,对自动化测试的效果和结果也不会造成影响。而且,每个操作步骤中也没有了一点点挪动光标到对应的应用或菜单项的操作,因此不但在尽量保证测试真实性的情况下,降低了应用自动化测试对UI的依赖,而且同时大幅提高了应用自动化测试的执行速度。进一步地,在反馈调用结果时,终端以文本的方式将事件响应函数的调用结果,反馈给自动化测试工具。通过文本方式将当前哪个应用显示在当前界面上以及该应用指定控件的内容反馈给自动化测试工具,不仅保证了测试结果反馈的准确性,也提高了传输效率。进一步地,由所述终端内的上级自动化测试代理接收所述来自自动化测试工具的文本化操作命令。在每个事件分发的节点自动将来自所述自动化测试工具的文本化操作命令,转化成相应的事件响应函数的调用的步骤中:由所述上级自动化测试代理识别收到的所述文本化操作命令所对应的应用;所述上级自动化测试代理将所述文本化操作命令发送给所对应应用的下级自动化测试代理;所述对应应用的下级自动化测试代理将收到的文本化操作命令,转化成相应的事件响应函数的调用。通过建立两级的自动化测试代理,各下级自动化测试代理分别与各应用一一对应,由下级自动化测试代理将收到的文本化操作命令,转化成相应应用的事件响应函数的调用;由上级自动化测试代理识别收到的文本化操作命令所对应的应用,并将各文本化操作命令发送给各应用的下级自动化测试代理,实现简单,保证了本专利技术方案的可行性。【专利附图】【附图说明】图1是根据本专利技术第一实施方式的终端的应用自动化测试方法流程图;图2是根据本专利技术第一实施方式中的两级自动化测试代理示意图;图3是根据本专利技术第三实施方式的终端的应用自动化测试系统结构示意图。【具体实施方式】为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本专利技术各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。本专利技术的第一实施方式涉及一种终端的应用自动化测试方法。具体流程如图1所/Jn ο在步骤110中,在需对终端的应用进行测试时,终端接收来自自动化测试工具的文本化操作命令。本实施方式中的自动化测试工具与现有技术中的自动化测试软件类似,用于触发终端上的各种应用的自动化测试。在步骤120中,终端根据待测应用的层次化事件响应机制,在每个事件分发的节点自动将来自自动化测试工具的文本化操作命令,转化成相应的事件响应函数的调用。具体地说,如图2所示,在本实施方式中,终端内设有两级自动化测试代理,与自动化测试工具进行交互的为上级自动化测试代理,在各应用中分别设置有下级自动化测试代理。由终端内的上级自动化测试代理接收来自自动化测试工具的文本化操作命令,然后识别收到的所述文本化操作命令所对应的应用,并将文本化操作命令发送给所对应应用的下级自动化测试代理。由接收到文本化操作命令的下级自动化测试代理,将收到的文本化操作命令,转化成相应的事件响应函数的调用。相应的事件响应函数可能是应用的事件响应函数,也可能是应用上控件的事件响应函数,由收到的文本化操作命令所决定。也就是说,在本实施本文档来自技高网...
【技术保护点】
一种终端的应用自动化测试方法,其特征在于,包含以下步骤:在需对终端的应用进行测试时,所述终端接收来自自动化测试工具的文本化操作命令;所述终端根据待测应用的层次化事件响应机制,在每个事件分发的节点自动将来自所述自动化测试工具的文本化操作命令,转化成相应的事件响应函数的调用;所述终端将所述事件响应函数的调用结果,反馈给所述自动化测试工具。
【技术特征摘要】
【专利技术属性】
技术研发人员:毕帅,
申请(专利权)人:联芯科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。