CN108009078A - 一种应用界面遍历方法、系统和测试设备 - Google Patents
一种应用界面遍历方法、系统和测试设备 Download PDFInfo
- Publication number
- CN108009078A CN108009078A CN201610942112.8A CN201610942112A CN108009078A CN 108009078 A CN108009078 A CN 108009078A CN 201610942112 A CN201610942112 A CN 201610942112A CN 108009078 A CN108009078 A CN 108009078A
- Authority
- CN
- China
- Prior art keywords
- interface
- control
- current
- list
- controls
- 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.)
- Granted
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
-
- 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
-
- 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/3676—Test management for coverage analysis
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种应用界面遍历方法、系统和测试设备,方法通过将每次进入的界面作为当前界面,获取当前界面的控件列表,判断当前界面是否存在未遍历的控件、子界面或父界面,如果存在,进入未遍历的控件对应的界面、进入未遍历的子界面或未遍历的父界面;若当前界面的控件、子界面和父界面已全部遍历,判断当前界面是否为主界面,如果是,确定应用界面遍历完成,如果否,由当返回当前界面的上一层级界面。实现了自动遍历被测试应用的各个界面,不会出现界面遗漏,并且用户只需对遍历到的各个界面的显示内容进行查看即可,提高了遍历效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种应用界面遍历方法、系统和测试设备。
背景技术
在一款应用软件进行正式发布之前,需要遍历该应用的每一个界面。
现有的技术方案通常采用人工的方式对被测应用的每一个界面进行遍历,由于语言种类以及被测试应用的界面数量繁多,导致该过程过于繁琐,需要用户手动对各个应用界面进行查看和测试,又由于每个界面可能会关联多个子界面,因此用户无法保证每一次遍历的界面均为新的界面、没有遗漏未遍历的界面,人工操作的方式容易遗漏界面且工作量大、效率低。
发明内容
有鉴于此,本发明实施例提供一种应用界面遍历方法、系统和测试设备,以解决止人工遍历各个应用界面容易出现界面遗漏、遍历效率低的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种应用界面遍历方法,包括:
当进入所述被测应用的一个界面时,将进入的界面作为当前界面;
获取当前界面的控件列表,当当前界面存在未遍历的控件、子界面或父界面时,进入未遍历的控件对应的界面、与未遍历的子界面相对应的控件所对应的界面或未遍历的父界面;
当当前界面的控件、子界面和父界面已全部遍历时,判断当前界面是否为主界面,当当前界面为主界面时,确定应用界面遍历完成;
当当前界面不是主界面时,返回当前界面的上一层级界面。
一种应用界面遍历系统,包括:
控件列表获取单元,用于当获取到触发信号时,将当前被测应用的当前界面标定为当前界面,获取当前界面的控件列表,向第一判断单元输出触发信号;
第一判断单元,用于获取到所述控件列表获取单元输出的触发信号时,判断当前界面是否存在未遍历的控件、子界面或父界面,如果存在,进入控件列表中未遍历的控件对应的界面、进入未遍历的子界面或未遍历的父界面,向所述控件列表获取单元输出触发信号,如果不存在,向第二判断单元输出触发信号;
第二判断单元,用于当获取到触发信号后,判断当前界面是否为主界面,如果是,确定应用界面遍历完成,如果否,返回当前界面的上一层级界面,向所述控件列表获取单元输出触发信号。
一种测试设备,包括上述任意一项所述的应用界面遍历系统。
基于上述技术方案,本发明实施例提供的遍历方法,进入被测应用,将进入的界面作为当前界面,获取当前界面的控件列表,判断当前界面是否存在未遍历的控件、子界面或父界面,如果存在,进入未遍历的控件对应的界面、进入未遍历的子界面或未遍历的父界面;若当前界面的控件、子界面和父界面已全部遍历,判断当前界面是否为主界面,如果是,确定应用界面遍历完成,如果否,由当返回当前界面的上一层级界面。实现了自动遍历被测试应用的各个界面,不会出现界面遗漏,并且用户只需对遍历到的各个界面的显示内容进行查看即可,提高了遍历效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种应用界面遍历方法的流程示意图;
图2为本申请另一实施例公开的一种应用界面遍历方法的流程示意图;
图3为本申请实施例公开的一种判断当前界面是否存在未遍历的控件、子界面和父界面的流程示意图;
图4为本申请实施例公开的获取当前接卖弄的控件列表的过程示意图;
图5为本申请实施例公开的一种获取动态控件子列表的过程示意图;
图6为本申请实施例公开的一种应用界面遍历系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的应用界面遍历方法的流程示意图,该方法可应用于智能处理设备中,例如手机、平板电脑、笔记本电脑等;参照图1,该方法可以包括:
步骤S101:进入被测应用;
在本步骤中,当需要遍历一个被测试应用时,先进入被测应用的一个界面,其中该界面可以为默认的任意一个界面,例如,被测应用当前打开的界面,当然,为了便于遍历,优选的,当需要对被测应用进行遍历时,本步骤进入被测应用时,进入的是所述被测应用的主界面,由被测试应用的主界面依据被测应用的界面触发顺序/层级关系,逐级进入应用的叶子界面(底层界面),先对叶子界面进行遍历,当叶子界面遍历结束后,返回上一层界面,其中,所述被测应用的界面触发顺序/层级关系,可以指的是预设的触发规则,例如,对同一个界面中的控件、子界面和父界面依据预设规则设定一优先级,当一个界面同时存在未遍历的控件、子界面、父界面时,首先进入优先级最高的界面,其中,所述子界面的定义为:遍历过程中,晚于当前界面出现且在当前界面触发控件可到达的界面,认为是当前界面的子界面,所述父界面的定义为:遍历过程中,早于当前界面出现且在当前界面点击可到达的界面,认为是当前界面的父界面,其中,一个界面可以对应有多个父界面,例如:界面A、B、C均通过触发控件均可以进入界面K1,那么界面A、B、C均为界面K1的父界面;
步骤S102:当进入所述被测应用的一个界面时,将进入的界面作为当前界面;
在遍历过程中,需要遍历所述被测应用的多个界面,每当进入一个界面时,需要对本次进入的界面进行分析判断,由此,需要对被测应用的界面进行监测,每当当前界面发生变化时,将变化后的界面作为当前界面,对当前界面进行分析与判断;
步骤S103;获取当前界面的控件列表;
在本申请中,每遍历一个新界面后,都会存储该新界面的控件列表,所述控件列表中存储有每个界面内的各个有效控件,每个有效控件被触发后,都会进入一个与被触发的控件相对应的界面,在存储的控件列表中,记录该界面中的哪些控件是已遍历过的控件,哪些控件是未遍历过的控件。
由此,每当进入一个界面后,首先需要判断该界面是否是已经遍历过的界面,如果是,则表明该界面中的一些控件、子界面或父界面已经进行过遍历,因此,由预设数据库中调取与当前界面相匹配的控件列表。如果当前界面为一个新界面(之前未遍历过的界面),则对当前界面进行处理,得到当前界面的控件列表,将该控件列表保存至所述预设数据库,同时,为了方便用户后续过程中查看该界面,还需调取当前界面的界面布局信息和截图,将所述当前界面的界面布局信息和截图保存至所述预设数据库中,优选的,调取得到的各个界面的布局信息和截图可以以结构树的形式展现给用户;
具体的,在判断当前界面是否为新的界面时,其具体过程可以为:对当前界面进行处理,得到当前界面的控件列表,提取所述控件列表的特征信息,依据所述控件列表的特征信息判断当前界面是否是已遍历过的界面,当依据所述控件列表的特征信息判定当前界面为已遍历过的界面时,由预设数据库中提取与所述当前界面的控件列表,将由预设数据库提取得到的控件列表作为所述当前界面的控件列表,当依据所述控件列表的特征信息判定当前界面为未遍历过的界面时,将对当前界面进行处理得到的控件列表作为当前界面的控件列表,将所述控件列表存储至所述预设数据库中;
步骤S104:判断当前界面是否存在未遍历的控件、子界面或父界面,如果存在,执行步骤S105;若当前界面的控件、子界面和父界面已全部遍历,执行步骤S106;
在本步骤中,判断一个界面是否完全遍历的条件是判断该界面是否存在未遍历的控件、子界面或父界面,如果存在,表明该界面仍未遍历完成,可以通过查看控件列表的方式查看是否存在未遍历的控件。在遍历过程中,由于每个界面的子界面都是通过触发其控件进入的,由此,可以对每个控件设置两个标识,其中一个标识为控件遍历标识,另一个标识可以为子界面遍历标识,当在遍历过程中,当触发某一控件后,即激活该控件的控件遍历标识,当触发该控件后进入的界面中不存在控件时,表明该界面不存在未遍历控件和子界面,将触发该控件的子界面遍历标识,通过判断与当前界面的各个控件对应的控件遍历标识和子界面遍历标识的状态,即可判断当前界面是否存在未遍历的子界面和控件;每个子界面可能对应有至少一个父界面,在本申请中,当通过界面中的一个控件进入其子界面后,记录两个界面之间的父子关系,将该关系与进入的子界面相对应,将控件所处的界面作为进入的界面的父界面,如果被触发的控件所处的界面的其他控件的控件遍历标识和子界面遍历标识已全部激活,激活与该父子关系对应的父界面遍历标识。此时每当进入一个界面后,获取当前界面对应的各个父子关系,判断是否存在父界面遍历标识未被激活的父子关系,如果是,则表明当前界面存在未遍历的父界面,如果不存在,表明当前界面不存在未遍历的父界面;
步骤S105:进入未遍历的控件对应的界面、进入未遍历的子界面或未遍历的父界面,执行步骤S102;
执行步骤S106:判断当前界面是否为主界面,如果是,确定应用界面遍历完成,否则,执行步骤S107;
在本步骤中,每当判定当前界面的控件、子界面或父界面全部遍历完成后,还需判断一次应用界面是否遍历完成,此时,需要判定当前界面是否为被测应用的主界面,由于,本申请是由底层界面对所述被测应用进行遍历的,因此,如果当前界面为主界面,且当前界面的控件、子界面和父界面全部遍历完成,则认为主界面层级以下的界面全部遍历完成,确定本次被测应用的界面遍历完成,其中,在判断当前界面是否为主界面时,触发加载被测应用设备的预设按键返回当前界面的上一层界面,判断返回的上一层几面是否仍为当前界面,如果仍为当前界面,则表明当前界面是所述被测应用的主界面。
步骤S107:由当前界面返回当前界面的上一层级界面,执行步骤S102;
在本步骤中,如果当前界面的控件、子界面和父界面全部遍历完成以后,则需要进入其上一层的界面继续遍历,例如,界面A是界面B上一层级界面,界面B中的控件、子界面和父界面全部遍历完成后,因此通过触发加载当前应用的设备的预设按键的方式返回至界面A,例如,可以通过加载所述被测应用的设备上的返回键返回至当前界面的上一层级界面,当然,如果当前界面为主界面时,返回的上一层级界面仍为当前界面,由此,参见图2,在步骤S107和步骤S102之间,还可以包括:步骤S108:判断返回的上一层界面是否仍为当前界面,如果是,确定应用界面遍历完成,否则,执行步骤S102。
在本申请上述实施例公开的技术方案中,判断当前界面是否存在未遍历的控件、子界面或父界面时,可以依据预设顺序进行判定,例如先判定当前界面是否存在未遍历的子界面,然后判断是否存在未遍历的父界面,最终判断是否存在未遍历的控件,当然也可以采用其他判定顺序,例如参见图3,所述步骤S103和步骤S104具体可以包括:
步骤S1031:判断当前界面的控件是否已全部遍历,如果判断结果为否,执行步骤S1041,如果判断结果为是,执行步骤S1032;
其中,判断当前界面的控件是否已全部遍历的具体过程,可以参见上文所示;
步骤S1032:判断当前界面是否存在未遍历的子界面,如果存在,执行步骤S1042,如果不存在,执行步骤S1033;
其中,判断当前界面是否存在未遍历的子界面的具体过程,可以参见上文所示;
步骤S1033:判断当前界面是否存在未遍历的父界面,如果存在,执行步骤S1043,如果不存在,执行步骤S105;
其中,判断当前界面是否存在未遍历的父界面的具体过程,可以参见上文所示;
步骤S1041:触发未遍历的控件,进入与所述未遍历的控件相对应的界面;
步骤S1042:进入所述未遍历的子界面;
步骤S1043:进入未遍历的父界面。
本申请另一实施例中,还公开了一种获取当前界面的控件列表的具体方式,参见图4,所述步骤S103具体可以包括:
步骤S1031:采用UiAutomator测试框架对所述当前界面进行测试,得到与所述当前界面相匹配的控件列表;
其中,所述UiAutomator测试框架为一种JAVA类库,其包含一些自定义的UI(用户界面)功能测试,用以自动化和跑test case的引擎;在本步骤中,通过所述UiAutomator测试框架对当前界面进行测试,得到当前界面的控件列表;
步骤S1032:遍历对当前界面进行测试得到的控件列表,得到所述当前界面的有效控件,所述控件列表中存储有当前界面的各个有效控件;
在本步骤中,遍历当前界面的控件列表,得到当前界面的有效控件,所述有效控件包括可点击控件静态控件、动态控件以及文本控件等;
步骤S1033:提取各个有效控件的坐标值,依据各个有效控件的坐标值生成字符串;
在本步骤中,可提取每一个有效控件的坐标值,依据提取到的所有坐标值生成一字符串,当然,采用这种方式生成的字符串长度过长,不利于后续使用,针对于此,本申请还可以先对当前界面中的有效控件进行分组,将相同类型的有效控件分为同一组,每个组有效控件中只取该组中第一个有效控件的坐标,将所有组的第一个有效控件的坐标连接成长字符串,此为界面的简易布局串,所述简易布局串生成后,将遍历过的界面的简易布局串存储至所述预设数据库中,当然,为了方便后续过程中判断,也可以先对简易布局串进行MD5编码,得到简易布局串对应的MD5值,将该值存储至所述预设数据库中;
步骤S1034:判断已遍历界面列表中是否存在所述字符串,如果是,执行步骤S1035,否则执行步骤S1036;
如果所述预设数据库中存储的是MD5值,那么,所述判断已遍历界面列表中是否存在所述字符串具体可以为:判断已遍历界面列表中是否存在所述MD5值;
由于每遍历一个界面,均将该界面对应的所述字符串(简易布局串)存储到所述预设数据库中,因此,可通过查询所述预设数据库中是否存在该字符串的方式,判定当前界面是否属于已遍历过的界面;
步骤S1035:由预设数据库中提取与所述字符串相对应的控件列表,将由预设数据库提取得到的控件列表作为所述当前界面的控件列表;
步骤S1036:将通过UiAutomator测试框架得到的控件列表作为当前界面的控件列表,并将所述控件列表存储至预设数据库中。
在本申请上述实施例公开的技术方案中,当采用UiAutomator测试框架对所述当前界面进行测试,得到与所述当前界面相匹配的控件列表时,所述控件列表既包括由静态控件组成的静态控件子列表,也包括由动态控件组成的动态控件子列表,其中,所述静态控件为首次打开界面即可见的静态控件,所述动态控件为需要滑动控件或其他能够滚动的控件(在此记为运动控件)运动到某一位置才可见的控件,获取静态控件的过程较为简单,只需直接对该当前界面进行扫描即可,并不进行更深一步阐述,下面重点对动态控件子列表的生成过程进行阐述,该过程可以包括:
控制所述运动控件由初始位置依据预设规则运动,以在当前界面下得到多个连续的显示界面;
每得到一个显示界面后,采用UiAutomator测试框架检测并将每个显示界面中的控件加入动态控件子列表。
本申请实施例公开的技术方案中,可以依据用户需求设定所述连续的显示界面具体以何种方式连续,可以依据用户需求自行选择;
例如,在本申请实施例公开的技术方案中,上述各个连续的显示界面之间的连续关系可以如下:所述运动控件位于初始位置时,所述动态控件对应的显示界面中的首个控件记为当前显示界面的参照控件,最后一个控件作为当前显示界面的尾控件;上一个显示界面的尾控件位于下一个显示界面中,且上一个显示界面的尾控件作为下一个显示界面的参照控件。
具体的,参见图5,当所述运动控件为滑动控件时,获取动态控件子列表的具体过程可以如下:
步骤S501:将滑动控件的初始位置对应的第一屏设置为当前显示界面,将当前显示界面的第一个控件作为参照控件;
步骤S502:将获取当前显示界面中的最后一个完整控件作为尾控件;
步骤S503:将当前显示界面中所述参照控件到尾控件之间的所有控件加入动态控件子列表;
步骤S504:判断所述滑动控件能否按照预设方向继续运动,如果可以,执行步骤S505;
步骤S505:按照所述预设方向运动所述滑动控件,运动距离为当前显示界面的尾控件上边界到当前显示界面的上边界之间的距离;
步骤S506:将运动所述滑动控件后的得到的显示界面设置为当前界面,将上一个当前界面的尾控件作为当前显示界面的参照控件,执行步骤S503。
在本申请实施例公开的技术方案中,在遍历各个界面的控件时,由上述字符串或MD5值的生成步骤可知,只有有效控件坐标完全一致的界面才会被判断为同一界面,但是在实际运行中,会存在多个相似界面,这些界面往往只相差1-2个有效控件。如果按照常规的遍历方式,这两个界面中的所有有效控件都需要被遍历,这会导致同一个控件出现遍历多次的情况,会存在无用遍历,同时也会导致遍历时间成倍增加。
针对于此,为缩短遍历时间,本申请将差异控件数量在1-N个(N为经验值,例如其可以置为2)之内的界面称为同一类界面,这些界面互为类界面。
为了加快遍历速度,上述方案中,判断当前界面的控件是否已全部遍历,具体可以包括:
获取当前界面的有效控件;
依据当前界面的控件列表和已遍历界面的控件列表,判断已遍历的界面中是否存在所述当前界面的类界面,如果存在,获取所述类界面中已遍历过的有效控件;
将所述当前界面的控件列表中与类界面中已遍历过的有效控件相同的有效控件标记为已遍历控件,根据前面得到的标记结果判断当前界面的有效控件是否已全部遍历。
在上述方案中,获取到当前界面的控件列表之后,将该控件列表与已遍历过的其他控件的控件列表进行对比,判断是否存在有效控件的数量相差在许可范围之内的控件列表,如果存在,则认为该控件列表对应的界面与当前界面互为类界面,该界面中已遍历过的有效控件无需再次在当前界面中进行遍历。
当然,除了上述通过采用控件列表进行对比的方式判断是否存在当前界面的类界面之外,还可以采用上述字符串或MD5值的方式进行判定,例如,当前界面对应的字符串和已遍历过的界面对应的字符串进行对比,两者差异在许可范围之内时,判定两者互为类界面。
在本申请上述实施例公开的技术方案中,为了方便用户了解各个界面之间的跳转关系,当触发未遍历过的控件进入一个新的界面时,还需要在存储未遍历的控件与未遍历的控件对应的界面之间的跳转关系。
参见图6,与上述方法相对应,本申请还公开了一种应用界面遍历系统,包括:
控件列表获取单元100,用于将当前被测应用的当前界面标定为当前界面,获取当前界面的控件列表,向第一判断单元输出触发信号;
第一判断单元200,用于获取到所述控件列表获取单元输出的触发信号时,判断当前界面是否存在未遍历的控件、子界面或父界面,如果存在,进入控件列表中未遍历的控件对应的界面、进入未遍历的子界面或未遍历的父界面,向所述控件列表获取单元输出触发信号,如果不存在,向第二判断单元输出触发信号;
第二判断单元300,用于当获取到触发信号后,判断当前界面是否为主界面,如果是,确定应用界面遍历完成,如果否,返回当前界面的上一层级界面,向所述控件列表获取单元输出触发信号。
上述方案中,还可以包括被测应用选择单元,其可以用于选择并进入被测应用,在进入被测应用时,可优先进入被测应用的主界面,当判断得到主界面的未遍历控件和子界面时,再由所述主界面开始按照被测应用的界面触发顺序/层级关系,依次进入被测应用的各界面。
与上述方法相对应,所述第一判断单元200包括:
用于当当前界面存在未遍历的控件时,触发所述未遍历的控件,进入与所述未遍历的控件相对应的界面,向控件列表获取单元输出触发信号,当当前界面存在未遍历的控件时,向子界面判断单元输出触发信号;
子界面判断单元,用于当当前界面存在未遍历的子界面时,进入所述未遍历的子界面,向控件列表获取单元输出触发信号,当当前界面存在未遍历的控件时,当当前界面存在未遍历的子界面时,向父界面判断单元输出触发信号;
父界面判断单元,用于当当前界面存在未遍历的父界面时,进入未遍历的父界面,向控件列表获取单元输出触发信号,当当前界面存在未遍历的父界面时,判定当前界面的控件、子界面和父界面已全部遍历,向所述第二判断单元输出触发信号。
与上述方法相对应,控件列表获取单元100,包括:
新界面判断单元,用于当当前界面为已遍历过的界面时,由预设数据库中提取与所述当前界面的控件列表,当当前界面为未遍历过的界面时,将对当前界面进行处理得到的控件列表作为当前界面的控件列表。
具体的,所述新界面判断单元具体可以被配置为:对当前界面进行处理,得到当前界面的控件列表,依据所述控件列表判断当前界面是否是已遍历过的界面,当当前界面为已遍历过的界面时,由预设数据库中提取与所述当前界面的控件列表,将由预设数据库提取得到的控件列表作为所述当前界面的控件列表,如果当前界面为未遍历过的界面时,将对当前界面进行处理得到的控件列表作为当前界面的控件列表,将所述控件列表存储至所述预设数据库中。
与上述方法相对应,为了方便对所述对当前界面进行处理得到当前界面的控件列表,所述新界面判断单元,包括:
UiAutomator测试框架,用于对所述当前界面进行测试,得到与所述当前界面相匹配的控件列表;
子新界面判断单元,用于遍历对当前界面进行测试得到的控件列表,得到所述当前界面的有效控件,提取各个有效控件的坐标值,依据各个有效控件的坐标值生成字符串,判断已遍历界面列表中是否存在所述字符串,如果是,表明所述当前界面为已遍历过的界面,否则,表明当前界面为未遍历过的界面。
与上述方法相对应,所述控件列表包括静态控件子列表和动态控件子列表,所述静态控件子列表用于存储与运动控件同一层级的静态控件,所述动态控件子列表用于存储受运动控件控制显示状态的控件,所述控件列表获取单元,包括:
动态控件子列表采集单元,用于控制所述运动控件依据预设规则运动,以在当前界面下得到多个连续的显示界面;控制UiAutomator测试框架检测并将每个显示界面中的控件加入动态控件子列表。
与上述方法相对应,所述动态控件子列表采集单元,包括:
动态控件控制单元,用于控制所述运动控件由初始位置处依据预设规则运动,以在当前界面下得到与所述运动控件相对应的多个连续的显示界面;
其中,所述运动控件位于初始位置时,所述运动控件对应的显示界面中的首个控件记为当前显示界面的参照控件,最后一个控件作为当前显示界面的尾控件;上一个显示界面的尾控件位于下一个显示界面中,且上一个显示界面的尾控件作为下一个显示界面的参照控件。
与上述方法相对应,上述系统还可以包括:类界面判断单元,用于获取当前界面的有效控件,依据当前界面的有效控件和已遍历界面的有效控件,判断已遍历的界面中是否存在所述当前界面的类界面,如果存在,获取所述类界面中已遍历过的有效控件;将所述当前界面中与类界面中已遍历过的有效控件相同的有效控件标记为已遍历控件,根据前面得到的标记结果判断当前界面的有效控件是否已全部遍历;
其中,如果两个界面具有N个不同的有效控件,且所述N在许可范围之内,则这两个界面互为类界面。
与上述方法相对应,上述系统还可以包括:
跳转关系提取单元,用于每当进入与所述未遍历的控件相对应的界面时,存储所述未遍历的控件与未遍历对应的界面之间的跳转关系。
对应于上述系统,本申请还公开了一种测试设备,所述测试装备可以为应用有上述任意一项界面遍历系统的手机、电脑、PC机等。
在上述方案中,所述被测应用可以指的是与所述测试设备相连的测试终端的当前启动的应用。
当所述被测应用可以指的是与所述测试设备相连的测试终端的当前启动的应用时,为了方便工作人员遍历各个界面,所述应用界面遍历系统,还用于,将保存的数据信息存储至与所述测试设备相连的测试终端,所述保存的数据信息包括遍历的各个界面的界面布局信息、界面截图文件、控件列表以及控件与界面之间的跳转关系。
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (21)
1.一种应用界面遍历方法,其特征在于,包括:
当进入所述被测应用的一个界面时,将进入的界面作为当前界面;
获取当前界面的控件列表,当当前界面存在未遍历的控件、子界面或父界面时,进入未遍历的控件对应的界面、与未遍历的子界面相对应的控件所对应的界面或未遍历的父界面;
当当前界面的控件、子界面和父界面已全部遍历时,判断当前界面是否为主界面,当当前界面为主界面时,确定应用界面遍历完成;
当当前界面不是主界面时,返回当前界面的上一层级界面。
2.根据权利要求1所述的应用界面遍历方法,其特征在于,所述当当前界面存在未遍历的控件、子界面或父界面时,进入未遍历的控件对应的界面、与未遍历的子界面相对应的控件所对应的界面或未遍历的父界面,包括:
判断当前界面的控件是否已全部遍历,如果判断结果为否,触发未遍历的控件,进入与所述未遍历的控件相对应的界面,如果判断结果为是,判断当前界面是否存在未遍历的子界面,如果存在,进入所述未遍历的子界面,如果不存在,判断当前界面是否存在未遍历的父界面,如果存在,进入未遍历的父界面,如果不存在,则判定当前界面不存在未遍历的控件、子界面或父界面。
3.根据权利要求1所述的应用界面遍历方法,其特征在于,所述获取当前界面的控件列表,包括:
当当前界面为已遍历过的界面时,由预设数据库中提取与所述当前界面的控件列表,当当前界面为未遍历过的界面时,将对当前界面进行处理得到的控件列表作为当前界面的控件列表。
4.根据权利要求3所述的应用界面遍历方法,其特征在于,所述当当前界面为已遍历过的界面时,由预设数据库中提取与所述当前界面的控件列表,当当前界面为未遍历过的界面时,将对当前界面进行处理得到的控件列表作为当前界面的控件列表,包括:
对当前界面进行处理,得到当前界面的控件列表,依据所述控件列表判断当前界面是否是已遍历过的界面,当当前界面为已遍历过的界面时,由预设数据库中提取与所述当前界面的控件列表,将由预设数据库提取得到的控件列表作为所述当前界面的控件列表,如果当前界面为未遍历过的界面时,将对当前界面进行处理得到的控件列表作为当前界面的控件列表,将所述控件列表存储至所述预设数据库中。
5.根据权利要求4所述的应用界面遍历方法,其特征在于,所述对当前界面进行处理,得到当前界面的控件列表,包括:
采用UiAutomator测试框架对所述当前界面进行测试,得到与所述当前界面相匹配的控件列表;
所述依据所述控件列表判断当前界面是否是已遍历过的界面,包括:
遍历对当前界面进行测试得到的控件列表,得到所述当前界面的有效控件,提取各个有效控件的坐标值,依据各个有效控件的坐标值生成字符串;判断已遍历界面列表中是否存在所述字符串,如果是,表明所述当前界面为已遍历过的界面,否则,表明当前界面为未遍历过的界面。
6.根据权利要求5所述的应用界面遍历方法,其特征在于,采用UiAutomator测试框架对所述当前界面进行测试,得到与所述当前界面相匹配的控件列表,包括:
获取采用UiAutomator测试框架对所述当前界面进行测试后得到的控件列表,所述控件列表中包括静态控件子列表和动态控件子列表;
所述动态控件子列表的获取过程为:
控制运动控件依据预设规则运动,以在当前界面下得到多个连续的显示界面;
采用UiAutomator测试框架检测并将每个显示界面中的控件加入动态控件子列表。
7.根据权利要求6所述的应用界面遍历方法,其特征在于,控制运动控件依据预设规则运动,以在当前界面下得到多个连续的显示界面,包括:
控制运动控件由初始位置处依据预设规则运动,以在当前界面下得到与运动控件相对应的多个连续的显示界面;
其中,所述运动控件位于初始位置时,所述运动控件对应的显示界面中的首个控件记为当前显示界面的参照控件,最后一个控件作为当前显示界面的尾控件;上一个显示界面的尾控件位于下一个显示界面中,且上一个显示界面的尾控件作为下一个显示界面的参照控件。
8.根据权利要求1所述的应用界面遍历方法,其特征在于,判断当前界面是否存在未遍历的控件,包括:
获取当前界面的控件列表,依据当前界面的控件列表和已遍历界面的控件列表,判断已遍历的界面中是否存在所述当前界面的类界面,如果存在,获取所述类界面中已遍历过的有效控件;
将所述当前界面的控件列表中与类界面中已遍历过的有效控件相同的有效控件标记为已遍历控件,根据前面得到的标记结果判断当前界面的有效控件是否已全部遍历;
其中,如果两个界面具有N个不同的有效控件,且所述N在许可范围之内,则这两个界面互为类界面。
9.根据权利要求1所述的应用界面遍历方法,其特征在于,进入未遍历的控件对应的界面之后,还包括:
在控件列表中将所述为遍历的控件标记为已遍历控件;
存储未遍历的控件与未遍历的控件对应的界面之间的跳转关系。
10.一种应用界面遍历系统,其特征在于,包括:
控件列表获取单元,用于将当前被测应用的当前界面标定为当前界面,获取当前界面的控件列表,向第一判断单元输出触发信号;
第一判断单元,用于获取到所述控件列表获取单元输出的触发信号时,判断当前界面是否存在未遍历的控件、子界面或父界面,如果存在,进入控件列表中未遍历的控件对应的界面、进入未遍历的子界面或未遍历的父界面,向所述控件列表获取单元输出触发信号,如果不存在,向第二判断单元输出触发信号;
第二判断单元,用于当获取到触发信号后,判断当前界面是否为主界面,如果是,确定应用界面遍历完成,如果否,返回当前界面的上一层级界面,向所述控件列表获取单元输出触发信号。
11.根据权利要求10所述的应用界面遍历系统,其特征在于,所述第一判断单元包括:
控件判断单元,用于当当前界面存在未遍历的控件时,触发所述未遍历的控件,进入与所述未遍历的控件相对应的界面,向控件列表获取单元输出触发信号,当当前界面存在未遍历的控件时,向子界面判断单元输出触发信号;
子界面判断单元,用于当当前界面存在未遍历的子界面时,进入所述未遍历的子界面,向控件列表获取单元输出触发信号,当当前界面存在未遍历的控件时,当当前界面存在未遍历的子界面时,向父界面判断单元输出触发信号;
父界面判断单元,用于当当前界面存在未遍历的父界面时,进入未遍历的父界面,向控件列表获取单元输出触发信号,当当前界面存在未遍历的父界面时,判定当前界面的控件、子界面和父界面已全部遍历,向所述第二判断单元输出触发信号。
12.根据权利要求10所述的应用界面遍历系统,其特征在于,所述控件列表获取单元,包括:
新界面判断单元,用于当当前界面为已遍历过的界面时,由预设数据库中提取与所述当前界面的控件列表,当当前界面为未遍历过的界面时,将对当前界面进行处理得到的控件列表作为当前界面的控件列表。
13.根据权利要求12所述的应用界面遍历系统,其特征在于,所述新界面判断单元,具体被配置为:
对当前界面进行处理,得到当前界面的控件列表,依据所述控件列表判断当前界面是否是已遍历过的界面,当当前界面为已遍历过的界面时,由预设数据库中提取与所述当前界面的控件列表,将由预设数据库提取得到的控件列表作为所述当前界面的控件列表,如果当前界面为未遍历过的界面时,将对当前界面进行处理得到的控件列表作为当前界面的控件列表,将所述控件列表存储至所述预设数据库中。
14.根据权利要求13所述的应用界面遍历系统,其特征在于,所述新界面判断单元,包括:
UiAutomator测试框架,用于对所述当前界面进行测试,得到与所述当前界面相匹配的控件列表;
子新界面判断单元,用于遍历对当前界面进行测试得到的控件列表,得到所述当前界面的有效控件,提取各个有效控件的坐标值,依据各个有效控件的坐标值生成字符串,判断已遍历界面列表中是否存在所述字符串,如果是,表明所述当前界面为已遍历过的界面,否则,表明当前界面为未遍历过的界面。
15.根据权利要求14所述的应用界面遍历系统,其特征在于,控件列表包括静态控件子列表和动态控件子列表,所述静态控件子列表用于存储与运动控件同一层级的静态控件,所述动态控件子列表用于存储受运动控件控制显示状态的控件,所述控件列表获取单元,还包括:
动态控件子列表采集单元,用于控制所述运动控件依据预设规则运动,以在当前界面下得到多个连续的显示界面;控制UiAutomator测试框架检测并将每个显示界面中的控件加入动态控件子列表。
16.根据权利要求15所述的应用界面遍历系统,其特征在于,动态控件子列表采集单元,包括:
动态控件控制单元,用于控制所述运动控件由初始位置处依据预设规则运动,以在当前界面下得到与所述运动控件相对应的多个连续的显示界面;
其中,所述运动控件位于初始位置时,所述运动控件对应的显示界面中的首个控件记为当前显示界面的参照控件,最后一个控件作为当前显示界面的尾控件;上一个显示界面的尾控件位于下一个显示界面中,且上一个显示界面的尾控件作为下一个显示界面的参照控件。
17.根据权利要求10所述的应用界面遍历系统,其特征在于,还包括:
类界面判断单元,用于获取当前界面的有效控件,依据当前界面的有效控件和已遍历界面的有效控件,判断已遍历的界面中是否存在所述当前界面的类界面,如果存在,获取所述类界面中已遍历过的有效控件;将所述当前界面中与类界面中已遍历过的有效控件相同的有效控件标记为已遍历控件,根据前面得到的标记结果判断当前界面的有效控件是否已全部遍历;
其中,如果两个界面具有N个不同的有效控件,且所述N在许可范围之内,则这两个界面互为类界面。
18.根据权利要求10所述的应用界面遍历系统,其特征在于,还包括:
跳转关系提取单元,用于每当进入与所述未遍历的控件相对应的界面时,存储所述未遍历的控件与未遍历对应的界面之间的跳转关系。
19.一种测试设备,其特征在于,权利要求10-18任意一项所述的应用界面遍历系统。
20.根据权利要求19所述的测试设备,其特征在于,包括:
所述被测应用为与所述测试设备相连的测试终端的当前启动的应用。
21.根据权利要求20所述的测试设备,其特征在于,包括:
应用界面遍历系统,还用于,将保存的数据信息存储至与所述测试设备相连的测试终端。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610942112.8A CN108009078B (zh) | 2016-11-01 | 2016-11-01 | 一种应用界面遍历方法、系统和测试设备 |
PCT/CN2017/107288 WO2018082462A1 (zh) | 2016-11-01 | 2017-10-23 | 应用界面遍历方法、系统和测试设备 |
US16/358,774 US10990511B2 (en) | 2016-11-01 | 2019-03-20 | Apparatus and application interface traversing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610942112.8A CN108009078B (zh) | 2016-11-01 | 2016-11-01 | 一种应用界面遍历方法、系统和测试设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108009078A true CN108009078A (zh) | 2018-05-08 |
CN108009078B CN108009078B (zh) | 2021-04-27 |
Family
ID=62047254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610942112.8A Active CN108009078B (zh) | 2016-11-01 | 2016-11-01 | 一种应用界面遍历方法、系统和测试设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10990511B2 (zh) |
CN (1) | CN108009078B (zh) |
WO (1) | WO2018082462A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062793A (zh) * | 2018-07-23 | 2018-12-21 | 广州云测信息技术有限公司 | 一种滚轮控件的测试方法、装置及电子设备 |
CN109614176A (zh) * | 2018-10-30 | 2019-04-12 | 努比亚技术有限公司 | 一种应用界面布局方法、终端及计算机可读存储介质 |
CN110442820A (zh) * | 2019-07-24 | 2019-11-12 | 上海易点时空网络有限公司 | 用于网页的图片合成方法以及装置 |
CN110515835A (zh) * | 2019-07-30 | 2019-11-29 | 上海云扩信息科技有限公司 | 一种基于机器视觉和dom树结构的测试方法 |
CN110580221A (zh) * | 2019-08-21 | 2019-12-17 | 东软集团股份有限公司 | 控件测试方法、装置、存储介质及电子设备 |
CN111208929A (zh) * | 2020-01-03 | 2020-05-29 | 广州虎牙科技有限公司 | 多层级界面的响应方法、装置、设备及存储介质 |
CN111243580A (zh) * | 2018-11-28 | 2020-06-05 | Tcl集团股份有限公司 | 语音控制方法、装置及计算机可读存储介质 |
CN111309622A (zh) * | 2020-02-27 | 2020-06-19 | 中国平安人寿保险股份有限公司 | 应用程序测试方法、装置、终端设备以及存储介质 |
CN112019839A (zh) * | 2020-09-18 | 2020-12-01 | 四川长虹电器股份有限公司 | 一种安卓智能电视应用自动化测试方法 |
CN112532966A (zh) * | 2019-08-27 | 2021-03-19 | 中兴通讯股份有限公司 | 机顶盒测试方法、装置、机顶盒及计算机可读存储介质 |
CN115292571A (zh) * | 2022-08-08 | 2022-11-04 | 烟台中科网络技术研究所 | 一种App数据采集方法及系统 |
CN116149951A (zh) * | 2023-02-24 | 2023-05-23 | 宁畅信息产业(北京)有限公司 | 一种基本输入输出系统的拓扑信息获取方法及装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491890A (zh) * | 2018-10-16 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 应用程序的接口扫描方法及终端设备 |
CN112416300A (zh) * | 2019-08-20 | 2021-02-26 | 阿里巴巴集团控股有限公司 | 应用程序安装包生成方法、装置与电子设备 |
CN113094281B (zh) * | 2021-04-28 | 2024-05-03 | 杭州网易云音乐科技有限公司 | 一种混合式App的测试方法及装置 |
CN117149663B (zh) * | 2023-10-30 | 2024-02-02 | 合肥中科类脑智能技术有限公司 | 多目标检测算法的部署方法、装置、电子设备和介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040046785A1 (en) * | 2002-09-11 | 2004-03-11 | International Business Machines Corporation | Methods and apparatus for topology discovery and representation of distributed applications and services |
CN101403967A (zh) * | 2008-11-12 | 2009-04-08 | 恒生电子股份有限公司 | 界面保存和显示方法、客户端和服务器 |
US7849425B1 (en) * | 2006-09-29 | 2010-12-07 | Breker Verification Systems, Inc. | Generating self-checking test cases from a reduced case analysis graph using path inheritance |
CN104572430A (zh) * | 2013-10-24 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种终端应用界面的测试方法、装置和系统 |
CN105022687A (zh) * | 2014-04-22 | 2015-11-04 | 腾讯科技(深圳)有限公司 | 自动化测试方案中滑动操作的实现方法及装置 |
CN105138357A (zh) * | 2015-08-11 | 2015-12-09 | 中山大学 | 一种移动应用操作助手的实现方法及其装置 |
CN105302715A (zh) * | 2014-07-30 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 应用程序用户界面的获取方法和装置 |
CN105630686A (zh) * | 2016-03-24 | 2016-06-01 | 厦门美图移动科技有限公司 | 一种应用遍历测试方法、设备和移动终端 |
US20160224458A1 (en) * | 2013-02-08 | 2016-08-04 | Facebook, Inc. | Semantic stack trace |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455414B (zh) * | 2012-06-04 | 2017-08-01 | 腾讯科技(深圳)有限公司 | 获取控件的逻辑位置的方法及装置 |
US20150324462A1 (en) * | 2014-05-12 | 2015-11-12 | International Business Machines Corporation | Browser Search Result Option to Facilitate Human Spidering |
US10169220B2 (en) * | 2016-08-05 | 2019-01-01 | International Business Machines Corporation | Prioritizing resiliency tests of microservices |
-
2016
- 2016-11-01 CN CN201610942112.8A patent/CN108009078B/zh active Active
-
2017
- 2017-10-23 WO PCT/CN2017/107288 patent/WO2018082462A1/zh active Application Filing
-
2019
- 2019-03-20 US US16/358,774 patent/US10990511B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040046785A1 (en) * | 2002-09-11 | 2004-03-11 | International Business Machines Corporation | Methods and apparatus for topology discovery and representation of distributed applications and services |
US7849425B1 (en) * | 2006-09-29 | 2010-12-07 | Breker Verification Systems, Inc. | Generating self-checking test cases from a reduced case analysis graph using path inheritance |
CN101403967A (zh) * | 2008-11-12 | 2009-04-08 | 恒生电子股份有限公司 | 界面保存和显示方法、客户端和服务器 |
US20160224458A1 (en) * | 2013-02-08 | 2016-08-04 | Facebook, Inc. | Semantic stack trace |
CN104572430A (zh) * | 2013-10-24 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种终端应用界面的测试方法、装置和系统 |
CN105022687A (zh) * | 2014-04-22 | 2015-11-04 | 腾讯科技(深圳)有限公司 | 自动化测试方案中滑动操作的实现方法及装置 |
CN105302715A (zh) * | 2014-07-30 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 应用程序用户界面的获取方法和装置 |
CN105138357A (zh) * | 2015-08-11 | 2015-12-09 | 中山大学 | 一种移动应用操作助手的实现方法及其装置 |
CN105630686A (zh) * | 2016-03-24 | 2016-06-01 | 厦门美图移动科技有限公司 | 一种应用遍历测试方法、设备和移动终端 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062793A (zh) * | 2018-07-23 | 2018-12-21 | 广州云测信息技术有限公司 | 一种滚轮控件的测试方法、装置及电子设备 |
CN109614176A (zh) * | 2018-10-30 | 2019-04-12 | 努比亚技术有限公司 | 一种应用界面布局方法、终端及计算机可读存储介质 |
CN109614176B (zh) * | 2018-10-30 | 2021-10-15 | 努比亚技术有限公司 | 一种应用界面布局方法、终端及计算机可读存储介质 |
CN111243580A (zh) * | 2018-11-28 | 2020-06-05 | Tcl集团股份有限公司 | 语音控制方法、装置及计算机可读存储介质 |
CN110442820A (zh) * | 2019-07-24 | 2019-11-12 | 上海易点时空网络有限公司 | 用于网页的图片合成方法以及装置 |
CN110515835A (zh) * | 2019-07-30 | 2019-11-29 | 上海云扩信息科技有限公司 | 一种基于机器视觉和dom树结构的测试方法 |
CN110580221A (zh) * | 2019-08-21 | 2019-12-17 | 东软集团股份有限公司 | 控件测试方法、装置、存储介质及电子设备 |
CN112532966A (zh) * | 2019-08-27 | 2021-03-19 | 中兴通讯股份有限公司 | 机顶盒测试方法、装置、机顶盒及计算机可读存储介质 |
CN111208929A (zh) * | 2020-01-03 | 2020-05-29 | 广州虎牙科技有限公司 | 多层级界面的响应方法、装置、设备及存储介质 |
CN111309622A (zh) * | 2020-02-27 | 2020-06-19 | 中国平安人寿保险股份有限公司 | 应用程序测试方法、装置、终端设备以及存储介质 |
CN112019839A (zh) * | 2020-09-18 | 2020-12-01 | 四川长虹电器股份有限公司 | 一种安卓智能电视应用自动化测试方法 |
CN115292571A (zh) * | 2022-08-08 | 2022-11-04 | 烟台中科网络技术研究所 | 一种App数据采集方法及系统 |
CN115292571B (zh) * | 2022-08-08 | 2023-03-28 | 烟台中科网络技术研究所 | 一种App数据采集方法及系统 |
CN116149951A (zh) * | 2023-02-24 | 2023-05-23 | 宁畅信息产业(北京)有限公司 | 一种基本输入输出系统的拓扑信息获取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190213114A1 (en) | 2019-07-11 |
CN108009078B (zh) | 2021-04-27 |
US10990511B2 (en) | 2021-04-27 |
WO2018082462A1 (zh) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108009078A (zh) | 一种应用界面遍历方法、系统和测试设备 | |
CN105550356B (zh) | 一种浏览内容预加载方法及终端 | |
CN103597469B (zh) | 集成开发环境中的实况浏览器工具 | |
CN108228873A (zh) | 对象推荐、发布内容推送方法、装置、存储介质和设备 | |
CN104516949B (zh) | 网页数据处理方法和装置、查询处理方法及问答系统 | |
CN103488465B (zh) | 功能配置推荐方法及系统 | |
CN107918622A (zh) | 内容推荐、展示方法、客户端、服务器和系统 | |
CN102663023A (zh) | 一种提取网页内容的实现方法 | |
CN106570013A (zh) | 页面访问数据的处理方法和装置 | |
CN103390044B (zh) | 一种连锁类兴趣点数据识别方法及装置 | |
US10846057B2 (en) | System and method for automatic software application creation | |
CN108399124A (zh) | 应用测试方法、装置、计算机设备和存储介质 | |
CN110069724A (zh) | 应用程序快捷跳转方法、装置、电子设备和存储介质 | |
CN107085583A (zh) | 一种基于内容的电子文档管理方法及装置 | |
CN104951499B (zh) | 一种跨域用户关联方法及信息推送方法 | |
CN105243058A (zh) | 一种网页内容翻译方法及电子设备 | |
CN107992523A (zh) | 移动应用的功能选项查找方法及终端设备 | |
CN106533921A (zh) | 基于电子邮件信息的快速建档方法及系统 | |
CN104102704B (zh) | 系统控件展示方法和装置 | |
CN106896974A (zh) | 数据归类的方法和装置 | |
CN107220251A (zh) | 生成描述信息的方法及装置 | |
CN105718239B (zh) | 一种语音输入的方法和装置 | |
CN108304452A (zh) | 文章处理方法及装置、存储介质 | |
CN109491884A (zh) | 代码性能检测方法、装置、计算机设备和介质 | |
CN106610925A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |