CN108038059A - 界面遍历方法及装置 - Google Patents
界面遍历方法及装置 Download PDFInfo
- Publication number
- CN108038059A CN108038059A CN201711401802.3A CN201711401802A CN108038059A CN 108038059 A CN108038059 A CN 108038059A CN 201711401802 A CN201711401802 A CN 201711401802A CN 108038059 A CN108038059 A CN 108038059A
- Authority
- CN
- China
- Prior art keywords
- record sheet
- interface
- operable
- operate
- write
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test 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)
Abstract
本发明公开了一种界面遍历方法及装置,属于应用测试技术领域。方法包括:获取应用的当前界面的可操作元素;将可操作元素中的新元素写入元素记录表;对元素记录表中的未操作元素进行模拟操作,在元素记录表中将所述未操作元素标记为被操作过;进入下一界面,重新执行获取可操作元素、写入元素记录表、对未操作元素进行模拟操作和标记的步骤,直至元素记录表中不存在未操作元素或遍历时长达到预设时长时,则结束遍历。本发明即使遍历过程中重复跳转到同一个界面,但由于该界面上的元素之前已经获取过,则不再将其加入元素记录表,也不会对其重复进行模拟操作,避免了重复操作同一个元素的问题,缩短了遍历时间,提高了遍历效率。
Description
技术领域
本发明涉及应用测试技术领域,尤其涉及一种界面遍历方法及装置。
背景技术
随着移动终端的使用日益频繁,越来越多的开发者致力于开发安装在移动终端上,供用户使用的应用。每个应用在开发完毕后,为了避免在用户使用应用的过程中出现操作无响应、界面崩溃等情况,需要对应用的界面进行遍历测试。
目前,界面遍历的方法如下:终端启动应用,进入应用的主界面,将该主界面中的所有元素dump(转存)到本地。终端可以通过对主界面中可点击的元素(如按钮)进行模拟点击操作,确定该主界面中的元素能够跳转到的界面,对跳转后的界面也进行上述主界面的遍历过程,直至该应用的所有界面均遍历完成,即所有界面中的元素都已经操作过,则结束遍历。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
上述技术对于每个跳转后的界面,均需要获取该界面的所有元素,并对其中可点击的元素进行模拟点击操作,然而,在遍历过程中可能会出现重复跳转到同一个界面的情况,如果再次对该界面中的元素进行模拟点击操作,则会出现重复操作同一个元素的情况,导致遍历时间长、遍历效率低。
发明内容
本发明实施例提供了一种界面遍历方法及装置,可以解决相关技术遍历时间长、遍历效率低的问题。所述技术方案如下:
第一方面,提供一种界面遍历方法,包括:
获取应用的当前界面的可操作元素;
将所述可操作元素中的新元素写入元素记录表,所述新元素是指元素记录表中不存在的元素,所述元素记录表用于记录已遍历到的界面的可操作元素;
对所述元素记录表中的未操作元素进行模拟操作,在所述元素记录表中将所述未操作元素标记为被操作过;
进入下一界面,重新执行获取可操作元素、写入元素记录表、对未操作元素进行模拟操作和标记的步骤,直至所述元素记录表中不存在未操作元素或遍历时长达到预设时长时,则结束遍历。
在一种可能实现方式中,所述获取应用的当前界面的可操作元素,包括:
获取顶层的视图控制器的元素,所述顶层的视图控制器包含所述当前界面显示的所有元素以及对应的属性,所述属性包括元素的类型属性,所述类型属性用于指示元素的类型;
将特定类型的元素获取为所述可操作元素,所述特定类型包括按钮、滑动开关、图片和输入框。
在一种可能实现方式中,当所述当前界面为所述应用启动后的主界面时,所述将所述可操作元素中的新元素写入元素记录表,包括:
将获取到的所述主界面的所有可操作元素作为新元素写入所述元素记录表。
在一种可能实现方式中,每个元素具有唯一标识,所述唯一标识包含元素所属的视图控制器和元素的坐标;
所述将所述可操作元素中的新元素写入元素记录表,包括:
当所述可操作元素中的任一元素所属的视图控制器与所述元素记录表中已有元素所属的视图控制器不同时,确定所述任一元素为新元素,将所述任一元素写入元素记录表;或,
当所述可操作元素中的任一元素的坐标与所述元素记录表中已有元素的坐标不同时,确定所述任一元素为新元素,将所述任一元素写入元素记录表。
在一种可能实现方式中,所述对所述元素记录表中的未操作元素进行模拟操作,包括:
对所述元素记录表中的未操作元素进行优先级排序;
对所述元素记录表中优先级最高的未操作元素进行模拟操作。
在一种可能实现方式中,所述对所述元素记录表中优先级最高的未操作元素进行模拟操作,包括:
根据所述优先级最高的未操作元素的类型,对所述优先级最高的未操作元素进行对应的模拟操作,所述对应的模拟操作包括点击操作、滑动操作和输入操作。
在一种可能实现方式中,所述在所述元素记录表中将所述未操作元素标记为被操作过,包括:
在所述元素记录表中将所述未操作元素的操作属性的属性值从第一属性值更改为第二属性值,所述第一属性值用于指示元素未被操作过,所述第二属性值用于指示元素被操作过。
第二方面,提供一种界面遍历装置,包括:
获取模块,用于获取应用的当前界面的可操作元素;
写入模块,用于将所述可操作元素中的新元素写入元素记录表,所述新元素是指元素记录表中不存在的元素,所述元素记录表用于记录已遍历到的界面的可操作元素;
操作模块,用于对所述元素记录表中的未操作元素进行模拟操作,在所述元素记录表中将所述未操作元素标记为被操作过;
执行模块,用于进入下一界面,重新执行获取可操作元素、写入元素记录表、对未操作元素进行模拟操作和标记的步骤,直至所述元素记录表中不存在未操作元素或遍历时长达到预设时长时,则结束遍历。
在一种可能实现方式中,所述获取模块用于获取顶层的视图控制器的元素,所述顶层的视图控制器包含所述当前界面显示的所有元素以及对应的属性,所述属性包括元素的类型属性,所述类型属性用于指示元素的类型;将特定类型的元素获取为所述可操作元素,所述特定类型包括按钮、滑动开关、图片和输入框。
在一种可能实现方式中,当所述当前界面为所述应用启动后的主界面时,所述写入模块用于将获取到的所述主界面的所有可操作元素作为新元素写入所述元素记录表。
在一种可能实现方式中,每个元素具有唯一标识,所述唯一标识包含元素所属的视图控制器和元素的坐标;
所述写入模块用于当所述可操作元素中的任一元素所属的视图控制器与所述元素记录表中已有元素所属的视图控制器不同时,确定所述任一元素为新元素,将所述任一元素写入元素记录表;或,
所述写入模块用于当所述可操作元素中的任一元素的坐标与所述元素记录表中已有元素的坐标不同时,确定所述任一元素为新元素,将所述任一元素写入元素记录表。
在一种可能实现方式中,所述操作模块用于对所述元素记录表中的未操作元素进行优先级排序;对所述元素记录表中优先级最高的未操作元素进行模拟操作。
在一种可能实现方式中,所述操作模块用于根据所述优先级最高的未操作元素的类型,对所述优先级最高的未操作元素进行对应的模拟操作,所述对应的模拟操作包括点击操作、滑动操作和输入操作。
在一种可能实现方式中,所述操作模块用于在所述元素记录表中将所述未操作元素的操作属性的属性值从第一属性值更改为第二属性值,所述第一属性值用于指示元素未被操作过,所述第二属性值用于指示元素被操作过。
第三方面,提供了一种终端,包括处理器和存储器;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的计算机程序,实现第一方面任一种实现方式所述的方法步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一种实现方式所述的方法步骤。
本发明实施例提供的技术方案带来的有益效果是:
通过获取当前界面中的可操作元素进行模拟操作,每次操作后,从操作后进入的界面中重新获取新元素加入元素记录表,并继续对元素记录表中的未操作元素进行模拟操作,直至所有元素均被操作过则结束遍历。上述技术通过依次进入应用的各个界面,操作各个界面中的各个元素,即使遍历过程中重复跳转到同一个界面,但由于该界面上的元素之前已经获取过,则不再将其加入元素记录表,也不会对其重复进行模拟操作,避免了重复操作同一个元素的问题,缩短了遍历时间,提高了遍历效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种界面遍历方法的流程图;
图2是本发明实施例提供的一种界面遍历方法的流程图;
图3是本发明实施例提供的一种界面遍历方法的流程图;
图4是本发明实施例提供的一种界面遍历装置的结构示意图;
图5是本发明实施例提供的一种终端500的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种界面遍历方法的流程图。参见图1,该方法包括:
101、获取应用的当前界面的可操作元素。
102、将该可操作元素中的新元素写入元素记录表,该新元素是指元素记录表中不存在的元素,该元素记录表用于记录已遍历到的界面的可操作元素。
103、对该元素记录表中的未操作元素进行模拟操作,在该元素记录表中将该未操作元素标记为被操作过。
104、进入下一界面,重新执行获取可操作元素、写入元素记录表、对未操作元素进行模拟操作和标记的步骤,直至该元素记录表中不存在未操作元素或遍历时长达到预设时长时,则结束遍历。
本发明实施例提供的方法,通过获取当前界面中的可操作元素进行模拟操作,每次操作后,从操作后进入的界面中重新获取新元素加入元素记录表,并继续对元素记录表中的未操作元素进行模拟操作,直至所有元素均被操作过则结束遍历。上述技术通过依次进入应用的各个界面,操作各个界面中的各个元素,即使遍历过程中重复跳转到同一个界面,但由于该界面上的元素之前已经获取过,则不再将其加入元素记录表,也不会对其重复进行模拟操作,避免了重复操作同一个元素的问题,缩短了遍历时间,提高了遍历效率。
在一种可能实现方式中,该获取应用的当前界面的可操作元素,包括:
获取顶层的视图控制器的元素,该顶层的视图控制器包含该当前界面显示的所有元素以及对应的属性,该属性包括元素的类型属性,该类型属性用于指示元素的类型;
将特定类型的元素获取为该可操作元素,该特定类型包括按钮、滑动开关、图片和输入框。
在一种可能实现方式中,当该当前界面为该应用启动后的主界面时,该将该可操作元素中的新元素写入元素记录表,包括:
将获取到的该主界面的所有可操作元素作为新元素写入该元素记录表。
在一种可能实现方式中,每个元素具有唯一标识,该唯一标识包含元素所属的视图控制器和元素的坐标;
该将该可操作元素中的新元素写入元素记录表,包括:
当该可操作元素中的任一元素所属的视图控制器与该元素记录表中已有元素所属的视图控制器不同时,确定该任一元素为新元素,将该任一元素写入元素记录表;或,
当该可操作元素中的任一元素的坐标与该元素记录表中已有元素的坐标不同时,确定该任一元素为新元素,将该任一元素写入元素记录表。
在一种可能实现方式中,该对该元素记录表中的未操作元素进行模拟操作,包括:
对该元素记录表中的未操作元素进行优先级排序;
对该元素记录表中优先级最高的未操作元素进行模拟操作。
在一种可能实现方式中,该对该元素记录表中优先级最高的未操作元素进行模拟操作,包括:
根据该优先级最高的未操作元素的类型,对该优先级最高的未操作元素进行对应的模拟操作,该对应的模拟操作包括点击操作、滑动操作和输入操作。
在一种可能实现方式中,该在该元素记录表中将该未操作元素标记为被操作过,包括:
在该元素记录表中将该未操作元素的操作属性的属性值从第一属性值更改为第二属性值,该第一属性值用于指示元素未被操作过,该第二属性值用于指示元素被操作过。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图2是本发明实施例提供的一种界面遍历方法的流程图。该方法由终端执行,参见图2,该方法包括:
201、启动应用,进入应用的主界面。
本发明实施例中,当需要对某个应用的界面进行遍历测试时,技术人员可以通过相应操作,触发终端启动该应用,进入该应用的主界面。
其中,该应用可以包括多个界面,该应用的主界面即是其中一个界面,每个界面都存在一个或多个元素。
202、获取该主界面的可操作元素。
本发明实施例中,终端在进入任一个界面后,可以获取当前界面的可操作元素。在一种可能实现方式中,终端获取可操作元素的过程包括:获取顶层的视图控制器的元素,该顶层的视图控制器包含当前界面显示的所有元素以及对应的属性,该属性包括元素的类型;将特定类型的元素获取为该可操作元素,该特定类型包括按钮、滑动开关、图片和输入框。通过元素的类型确定元素是否为可操作元素,提供了一种准确确定可操作元素的方式。
其中,视图控制器(ViewController)是应用数据和界面之间的重要桥梁,视图控制器用于管理应用的界面,每一个视图控制器都具有唯一的标识。顶层的视图控制器是指当前界面对应的视图控制器,包含该当前界面显示的所有元素以及对应的属性。每个界面对应一个视图控制器,该视图控制器包含该界面的所有元素,包括可操作元素和不可操作元素。当然,该视图控制器还可以包含元素的属性信息,如类型属性、操作属性等,其中类型属性用于指示该元素的类型,包括按钮、图片、输入框、文字等等,操作属性用于指示该元素是否被操作过,如操作属性的属性值可以包括第一属性值和第二属性值,第一属性值表示该元素未被操作过,第二属性值表示该元素被操作过,当前获取到的元素的操作属性默认为第一属性值。第一属性值和第二属性值可以是数字,如第一属性值为1、第二属性值为0;第一属性值和第二属性值也可以是逻辑值,如第一属性值为true、第二属性值为false。
需要说明的是,上述可能实现方式是终端根据元素的类型确定元素是否为可操作元素为例进行说明,实际上,终端还可以通过其他方式确定可操作元素,例如,视图控制器中的元素还可以包括可操作属性,该可操作属性用于指示该元素是否为可操作元素。相应地,终端可以根据元素的可操作属性确定该元素是否为可操作元素,本发明实施例对可操作元素的确定方式不做限定。
需要说明的是,该步骤202是终端获取应用的当前界面的可操作元素的一种可能实现方式,该步骤202是以应用启动后进入主界面,终端将该主界面作为当前界面,获取该主界面的可操作元素为例进行说明,实际上,当进入该应用的任一界面时,终端可以将该任一界面作为当前界面,获取该任一界面的可操作元素。
203、将当前获取到的该可操作元素写入元素记录表,该元素记录表用于记录已遍历到的界面的可操作元素。
本发明实施例中,终端可以在元素记录表中记录终端获取到的各个界面的可操作元素,每当终端进入到应用的一个界面时,可以获取该界面的可操作元素,并写入元素记录表。
需要说明的是,本发明实施例是以终端将可操作元素写入元素记录表的方式来保存可操作元素为例进行说明,实际上,终端还可以将可操作元素压栈的方式来保存可操作元素,本发明实施例对此不做限定。
需要说明的是,该步骤203是终端将该可操作元素中的新元素写入元素记录表的一种可能实现方式,针对终端获取的是主界面的可操作元素,由于是终端第一次获取到可操作元素,元素记录表中还没有任何元素,故终端可以直接将获取到的该主界面的所有可操作元素作为新元素写入该元素记录表。但是当终端在第一次以后的每一次获取到可操作元素时,终端可以将以后每一次获取到的可操作元素与元素记录表中已有的元素进行去重后,再将去重后剩余的元素写入元素记录表,既可以避免由于元素重复而浪费存储资源,也可以避免出现对同一个元素进行重复操作的问题。
204、对该元素记录表中的未操作元素进行优先级排序。
其中,未操作元素是指操作属性的属性值为第一属性值的元素。
本发明实施例中,终端可以按照预设优先级策略对元素加上优先级属性,该优先级属性用于指示元素的优先级。相应地,终端可以按照元素的优先级,对元素记录表中的未操作元素进行排序,例如,优先级高的元素可以排在前面,优先级高的元素优先遍历。
其中,预设优先级策略可以出于用户操作频率的角度考虑,如用户操作频率高的元素的优先级高于用户操作频率低的元素的优先级,这样,终端可以优先对用户操作频率高的元素进行遍历。预设优先级策略还可以出于遍历覆盖率高的角度考虑,如设置同一个界面中特定元素的优先级低于其他元素,该特定元素是指用于返回到上一个界面的元素,如返回按钮等,这样可以提高终端对界面中元素的遍历覆盖率。另外,该预设优先级策略还可以出于先遍历子界面再遍历父界面的角度考虑,如设置子界面的元素的优先级高于父界面的元素的优先级,其中,子界面是指点击父界面上的元素后跳转到的界面。本发明实施例对确定元素优先级的预设优先级策略不做限定。
205、对该元素记录表中优先级最高的未操作元素进行模拟操作,在该元素记录表中将该未操作元素标记为被操作过。
本发明实施例中,元素记录表中优先级高的元素是要优先遍历的元素,因此,终端可以在确定元素记录表中优先级最高的元素后,对当前界面中的该优先级最高的元素进行模拟操作。在一种可能实现方式中,终端可以根据该优先级最高的未操作元素的类型,对该优先级最高的未操作元素进行对应的模拟操作,该对应的模拟操作包括点击操作、滑动操作和输入操作。例如,该元素为按钮时,对该元素进行模拟点击操作;该元素为滑动开关时,对该元素进行滑动操作;该元素为输入框时,对该元素进行输入操作。
在一种可能实现方式中,终端对未操作元素进行模拟操作后,在元素记录表中将该未操作元素标记为被操作过的过程包括:在元素记录表中将该未操作元素的操作属性的属性值从第一属性值更改为第二属性值,该第一属性值用于指示元素未被操作过,该第二属性值用于指示元素被操作过。通过将操作过的元素的操作属性从默认的第一属性值更改为第二属性值,可以实现对被操作过的元素进行标记的目的,便于终端区分元素记录表中其已操作过的元素和未操作过的元素,避免终端重复操作同一个元素。而其他未点击过的元素的点击属性保持默认的第一属性值,以标记该元素还未被操作过,可以便于终端下次对该元素进行模拟操作。
需要说明的是,上述步骤204和步骤205是终端对元素记录表中的未操作元素进行模拟操作的一种可能实现方式。实际上,终端也可以不对元素记录表中的未操作元素进行优先级排序,而是从元素记录表中随机选取一个未操作元素进行模拟操作,并将操作后的元素标记为被操作过,本发明实施例对此不做限定。
206、进入下一界面,获取该下一界面的可操作元素。
本发明实施例中,终端操作元素后,可以进入下一界面,并将该下一界面作为当前界面,重新执行上述步骤202,获取该下一界面的可操作元素,具体获取方式在步骤202中已有具体说明,此处不再赘述。
需要说明的是,该步骤206是以终端执行步骤205后界面发生跳转,进入下一界面为例进行说明。例如,该未操作元素为某个音乐应用的主界面上的电台按钮时,当终端对该电台按钮进行点击时,该主界面会跳转到电台节目界面,以显示可供用户收听的各个电台节目。针对操作后界面会发生跳转的情况,在重新执行上述步骤202时,当前界面为新界面,与操作前的界面不同,此情况下,通过重新执行上述步骤202,可以获取到新界面的可操作元素。
实际上,终端执行步骤205后,有可能会出现界面保持不变的情况,该情况下,终端对未操作元素进行模拟操作后,界面仍然保持当前界面不变,例如,该未操作元素为歌曲播放界面上的播放按钮时,当终端对该播放按钮进行点击时,该歌曲播放界面不会进行跳转,只是开始播放歌曲。针对操作后界面保持不变的情况,在重新执行步骤202时,当前界面与操作前的界面相同,此情况下,通过重新执行上述步骤202,获取到的是已经获取过的可操作元素。
需要说明的是,在该步骤206中,终端可能获取到可操作元素,也可能不能获取到可操作元素,例如,当前界面是一个视频播放界面,在视频播放过程中,该界面上的可操作元素会隐藏起来,此时,终端无法获取到该界面的可操作元素。
相应地,在该步骤206中,如果终端获取到可操作元素,则执行后续步骤207,如果未获取到可操作元素,则执行后续步骤208。
207、当获取到可操作元素,且确定当前获取到的可操作元素中存在新元素时,将该新元素写入元素记录表,重新执行步骤204至步骤205,该新元素是指元素记录表中不存在的元素。
本发明实施例中,终端可以对元素进行标识,使得每个元素具有唯一标识,该唯一标识包含元素所属的视图控制器和元素的坐标。相应地,终端可以根据元素的唯一标识确定该可操作元素中存在新元素。例如,当该可操作元素中的任一元素所属的视图控制器与该元素记录表中已有元素所属的视图控制器不同时,终端可以确定该任一元素为新元素;或,当该可操作元素中的任一元素的坐标与该元素记录表中已有元素的坐标不同时,终端可以确定该任一元素为新元素。进而,终端可以将该任一元素写入元素记录表。
例如,终端可以根据元素的唯一标识,对当前获取到的可操作元素与元素记录表中已有的元素进行去重。在去重时,终端可以将当前获取到的可操作元素与元素记录表中已有的元素逐个对比,如果比对发现当前获取到的可操作元素中任一元素与元素记录表中任一个已有元素所属的视图控制器和坐标均相同时,则删除当前获取到该任一个可操作元素。如果比对完成后,当前获取到的可操作元素中没有剩余的可操作元素,则终端可以确定当前获取到的可操作元素中不存在新元素;如果比对完成后,当前获取到的可操作元素中剩余一个或多个可操作元素,则终端可以确定当前获取到的可操作元素中存在新元素,并将该剩余的一个或多个可操作元素作为当前获取到的新元素,将该新元素写入元素记录表。
需要说明的是,该步骤207是终端将该可操作元素中的新元素写入元素记录表的一种可能实现方式,该步骤207是终端将获取到的可操作元素与元素记录表中已有的元素进行去重后,再将去重后剩余的元素写入元素记录表,既可以避免由于元素重复而浪费存储资源,也可以避免出现对同一个元素进行重复操作的问题。
需要说明的是,当通过执行步骤202获取到可操作元素,但确定当前获取到的可操作元素中不存在新元素时,则表明当前界面是之前已经遍历过的界面,如通过点击某个元素跳转到的界面,则终端无需进行写入元素记录表的步骤,而直接重新执行上述步骤204至步骤207。其中,终端确定当前获取到的可操作元素中不存在新元素的过程在上述步骤206中已有相应说明,此处不再赘述。
需要说明的是,上述步骤206和步骤207是终端进入下一界面后,重新执行获取可操作元素、写入元素记录表、对未操作元素进行模拟操作和标记的步骤的一种可能实现方式。
208、重新执行步骤206至步骤207。
本发明实施例中,终端每次对元素记录表中的元素进行模拟操作后,可以重新执行上述步骤206至207。
209、当未获取到可操作元素时,执行预设操作。
本发明实施例中,终端每次操作元素后,可以获取顶层的视图控制器(当前界面)的可操作元素。当终端没有获取到可操作元素时,表明当前界面上没有可操作元素,例如,当前界面是一个视频播放界面,在视频播放过程中,该界面上的可操作元素会隐藏起来。当未获取到该界面的可操作元素时,则终端可以进行突破,即执行预设操作,来触发可操作元素的显现以及对可操作元素的操作,以退出当前界面,实现界面的跳转,如跳转到上一界面或其他任一界面。其中,该预设操作可以是一个操作,也可以是一组设定好的操作,例如,该预设操作可以包括点击左上角、点击右上角、左滑和右滑中至少一项,当执行该预设操作中的任一个操作后,界面跳转了,则终端可以不再执行其他操作。
需要说明的是,终端执行该步骤209后,有可能界面跳转成功,例如终端通过预设操作触发了可操作元素的显示以及对其的操作,则终端可以执行后续步骤210。当然,终端执行该步骤209后,也有可能界面跳转失败,例如终端通过预设操作没有成功触发可操作元素的显示以及对其的操作,则终端可以执行后续步骤211。
210、当执行预设操作后界面跳转成功时,重新执行上述步骤206至步骤209。
本发明实施例中,当界面跳转成功后,则终端可以继续获取跳转后的界面的可操作元素以及后续将新元素写入元素记录表、对未操作元素进行模拟操作和标记的步骤。也即是,终端可以重新执行上述步骤206至步骤208或步骤206和步骤209。
211、当执行预设操作后界面跳转失败,则重新执行上述步骤205至步骤209。
本发明实施例中,当界面跳转失败时,终端可以获取元素记录表中优先级最高的未操作元素,如果终端获取到元素记录表中优先级最高的未操作元素,则重新执行对未操作元素进行模拟操作和标记的步骤,例如,终端可以执行步骤205,即对获取到的未操作元素进行模拟点击操作,跳转到相应界面,然后执行步骤206至步骤208或步骤206和步骤209。而如果跳转到相应界面后,遍历时长达到预设时长,则终端可以直接结束本次遍历。
需要说明的是,该步骤211是以终端获取到元素记录表中优先级最高的未操作元素为例进行说明,实际上,如果终端未能获取到元素记录表中优先级最高的未操作元素,则终端可以自动回到应用的主界面,以便于进行下一次遍历。
212、直至元素记录表中不存在未操作元素或遍历时长达到预设时长时,结束本次遍历。
本发明实施例中,当遍历过程中元素记录表中的元素都已经操作过时,终端可以结束本次遍历过程。另外,考虑到可能需要遍历的元素过多,如果全部遍历,则需要耗费太多时间,故终端可以设置一个预设时长,用于限制一次遍历的时长,当本次遍历时长达到该预设时长时,终端可以结束本次遍历。
需要说明的是,上述仅是终端结束本次遍历的两种时机,实际上,终端还可以在其他情况下结束遍历。例如,当元素记录表中存在未操作元素但该未操作元素是与预设数量的已操作元素相似的元素时,结束本次遍历。其中,终端可以根据元素的唯一标识确定两个元素是否相似,当两个元素的唯一标识中的视图控制器相同,仅元素的坐标不同时,终端可以认为这两个元素是相似元素。该情况是针对一个界面上有太多相似元素的情况,例如,歌曲列表界面可能会有很多首歌曲,当点击任一首歌曲时,均是跳转到该歌曲的播放界面,这些歌曲属于相似元素,只需要操作过其中几个即可,如果对所有歌曲全部进行模拟操作,则会出现在一个界面操作时长过长的问题,为了兼顾广度,则优先放弃操作剩余相似元素。
为了便于更直观的理解本发明实施例提供的界面遍历方法,下面将结合图3提供的一种界面遍历方法的流程图,以终端通过顶层的视图控制器获取当前界面的可操作元素、终端执行预设操作是指突破为例,对上述技术方案进行解释说明。
如图3所示,终端启动应用后,进入主界面,该过程对应上述步骤201;终端可以获取顶层的视图控制器的元素,即读取当前界面的可操作元素,该过程对应上述步骤202;终端读取可操作元素后,可以将可操作元素写入元素记录表,该过程对应上述步骤203;终端将可操作元素写入元素记录表后,可以对元素记录表中的未操作元素进行优先级排序,该过程对应上述步骤204;终端可以对优先级最高的未操作元素进行模拟操作,该过程对应上述步骤205,每次操作后都重新获取当前界面的可操作元素,并在写入元素记录表时根据元素的唯一标识进行去重,如果没有获取到可操作元素则突破,该过程对应上述步骤206至步骤209;如果突破失败,则继续对元素记录表中优先级最高的元素进行点击,点击后跳转到相应界面,如果突破成功,则继续获取顶层的视图控制器的元素,如果获取失败,则返回到主界面,如果获取成功,则对其进行点击跳转到相应界面,如果遍历时长达到预设时长时则结束此次遍历,该过程对应上述步骤210和步骤211;直到元素记录表中所有元素都已经操作过,则结束此次遍历,该过程对应上述步骤212。
需要说明的是,上述过程是以终端从应用的主界面开始执行遍历过程为例进行说明,实际上,为了提高遍历效率,终端也可以从其他界面开始执行遍历过程,具体地,终端可以增加该应用的指定界面的界面入口,该界面入口用于通过socket通信的方式跳转到该指定界面,从该指定界面开始遍历,包括执行获取可操作元素、写入元素记录表、对未操作元素进行模拟操作和标记的步骤。针对应用的多个界面,可以在多个终端上分别增加不同的界面入口,多个终端同时对不同界面的元素进行遍历,而不用一个终端从应用的主界面开始,对该应用的所有界面中的元素进行遍历,提高了遍历效率。
本发明实施例提供的方法,通过获取当前界面中的可操作元素进行模拟操作,每次操作后,从操作后进入的界面中重新获取新元素加入元素记录表,并继续对元素记录表中的未操作元素进行模拟操作,直至所有元素均被操作过则结束遍历。上述技术通过依次进入应用的各个界面,操作各个界面中的各个元素,即使遍历过程中重复跳转到同一个界面,但由于该界面上的元素之前已经获取过,则不再将其加入元素记录表,也不会对其重复进行模拟操作,避免了重复操作同一个元素的问题,缩短了遍历时间,提高了遍历效率。
图4是本发明实施例提供的一种界面遍历装置的结构示意图。参照图4,该装置包括:
获取模块401,用于获取应用的当前界面的可操作元素;
写入模块402,用于将该可操作元素中的新元素写入元素记录表,该新元素是指元素记录表中不存在的元素,该元素记录表用于记录已遍历到的界面的可操作元素;
操作模块403,用于对该元素记录表中的未操作元素进行模拟操作,在该元素记录表中将该未操作元素标记为被操作过;
执行模块404,用于进入下一界面,重新执行获取可操作元素、写入元素记录表、对未操作元素进行模拟操作和标记的步骤,直至该元素记录表中不存在未操作元素或遍历时长达到预设时长时,则结束遍历。
在一种可能实现方式中,该获取模块401用于获取顶层的视图控制器的元素,该顶层的视图控制器包含该当前界面显示的所有元素以及对应的属性,该属性包括元素的类型属性,该类型属性用于指示元素的类型;将特定类型的元素获取为该可操作元素,该特定类型包括按钮、滑动开关、图片和输入框。
在一种可能实现方式中,当该当前界面为该应用启动后的主界面时,该写入模块402用于将获取到的该主界面的所有可操作元素作为新元素写入该元素记录表。
在一种可能实现方式中,每个元素具有唯一标识,该唯一标识包含元素所属的视图控制器和元素的坐标;
该写入模块402用于当该可操作元素中的任一元素所属的视图控制器与该元素记录表中已有元素所属的视图控制器不同时,确定该任一元素为新元素,将该任一元素写入元素记录表;或,
该写入模块402用于当该可操作元素中的任一元素的坐标与该元素记录表中已有元素的坐标不同时,确定该任一元素为新元素,将该任一元素写入元素记录表。
在一种可能实现方式中,该操作模块403用于对该元素记录表中的未操作元素进行优先级排序;对该元素记录表中优先级最高的未操作元素进行模拟操作。
在一种可能实现方式中,该操作模块403用于根据该优先级最高的未操作元素的类型,对该优先级最高的未操作元素进行对应的模拟操作,该对应的模拟操作包括点击操作、滑动操作和输入操作。
在一种可能实现方式中,该操作模块403用于在该元素记录表中将该未操作元素的操作属性的属性值从第一属性值更改为第二属性值,该第一属性值用于指示元素未被操作过,该第二属性值用于指示元素被操作过。
本发明实施例提供的装置,通过获取当前界面中的可操作元素进行模拟操作,每次操作后,从操作后进入的界面中重新获取新元素加入元素记录表,并继续对元素记录表中的未操作元素进行模拟操作,直至所有元素均被操作过则结束遍历。上述技术通过依次进入应用的各个界面,操作各个界面中的各个元素,即使遍历过程中重复跳转到同一个界面,但由于该界面上的元素之前已经获取过,则不再将其加入元素记录表,也不会对其重复进行模拟操作,避免了重复操作同一个元素的问题,缩短了遍历时间,提高了遍历效率。
需要说明的是:上述实施例提供的界面遍历装置在界面遍历时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的界面遍历装置与界面遍历方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本发明实施例提供的一种终端500的结构框图。该终端500可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts GroupAudio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端500包括有:处理器501和存储器502。
处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable LogicArray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请中方法实施例提供的界面遍历方法。
在一些实施例中,终端500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、触摸显示屏505、摄像头506、音频电路507、定位组件508和电源509中的至少一种。
外围设备接口503可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括NFC(NearField Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏505用于显示UI(UserInterface,界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置终端500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在终端500的不同表面或呈折叠设计;在一些实施例中,显示屏505可以是柔性显示屏,设置在终端500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用LCD(Liquid CrystalDisplay,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(VirtualReality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。
定位组件508用于定位终端500的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件508可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源509用于为终端500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。
加速度传感器511可以检测以终端500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制触摸显示屏505以横向视图或纵向视图进行界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器512可以检测终端500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对终端500的3D动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器513可以设置在终端500的侧边框和/或触摸显示屏505的下层。当压力传感器513设置在终端500的侧边框时,可以检测用户对终端500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在触摸显示屏505的下层时,由处理器501根据用户对触摸显示屏505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置终端500的正面、背面或侧面。当终端500上设置有物理按键或厂商Logo时,指纹传感器514可以与物理按键或厂商Logo集成在一起。
光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制触摸显示屏505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏505的显示亮度;当环境光强度较低时,调低触摸显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
接近传感器516,也称距离传感器,通常设置在终端500的前面板。接近传感器516用于采集用户与终端500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与终端500的正面之间的距离逐渐变小时,由处理器501控制触摸显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与终端500的正面之间的距离逐渐变大时,由处理器501控制触摸显示屏505从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图5中示出的结构并不构成对终端500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种存储有计算机程序的计算机可读存储介质,例如存储有计算机程序的存储器,上述计算机程序被处理器执行时实现上述图1或图2对应的实施例中的界面遍历方法。例如,所述计算机可读存储介质可以是只读内存(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、只读光盘(Compact DiscRead-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种界面遍历方法,其特征在于,所述方法包括:
获取应用的当前界面的可操作元素;
将所述可操作元素中的新元素写入元素记录表,所述新元素是指元素记录表中不存在的元素,所述元素记录表用于记录已遍历到的界面的可操作元素;
对所述元素记录表中的未操作元素进行模拟操作,在所述元素记录表中将所述未操作元素标记为被操作过;
进入下一界面,重新执行获取可操作元素、写入元素记录表、对未操作元素进行模拟操作和标记的步骤,直至所述元素记录表中不存在未操作元素或遍历时长达到预设时长时,则结束遍历。
2.根据权利要求1所述的方法,其特征在于,所述获取应用的当前界面的可操作元素,包括:
获取顶层的视图控制器的元素,所述顶层的视图控制器包含所述当前界面显示的所有元素以及对应的属性,所述属性包括元素的类型属性,所述类型属性用于指示元素的类型;
将特定类型的元素获取为所述可操作元素,所述特定类型包括按钮、滑动开关、图片和输入框。
3.根据权利要求1所述的方法,其特征在于,当所述当前界面为所述应用启动后的主界面时,所述将所述可操作元素中的新元素写入元素记录表,包括:
将获取到的所述主界面的所有可操作元素作为新元素写入所述元素记录表。
4.根据权利要求1所述的方法,其特征在于,每个元素具有唯一标识,所述唯一标识包含元素所属的视图控制器和元素的坐标;
所述将所述可操作元素中的新元素写入元素记录表,包括:
当所述可操作元素中的任一元素所属的视图控制器与所述元素记录表中已有元素所属的视图控制器不同时,确定所述任一元素为新元素,将所述任一元素写入元素记录表;或,
当所述可操作元素中的任一元素的坐标与所述元素记录表中已有元素的坐标不同时,确定所述任一元素为新元素,将所述任一元素写入元素记录表。
5.根据权利要求1所述的方法,其特征在于,所述对所述元素记录表中的未操作元素进行模拟操作,包括:
对所述元素记录表中的未操作元素进行优先级排序;
对所述元素记录表中优先级最高的未操作元素进行模拟操作。
6.根据权利要求1所述的方法,其特征在于,所述对所述元素记录表中优先级最高的未操作元素进行模拟操作,包括:
根据所述优先级最高的未操作元素的类型,对所述优先级最高的未操作元素进行对应的模拟操作,所述对应的模拟操作包括点击操作、滑动操作和输入操作。
7.根据权利要求1所述的方法,其特征在于,所述在所述元素记录表中将所述未操作元素标记为被操作过,包括:
在所述元素记录表中将所述未操作元素的操作属性的属性值从第一属性值更改为第二属性值,所述第一属性值用于指示元素未被操作过,所述第二属性值用于指示元素被操作过。
8.一种界面遍历装置,其特征在于,所述装置包括:
获取模块,用于获取应用的当前界面的可操作元素;
写入模块,用于将所述可操作元素中的新元素写入元素记录表,所述新元素是指元素记录表中不存在的元素,所述元素记录表用于记录已遍历到的界面的可操作元素;
操作模块,用于对所述元素记录表中的未操作元素进行模拟操作,在所述元素记录表中将所述未操作元素标记为被操作过;
执行模块,用于进入下一界面,重新执行获取可操作元素、写入元素记录表、对未操作元素进行模拟操作和标记的步骤,直至所述元素记录表中不存在未操作元素或遍历时长达到预设时长时,则结束遍历。
9.根据权利要求8所述的装置,其特征在于,所述获取模块用于获取顶层的视图控制器的元素,所述顶层的视图控制器包含所述当前界面显示的所有元素以及对应的属性,所述属性包括元素的类型属性,所述类型属性用于指示元素的类型;将特定类型的元素获取为所述可操作元素,所述特定类型包括按钮、滑动开关、图片和输入框。
10.根据权利要求8所述的装置,其特征在于,当所述当前界面为所述应用启动后的主界面时,所述写入模块用于将获取到的所述主界面的所有可操作元素作为新元素写入所述元素记录表。
11.根据权利要求8所述的装置,其特征在于,每个元素具有唯一标识,所述唯一标识包含元素所属的视图控制器和元素的坐标;
所述写入模块用于当所述可操作元素中的任一元素所属的视图控制器与所述元素记录表中已有元素所属的视图控制器不同时,确定所述任一元素为新元素,将所述任一元素写入元素记录表;或,
所述写入模块用于当所述可操作元素中的任一元素的坐标与所述元素记录表中已有元素的坐标不同时,确定所述任一元素为新元素,将所述任一元素写入元素记录表。
12.根据权利要求8所述的装置,其特征在于,所述操作模块用于对所述元素记录表中的未操作元素进行优先级排序;对所述元素记录表中优先级最高的未操作元素进行模拟操作。
13.根据权利要求8所述的装置,其特征在于,所述操作模块用于根据所述优先级最高的未操作元素的类型,对所述优先级最高的未操作元素进行对应的模拟操作,所述对应的模拟操作包括点击操作、滑动操作和输入操作。
14.根据权利要求8所述的装置,其特征在于,所述操作模块用于在所述元素记录表中将所述未操作元素的操作属性的属性值从第一属性值更改为第二属性值,所述第一属性值用于指示元素未被操作过,所述第二属性值用于指示元素被操作过。
15.一种终端,其特征在于,包括处理器和存储器;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的计算机程序,实现权利要求1-7任一项所述的方法步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711401802.3A CN108038059A (zh) | 2017-12-22 | 2017-12-22 | 界面遍历方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711401802.3A CN108038059A (zh) | 2017-12-22 | 2017-12-22 | 界面遍历方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108038059A true CN108038059A (zh) | 2018-05-15 |
Family
ID=62100261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711401802.3A Pending CN108038059A (zh) | 2017-12-22 | 2017-12-22 | 界面遍历方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108038059A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299983A (zh) * | 2018-09-30 | 2019-02-01 | 北京金山安全软件有限公司 | 移动应用广告的生成方法、装置、电子设备和存储介质 |
CN111104017A (zh) * | 2019-11-25 | 2020-05-05 | 北京金堤科技有限公司 | 滑动定位处理方法及装置 |
CN111694753A (zh) * | 2020-07-30 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 一种应用程序测试方法、装置及计算机存储介质 |
CN111694755A (zh) * | 2020-07-31 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 应用程序测试方法、装置、电子设备及介质 |
CN112597012A (zh) * | 2020-12-16 | 2021-04-02 | 百度在线网络技术(北京)有限公司 | 应用程序的遍历方法、装置、电子设备和存储介质 |
CN115686334A (zh) * | 2022-10-31 | 2023-02-03 | 荣耀终端有限公司 | 操作控制的方法、电子设备及可读存储介质 |
WO2023065873A1 (zh) * | 2021-10-22 | 2023-04-27 | 荣耀终端有限公司 | 帧率调整方法、终端设备及帧率调整系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598380A (zh) * | 2015-01-16 | 2015-05-06 | 广东欧珀移动通信有限公司 | 一种基于控件的自动化测试方法及系统 |
CN105740145A (zh) * | 2016-01-27 | 2016-07-06 | 广州酷狗计算机科技有限公司 | 定位控件中的元素的方法及装置 |
CN107357725A (zh) * | 2017-06-29 | 2017-11-17 | 腾讯科技(深圳)有限公司 | 应用测试方法及装置 |
CN107402877A (zh) * | 2016-05-19 | 2017-11-28 | 福建天晴数码有限公司 | 基于Android端的APP测试方法及系统 |
US20170357568A1 (en) * | 2016-06-12 | 2017-12-14 | Apple Inc. | Device, Method, and Graphical User Interface for Debugging Accessibility Information of an Application |
-
2017
- 2017-12-22 CN CN201711401802.3A patent/CN108038059A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598380A (zh) * | 2015-01-16 | 2015-05-06 | 广东欧珀移动通信有限公司 | 一种基于控件的自动化测试方法及系统 |
CN105740145A (zh) * | 2016-01-27 | 2016-07-06 | 广州酷狗计算机科技有限公司 | 定位控件中的元素的方法及装置 |
CN107402877A (zh) * | 2016-05-19 | 2017-11-28 | 福建天晴数码有限公司 | 基于Android端的APP测试方法及系统 |
US20170357568A1 (en) * | 2016-06-12 | 2017-12-14 | Apple Inc. | Device, Method, and Graphical User Interface for Debugging Accessibility Information of an Application |
CN107357725A (zh) * | 2017-06-29 | 2017-11-17 | 腾讯科技(深圳)有限公司 | 应用测试方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299983A (zh) * | 2018-09-30 | 2019-02-01 | 北京金山安全软件有限公司 | 移动应用广告的生成方法、装置、电子设备和存储介质 |
CN111104017A (zh) * | 2019-11-25 | 2020-05-05 | 北京金堤科技有限公司 | 滑动定位处理方法及装置 |
CN111694753A (zh) * | 2020-07-30 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 一种应用程序测试方法、装置及计算机存储介质 |
CN111694753B (zh) * | 2020-07-30 | 2023-04-11 | 北京字节跳动网络技术有限公司 | 一种应用程序测试方法、装置及计算机存储介质 |
CN111694755A (zh) * | 2020-07-31 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 应用程序测试方法、装置、电子设备及介质 |
CN112597012A (zh) * | 2020-12-16 | 2021-04-02 | 百度在线网络技术(北京)有限公司 | 应用程序的遍历方法、装置、电子设备和存储介质 |
WO2023065873A1 (zh) * | 2021-10-22 | 2023-04-27 | 荣耀终端有限公司 | 帧率调整方法、终端设备及帧率调整系统 |
CN115686334A (zh) * | 2022-10-31 | 2023-02-03 | 荣耀终端有限公司 | 操作控制的方法、电子设备及可读存储介质 |
CN115686334B (zh) * | 2022-10-31 | 2023-11-28 | 荣耀终端有限公司 | 操作控制的方法、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108038059A (zh) | 界面遍历方法及装置 | |
JP6874142B2 (ja) | アプリケーション表示方法及び関連製品 | |
US11574009B2 (en) | Method, apparatus and computer device for searching audio, and storage medium | |
KR102336368B1 (ko) | 오디오 데이터를 재생하기 위한 방법 및 장치 | |
CN106415721B (zh) | 音频数据传输的协调切换 | |
CN110134804A (zh) | 图像检索方法、装置及存储介质 | |
CN108683927A (zh) | 主播推荐方法、装置及存储介质 | |
CN109729297A (zh) | 在视频中添加特效的方法和装置 | |
CN107978323A (zh) | 音频识别方法、装置及存储介质 | |
CN110502308A (zh) | 页面样式切换方法、装置、计算机设备及存储介质 | |
CN109646944A (zh) | 控制信息处理方法、装置、电子设备及存储介质 | |
CN107978321A (zh) | 音频处理方法及装置 | |
CN108959361A (zh) | 表单管理的方法和装置 | |
CN107959893A (zh) | 显示账户头像的方法和装置 | |
CN110248236A (zh) | 视频播放方法、装置、终端及存储介质 | |
CN110377784A (zh) | 歌单更新方法、装置、终端及存储介质 | |
CN110515688A (zh) | 页面显示方法、装置、终端及存储介质 | |
CN106775972B (zh) | 一种应用信息的提示方法和移动终端 | |
CN109068160A (zh) | 链接视频的方法、装置和系统 | |
CN108174274A (zh) | 虚拟物品赠送方法、装置及存储介质 | |
CN108039184A (zh) | 歌词添加方法及装置 | |
CN108922562A (zh) | 演唱评价结果显示方法及装置 | |
CN110378525A (zh) | 出行计划确定方法、装置、设备及存储介质 | |
CN107871012A (zh) | 音频处理方法、装置、存储介质及终端 | |
CN109525568A (zh) | 歌曲点播方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180515 |