[发明专利]页面视图控件的检测方法及装置在审
申请号: | 202110333030.4 | 申请日: | 2021-03-29 |
公开(公告)号: | CN113032264A | 公开(公告)日: | 2021-06-25 |
发明(设计)人: | 杨野驰;葛锋;刘潇 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 张春玲 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 页面 视图 控件 检测 方法 装置 | ||
本公开涉及UI自动化测试技术领域,提供一种页面视图控件的检测方法及装置,以解决视图控件检测时间久的问题,该方法包括:响应于测试脚本发送的控件查询请求,获取测试对象当前页面的第一页面结构树,调用视图控件检测线程遍历第一页面结构树,检测第一页面结构树中是否存在目标视图控件,以及并行调用操作控件检测线程遍历第一页面结构树,获得目标操作控件;在获得视图控件检测结果之后,生成针对目标操作控件的驱动指令,以对目标操作控件执行相应的操作。采用双线程模式并行检测页面结构树的策略,节省检测控件花费的时间,提高检测效率。利用等待机制的特点,可避免在自动化测试进程因突然弹出的目标视图控件而中断。
技术领域
本公开涉及用户界面设计(User Interface Design,UI)自动化测试技术领域,提供了一种页面视图控件的检测方法及装置。
背景技术
相关技术中的UI自动化测试技术中,通常使用Python、Java等脚本语言编写测试脚本,再调用开源API进行UI自动化测试。但在运行测试脚本的过程中,会因突然出现的视图控件(如,弹窗、提示框等)对UI自动化测试进程造成阻碍,中断测试脚本的运行。因此,为了保证UI自动化测试进程能顺利、有序地运行,可采用图像识别或者轮询页面结构的方式,判断是否出现视图控件。
但对于UI结构复杂的页面来说,采用上述两种方式的检测时间较长,导致视图控件无法被及时处理,进而影响到测试脚本的运行进度。
有鉴于此,本公开实施例提供了一种新的页面视图控件的检测方法及装置。
发明内容
本公开实施例提供一种页面视图控件的检测方法及装置,以解决视图控件检测时间久的问题。
第一方面,本公开实施例提供了一种页面视图控件的检测方法,包括:
响应于测试脚本发送的控件查询请求,获取测试对象当前页面的第一页面结构树;
调用视图控件检测线程遍历所述第一页面结构树,检测所述第一页面结构树中是否存在目标视图控件,以及并行调用操作控件检测线程遍历所述第一页面结构树,获得目标操作控件;
在获得视图控件检测结果之后,生成针对所述目标操作控件的驱动指令,以对所述目标操作控件执行相应的操作。
可选的,所述调用视图控件检测线程遍历所述第一页面结构树,检测所述第一页面结构树中是否存在目标视图控件,包括:
通过所述视图控件检测线程遍历所述第一页面结构树中的各个控件;
对于每个所遍历的控件,若相应控件的第一控件检索信息与预设的第二控件检索信息集合进行匹配后,获得了相应的匹配项,则生成相应的视图控件检测结果,所述视图控件检测结果表征获得所述匹配项的控件为所述目标视图控件;
基于所述视图控件检测结果关闭所述目标视图控件。
可选的,所述调用视图控件检测线程遍历所述第一页面结构树,检测所述第一页面结构树中是否存在目标视图控件,包括:
通过所述视图控件检测线程遍历所述第一页面结构树中的各个控件;
对于每个所遍历的控件,若相应控件的第一控件检索信息在与预设的第二控件检索信息集合进行匹配后,均未获得相应的匹配项,则生成相应的视图控件检测结果,所述视图控件检测结果表征所述第一页面结构树中不存在所述目标视图控件。
可选的,所述第二控件检索信息集合包括至少一个第二控件检索信息,所述第二控件检索信息通过以下方式获得:
基于历史检测记录获取历史页面的第二页面结构树,所述历史页面包括历史视图控件,所述第二页面结构树包含所述历史视图控件的第一控件标识;
根据所述第一控件标识,从所述第二页面结构树中提取所述历史视图控件的子结构树;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110333030.4/2.html,转载请声明来源钻瓜专利网。