CN107451062B - 一种用户界面遍历测试方法、装置、服务器、存储介质 - Google Patents

一种用户界面遍历测试方法、装置、服务器、存储介质 Download PDF

Info

Publication number
CN107451062B
CN107451062B CN201710676371.5A CN201710676371A CN107451062B CN 107451062 B CN107451062 B CN 107451062B CN 201710676371 A CN201710676371 A CN 201710676371A CN 107451062 B CN107451062 B CN 107451062B
Authority
CN
China
Prior art keywords
traversal
user interface
page
task
sub
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.)
Active
Application number
CN201710676371.5A
Other languages
English (en)
Other versions
CN107451062A (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201710676371.5A priority Critical patent/CN107451062B/zh
Publication of CN107451062A publication Critical patent/CN107451062A/zh
Application granted granted Critical
Publication of CN107451062B publication Critical patent/CN107451062B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种用户界面遍历测试方法、装置、服务器、存储介质。所述方法包括:根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务;分别执行所述多个子遍历任务,以完成用户界面遍历测试,使得用户界面遍历测试时能同时在多个设备上运行,完成了用户界面遍历测试的并发自动化处理,解决现有用户界面遍历测试方法中耗时多的问题。

Description

一种用户界面遍历测试方法、装置、服务器、存储介质
技术领域
本发明实施例涉及软件测试技术,尤其涉及一种用户界面遍历测试方法、装置、服务器、存储介质。
背景技术
随着移动智能终端的广泛应用,移动终端正向功能增强化、多模化、定制化、平台开放化的方向发展,而基于Android系统或IOS系统开发的移动应用服务APP正在影响并改变着人们的生活。每款APP在开发完毕后,为了避免用户使用时出现点击某个功能无法响应、用户界面跳转失败或者逻辑错误等问题,需要对所开发的APP进行遍历测试。
目前的用户界面遍历测试方法主要分为深度遍历和广度遍历,采用深度优先搜索算法或宽度优先搜索算法依次进入各个页面,操作各页面中的各个控件,依次测试。整个测试过程都在一台设备上运行,测试时依次进入各个页面,操作各个控件进行测试,十分耗时。
发明内容
本发明实施例提供一种用户界面遍历测试方法、装置、服务器、存储介质,以实现解决现有用户界面遍历测试方法中耗时多的问题。
第一方面,本发明实施例提供了一种用户界面遍历测试方法,包括:
根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务;
分别执行所述多个子遍历任务,以完成用户界面遍历测试。
第二方面,本发明实施例还提供了一种用户界面遍历测试装置,包括:
遍历任务拆分模块,用于根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务;
子遍历任务执行模块,用于分别执行所述多个子遍历任务,以完成用户界面遍历测试。
第三方面,本发明实施例还提供了一种服务器,所述服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的用户界面遍历测试方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的用户界面遍历测试方法。
本发明实施例通过根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务,分别执行多个子遍历任务,以完成用户界面遍历测试,使得用户界面遍历测试时能同时在多个设备上运行,完成了用户界面遍历测试的并发自动化处理,解决现有用户界面遍历测试方法中耗时多的问题。
附图说明
图1a是本发明实施例一中的用户界面遍历测试方法的流程图;
图1b是本发明实施例一中的用户界面遍历测试方法中的用户界面遍历任务拆分示意图;
图2a是本发明实施例二中的用户界面遍历测试方法的流程图;
图2b是本发明实施例二中的用户界面遍历测试方法中的目标页面示意图;
图3是本发明实施例三中的用户界面遍历测试方法的流程图;
图4是本发明实施例四中的用户界面遍历测试装置的结构示意图;
图5是本发明实施例五中的服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1a为本发明实施例一中的用户界面遍历测试方法的流程图,本实施例可适用于对用户界面进行遍历测试的情况,该方法可以由用户界面遍历测试装置执行,该用户界面遍历测试装置可以采用软件和/或硬件的方式实现,例如,该用户界面遍历测试装置可配置于服务器中。如图1a所示,该方法具体包括:
S110、根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务。
当需要对用户界面测试时,可通过应用程序编程接口或Jenkins触发用户界面遍历任务。用户界面遍历任务触发后,首先根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务。
在本实施例中,页面特征可以为能够体现用户界面每个页面构成或属性的特征,可以是用户界面包含的页面的总个数,也可以是每个页面中包含控件的个数,也可以是页面的属性值等。优选的,可以使用分布式任务拆分器,根据用户界面的页面特征,将耗时长的用户界面遍历任务拆分为多个子任务。
S120、分别执行所述多个子遍历任务,以完成用户界面遍历测试。
分布式任务拆分器将多个子任务分别分配给对应的任务执行器进行处理,其中每一个任务执行器对应一台设备,这样多个子任务就能够并发的在多个设备上运行,提升任务执行的效率。可以理解的是,任务执行器也可以同时具备任务拆分器的功能,以便进一步对子遍历任务进行再次拆分,提高遍历效率,本发明实施例对此不做任何限制。
分布式任务拆分器将子任务分配给任务执行器后,任务执行器执行对应的用户界面遍历任务的子任务,直到完成用户界面遍历测试为止。
本发明实施例首先根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务,然后分别执行多个子遍历任务,以完成用户界面测试,使得用户界面遍历测试能同时在多个设备上运行,完成了用户界面遍历测试的并发自动化处理,解决了现有用户界面遍历测试方法耗时多的问题;并发处理的用户界面遍历测试方法能够作为持续集成中每次commit(代码提交)操作后的环节,进而能够及时发现commit操作引入的问题,提高了用户界面遍历测试的时效性。
在上述技术方案的基础上,所述分别执行所述多个子遍历任务,完成用户界面遍历测试包括:
分别执行所述多个子遍历任务,当各子遍历任务的当前遍历页面中不含有任何控件,和/或当前遍历页面与其他子遍历任务中的页面重合时,结束所述当前遍历页面的遍历操作;当所述多个子遍历任务全部结束时,完成所述用户界面遍历测试。
需要说明的是,当用户界面遍历任务的子任务也能够被拆分时,依然能够继续使用分布式任务拆分器对子任务进行拆分,形成拆分后的子任务,再将拆分后的各个子任务分配给任务执行器执行,直到当前遍历页面中不含有任何控件和/或当前遍历页面与其他子遍历任务中的页面重合时,说明所有页面均测试完成,此时完成用户界面遍历测试。通过对用户界面遍历任务的多次拆分,能够使任务执行速度呈倍数提高。
图1b是本发明实施例一中的用户界面遍历测试方法中的用户界面遍历任务拆分示意图。该示意图仅为了协助理解用户界面遍历任务拆分过程,并不对拆分方式做限制。如图1b所示,分布式任务拆分器120b、分布式任务拆分器/任务执行器130b和分布式任务拆分器/任务执行器140b共同构成了用户界面遍历测试装置。一个用户界面遍历任务110b由分布式任务拆分器120b拆分为多个子任务,并将子任务分配给分布式任务拆分器/任务执行器130b处理;当分布式任务拆分器/任务执行器103b接收到的子任务还可以继续拆分时,可以选择继续对子任务进行拆分,将拆分后的子任务再次分配给布式任务拆分器/任务执行器140b处理;也可以不对子任务进行拆分,直接执行该子任务。其中,是否对子任务进行进一步地再次拆分是根据需要设置的,子任务的进一步拆分受硬件资源的限制,例如,当可使用的任务执行器对应的设备只有M个时,若子任务拆分后所需的设备大于M个,那么选择对子任务不进行进一步拆分,直接执行该子任务。
实施例二
图2a是本发明实施例二中的用户界面遍历测试方法的流程图,本实施例在实施例一的基础上进行进一步地优化。如图2a所示,所述方法包括:
S210、根据用户界面的页面特征,获取用户界面的控件结构树。
在本实施例中,当用户界面遍历任务触发时,获取用户界面的控件结构树。其中获取用户界面的控件结构树的方法有多种,作为本实施例的一种优选方式,可以从已安装了待测试APP的移动设备上通过dump的方式获取当前页面的xml结构文件,该xml结构文件包含了移动设备上当前页面的整体布局,由布局控件和用户界面控件等组成;通过对获取的xml结构文件进行解析,便可以获取用户界面的控件结构树。
S220、根据所述控件结构树,获取用户界面中目标页面的控件,并将所述控件作为执行所述用户界面遍历任务的控件入口。
获取了用户界面的控件结构树后,根据控件结构树,获取目标页面的控件,在本实施例中,目标页面可以为用户界面的主页面,也可以为用户界面的主页面下的节点页面,也可以同时为用户界面的主界面和用户界面的主页面下的节点界面。例如,当需要对用户界面主页面遍历测试时,以用户界面的主页面作为目标页面,获取用户界面主页面的控件,并将获取的控件作为执行用户界面遍历任务的控件入口;当需要对用户界面的主页面下的节点页面遍历测试时,可以将节点页面作为目标页面,获取节点页面的控件,并将其作为执行用户界面遍历任务的控件入口;当需要同时对用户界面的主页面和用户界面的主页面下的节点页面遍历测试时,可以将用户界面的主页面和用户界面的主页面下的节点界面均作为目标页面,获取用户界面的主页面和用户界面的主页面下的节点界面的控件,并将其作为执行用户界面遍历任务的控件入口。
需要说明的是,用户界面遍历任务可以从用户界面主页面开始执行,也可以从用户界面主页面下的节点页面开始执行,也可以同时从用户界面的主页面和用户界面的主页面下的节点页面开始执行,在此对其不做限制。
S230、根据所述控件入口将所述用户界面遍历任务拆分为多个子遍历任务。
获取目标页面的控件后,将其作为执行用户界面遍历任务的控件入口,再根据以上控件入口对用户界面遍历任务拆分,将用户界面遍历任务拆分为多个子遍历任务,并将多个子遍历任务分别分配给多个任务执行器执行。
S240、分别执行所述多个子遍历任务,以完成用户界面遍历测试。
图2b是本发明实施例二中的用户界面遍历测试方法中的目标页面示意图。以一个测试页面为例,如图2b所示,目标页面210b中包含7个控件:a控件211b、b控件212b、c控件213b、d控件214b、e控件215b、f控件216b和g控件217b,当执行目标页面210b的遍历任务时,首先使用分布式任务拆分器根据该页面中的7个控件将遍历任务拆分为7个子遍历任务,再将7个子遍历任务分别分配至任务执行器,使任务执行器对应的设备执行对应的子遍历任务,这种遍历任务执行方式使子遍历任务在7个任务执行器中并发运行,使遍历任务的运行速度提升了7倍。
本发明实施例提供的用户界面遍历测试方法根据用户界面的控件结构树,获得目标页面的控件,将控件作为执行用户界面遍历任务的控件入口,根据控件入口将用户界面遍历任务拆分为多个子遍历任务,最后分别执行多个子遍历任务,完成用户界面遍历测试,使得用户界面遍历测试能同时在多个设备上对不同的控件进行测试,完成了用户界面遍历测试的并发自动化处理,解决了现有用户界面遍历测试方法耗时多的问题,且能够及时发现commit操作引入的问题,提高用户界面遍历测试的时效性。
实施例三
图3是本发明实施例三中的用户界面遍历测试方法的流程图,本实施例以上述实施例为基础进行进一步的优化。如图3所示,所述方法包括:
S310、获取用户界面中的至少一个特定页面,并将所述至少一个特定页面作为执行所述用户界面遍历任务的页面入口。
在本实施例中,当用户界面遍历任务触发时,获取用户界面的页面属性。在用户界面包含的所有页面中,有一部分页面属于特定页面,能够通过特定的方式直接定位。例如,对于IOS端和Android端,均可以通过open scheme方式直接定位到一些特定页面,在执行用户界面遍历任务时,可以通过这种特定的方式获取出能够直接定位的特定页面,并将这些特定页面作为执行用户界面遍历任务的页面入口。
通过直接定位的方式进入页面对待测试APP中的页面进行测试,避免了某些页面进入后很难跳出,或者入口很深等导致的覆盖率低问题,有效提升了用户界面自动化遍历的覆盖率。
S320、根据所述页面入口将所述用户界面遍历任务拆分为多个子遍历任务。
将特定页面作为执行用户界面遍历测试任务的页面入口,再根据以上页面入口对用户界面遍历任务拆分,将用户界面遍历任务拆分为多个子遍历任务,并将多个子遍历任务分别分配给多个任务执行器执行。
例如,当用户界面中包含有3个特定页面:页面A、页面B和页面C时,将三个页面分别作为执行用户界面遍历任务的页面入口,再使用分布式任务拆分器根据页面A、页面B和页面C将用户界面遍历任务拆分为3个子遍历任务,分别将这3个子遍历任务分别分配给任务执行器执行。
S330、分别执行所述多个子遍历任务,以完成用户界面遍历测试。
任务执行器分别执行分布式任务拆分器分配的任务,直到完成用户界面遍历测试为止。在本实施例中,任务执行器接收子遍历任务后,若子遍历任务满足上述任一种拆分条件,即包含至少一个待测试的控件和/或包含至少一个特定页面,且用于测试的设备数量能够满足拆分后的测试需求,则能够使用对应的方式对子遍历任务进行进一步拆分,直到完成用户界面遍历测试为止。
本发明实施例提供的用户界面遍历测试方法根据特定页面将用户界面遍历任务拆分为多个子遍历任务,最后分别执行多个子遍历任务,完成用户界面遍历测试,使得用户界面遍历测试能同时在多个设备上对不同的页面进行测试,解决了现有用户界面遍历测试方法耗时多的问题;直接进入页面的方式避免了某些页面进入后很难跳出,或者入口很深等导致的覆盖率低问题,有效提升了用户界面自动化遍历的覆盖率。
实施例四
图4是本发明实施例四中的用户界面遍历测试装置的结构示意图。如图4所示,所述装置包括:
遍历任务拆分模块410,用于根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务;
子遍历任务执行模块420,用于分别执行所述多个子遍历任务,以完成用户界面遍历测试。
进一步地,所述遍历任务拆分模块包括:
控件结构树获取单元,用于根据用户界面的页面特征,获取用户界面的控件结构树;
控件入口获取单元,用于根据所述控件结构树,获取目标页面的控件,并将所述控件作为执行所述用户界面遍历任务的控件入口;
第一遍历任务拆分单元,用于根据所述控件入口将所述用户界面遍历任务拆分为多个子遍历任务。
进一步地,所述目标页面包括所述用户界面的主页面和/或所述用户界面的主页面下的节点页面。
进一步地,所述遍历任务拆分模块包括:
特定页面获取单元,用于获取用户界面中的至少一个特定页面,并将所述至少一个特定页面作为执行所述用户界面遍历任务的页面入口;
第二遍历任务拆分单元,用于根据所述页面入口将所述用户界面遍历任务拆分为多个子遍历任务。
进一步地,所述子遍历任务执行模块包括:
子遍历任务拆分单元,用于分别执行所述多个子遍历任务,当各子遍历任务的当前遍历页面中不含有任何控件,和/或当前遍历页面与其他子遍历任务中的页面重合时,结束所述当前遍历页面的遍历操作;
遍历任务终止单元,
用于当所述多个子遍历任务全部结束时,完成所述用户界面遍历测试。
本发明实施例通过遍历任务拆分模块根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务;通过子遍历任务执行模块分别执行所述多个子遍历任务,以完成用户界面遍历测试,使得用户界面遍历测试能同时在多个设备上运行,完成了用户界面遍历测试的并发自动化处理,解决了现有用户界面遍历测试方法耗时多的问题;并发处理的用户界面遍历测试方法能够作为持续集成中每次commit操作后的环节,进而能够及时发现commit操作引入的问题,提高了用户界面遍历测试的时效性。
本发明实施例所提供的用户界面遍历测试装置可执行本发明任意实施例所提供的用户界面遍历测试方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5是本发明实施例七中的服务器的结构示意图。图5示出了适于用来实现本发明实施方式的示例性服务器512的框图。图5显示的服务器512仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,服务器512以通用计算设备的形式表现。服务器512的组件可以包括但不限于:一个或者多个处理器或者处理单元516,系统存储器528,连接不同系统组件(包括系统存储器528和处理单元516)的总线518。
总线518表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
服务器512典型地包括多种计算机系统可读介质。这些介质可以是任何能够被服务器512访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器528可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)530和/或高速缓存存储器532。服务器512可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统534可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线518相连。存储器528可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块542的程序/实用工具540,可以存储在例如存储器528中,这样的程序模块542包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块542通常执行本发明所描述的实施例中的功能和/或方法。
服务器512也可以与一个或多个外部设备514(例如键盘、指向设备、显示器524等)通信,还可与一个或者多个使得用户能与该服务器512交互的设备通信,和/或与使得该服务器512能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口522进行。并且,服务器512还可以通过网络适配器520与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器520通过总线518与服务器512的其它模块通信。应当明白,尽管图5中未示出,可以结合服务器512使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元516通过运行存储在系统存储器528中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的用户界面遍历测试方法,该方法包括:
根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务;
分别执行所述多个子遍历任务,以完成用户界面遍历测试。
实施例六
本发明实施例六还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的用户界面遍历测试方法,该方法包括:
根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务;
分别执行所述多个子遍历任务,以完成用户界面遍历测试。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (12)

1.一种用户界面遍历测试方法,其特征在于,包括:
根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务;
分别执行所述多个子遍历任务,以完成用户界面遍历测试;
所述页面特征包括能够体现用户界面每个页面构成或属性的特征,其中,所述页面特征包括页面的个数或页面中包含控件的个数或页面的属性值。
2.根据权利要求1所述的方法,其特征在于,所述根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务,包括:
根据用户界面的页面特征,获取用户界面的控件结构树;
根据所述控件结构树,获取用户界面中目标页面的控件,并将所述控件作为执行所述用户界面遍历任务的控件入口;
根据所述控件入口将所述用户界面遍历任务拆分为多个子遍历任务。
3.根据权利要求2所述的方法,其特征在于,所述目标页面包括所述用户界面的主页面和/或所述用户界面的主页面下的节点页面。
4.根据权利要求1所述的方法,其特征在于,所述根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务包括:
获取用户界面中的至少一个特定页面,并将所述至少一个特定页面作为执行所述用户界面遍历任务的页面入口;
根据所述页面入口将所述用户界面遍历任务拆分为多个子遍历任务。
5.根据权利要求1所述的方法,其特征在于,所述分别执行所述多个子遍历任务,以完成用户界面遍历测试包括:
分别执行所述多个子遍历任务,当各子遍历任务的当前遍历页面中不含有任何控件,和/或当前遍历页面与其他子遍历任务中的页面重合时,结束所述当前遍历页面的遍历操作;
当所述多个子遍历任务全部结束时,完成所述用户界面遍历测试。
6.一种用户界面遍历测试装置,其特征在于,包括:
遍历任务拆分模块,用于根据用户界面的页面特征,将用户界面遍历任务拆分为多个子遍历任务;
所述页面特征包括能够体现用户界面每个页面构成或属性的特征,其中,所述页面特征包括页面的个数或页面中包含控件的个数或页面的属性值;
子遍历任务执行模块,用于分别执行所述多个子遍历任务,以完成用户界面遍历测试。
7.根据权利要求6所述的装置,其特征在于,所述遍历任务拆分模块包括:
控件结构树获取单元,用于根据用户界面的页面特征,获取用户界面的控件结构树;
控件入口获取单元,用于根据所述控件结构树,获取用户界面中目标页面的控件,并将所述控件作为执行所述用户界面遍历任务的控件入口;
第一遍历任务拆分单元,用于根据所述控件入口将所述用户界面遍历任务拆分为多个子遍历任务。
8.根据权利要求7所述的装置,其特征在于,所述目标页面包括所述用户界面的主页面和/或所述用户界面的主页面下的节点页面。
9.根据权利要求6所述的装置,其特征在于,所述遍历任务拆分模块包括:
特定页面获取单元,用于获取用户界面中的至少一个特定页面,并将所述至少一个特定页面作为执行所述用户界面遍历任务的页面入口;
第二遍历任务拆分单元,用于根据所述页面入口将所述用户界面遍历任务拆分为多个子遍历任务。
10.根据权利要求6所述的装置,其特征在于,所述子遍历任务执行模块包括:
子遍历任务执行单元,用于分别执行所述多个子遍历任务,当各子遍历任务的当前遍历页面中不含有任何控件,和/或当前遍历页面与其他子遍历任务中的页面重合时,结束所述当前遍历页面的遍历操作;
遍历任务终止单元,用于当所述多个子遍历任务全部结束时,完成所述用户界面遍历测试。
11.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的用户界面遍历测试方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的用户界面遍历测试方法。
CN201710676371.5A 2017-08-09 2017-08-09 一种用户界面遍历测试方法、装置、服务器、存储介质 Active CN107451062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710676371.5A CN107451062B (zh) 2017-08-09 2017-08-09 一种用户界面遍历测试方法、装置、服务器、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710676371.5A CN107451062B (zh) 2017-08-09 2017-08-09 一种用户界面遍历测试方法、装置、服务器、存储介质

Publications (2)

Publication Number Publication Date
CN107451062A CN107451062A (zh) 2017-12-08
CN107451062B true CN107451062B (zh) 2020-12-29

Family

ID=60491852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710676371.5A Active CN107451062B (zh) 2017-08-09 2017-08-09 一种用户界面遍历测试方法、装置、服务器、存储介质

Country Status (1)

Country Link
CN (1) CN107451062B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108459959A (zh) * 2017-12-29 2018-08-28 北京五八信息技术有限公司 用户界面自动化测试方法、装置、设备及存储介质
CN108538291A (zh) * 2018-04-11 2018-09-14 百度在线网络技术(北京)有限公司 语音控制方法、终端设备、云端服务器及系统
CN108804307B (zh) * 2018-04-19 2022-04-08 北京炎黄盈动科技发展有限责任公司 流程自动化测试方法及装置
CN111290940B (zh) * 2018-12-10 2023-04-28 中国移动通信集团江西有限公司 针对app的自动化测试方法、装置、设备和介质
CN111258879A (zh) * 2019-03-25 2020-06-09 深圳市远行科技股份有限公司 一种基于页面采集的业务测试调度方法、装置及智能终端
CN113032264A (zh) * 2021-03-29 2021-06-25 网易(杭州)网络有限公司 页面视图控件的检测方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019937A (zh) * 2012-12-13 2013-04-03 广东欧珀移动通信有限公司 一种人机交互界面遍历测试方法
CN103577321A (zh) * 2012-08-07 2014-02-12 阿里巴巴集团控股有限公司 一种网站页面的多版本并行测试方法和服务器
CN103853649A (zh) * 2012-11-28 2014-06-11 百度在线网络技术(北京)有限公司 一种应用程序的测试方法及系统
CN104503916A (zh) * 2015-01-05 2015-04-08 中国石油大学(华东) 一种系统界面可用性定量评估方法
CN106126425A (zh) * 2016-06-30 2016-11-16 北京奇虎科技有限公司 基于Android自动化测试框架的功能遍历方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654911B1 (en) * 2000-06-15 2003-11-25 International Business Machines Corporation Interactive test sequence generation
CN104035867B (zh) * 2014-06-04 2017-06-09 重庆泰凯科技有限公司 基于Android的应用功能遍历测试方法
CN105022796B (zh) * 2015-06-30 2019-03-15 北京奇艺世纪科技有限公司 一种文件遍历方法、装置及系统
CN105279017B (zh) * 2015-09-30 2019-03-05 北京奇虎科技有限公司 基于云测试平台的任务分配方法、装置及系统
CN106294152B (zh) * 2016-08-09 2019-03-12 努比亚技术有限公司 应用用户界面的遍历测试装置及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577321A (zh) * 2012-08-07 2014-02-12 阿里巴巴集团控股有限公司 一种网站页面的多版本并行测试方法和服务器
CN103853649A (zh) * 2012-11-28 2014-06-11 百度在线网络技术(北京)有限公司 一种应用程序的测试方法及系统
CN103019937A (zh) * 2012-12-13 2013-04-03 广东欧珀移动通信有限公司 一种人机交互界面遍历测试方法
CN104503916A (zh) * 2015-01-05 2015-04-08 中国石油大学(华东) 一种系统界面可用性定量评估方法
CN106126425A (zh) * 2016-06-30 2016-11-16 北京奇虎科技有限公司 基于Android自动化测试框架的功能遍历方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Using GUI ripping for automated testing of Android applications;Domenico Amalfitano等;《2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering》;20130408;第1-4页 *
基于静态分析的Android GUI遍历方法;汤杨等;《计算机应用》;20161010;第36卷(第10期);第2811-2815页 *

Also Published As

Publication number Publication date
CN107451062A (zh) 2017-12-08

Similar Documents

Publication Publication Date Title
CN107451062B (zh) 一种用户界面遍历测试方法、装置、服务器、存储介质
CN107506300B (zh) 一种用户界面测试方法、装置、服务器和存储介质
US11321122B2 (en) Method, apparatus, device and medium for processing topological relation of tasks
CN108537543B (zh) 区块链数据的并行处理方法、装置、设备和存储介质
CN108920135B (zh) 一种自定义业务生成方法、装置、计算机设备及存储介质
CN109992498B (zh) 测试用例的生成方法及系统、计算机系统
CN110457277A (zh) 业务处理性能分析方法、装置、设备及存储介质
US10572371B2 (en) Generating valid use cases from a parsed configuration file describing use case options
US10552812B2 (en) Scenario based logging
CN110990411B (zh) 数据结构的生成方法及装置、调用方法及装置
CN109634764A (zh) 工作流控制方法、装置、设备、存储介质和系统
CN110597704B (zh) 应用程序的压力测试方法、装置、服务器和介质
CN109284108B (zh) 无人车数据存储方法、装置、电子设备及存储介质
US11663113B2 (en) Real time fault localization using combinatorial test design techniques and test case priority selection
CN112199261A (zh) 应用程序性能分析方法及装置、电子设备
CN113032258B (zh) 一种电子地图的测试方法、装置、电子设备及存储介质
CN115994085A (zh) 代码覆盖率的测试处理方法、装置、设备及存储介质
CN115186738B (zh) 模型训练方法、装置和存储介质
CN113051173B (zh) 测试流程的编排执行方法、装置、计算机设备和存储介质
CN115167822A (zh) 分支代码合并方法、装置、设备和存储介质
CN113888028A (zh) 巡视任务分配方法、装置、电子设备以及存储介质
CN116149978A (zh) 服务接口测试方法、装置、电子设备及存储介质
CN117093335A (zh) 分布式存储系统的任务调度方法及装置
CN111026371B (zh) 一种游戏开发方法、装置、电子设备及存储介质
US20210081304A1 (en) Compatibility testing with different environment configurations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant