本公开提出一种控件元素的识别方法,所述方法包括:读取目标控件元素的识别属性;所述识别属性包括多个用于在测试页面中识别所述目标控件元素的控件元素属性;检查所述目标控件元素的识别属性是否发生变化;当所述目标控件元素的识别属性发生变化时,对所述识别属性中发生变化的控件元素属性进行更新;基于预设识别策略使用更新后的所述识别属性在所述测试页面中识别所述目标控件元素。本公开可以提高页面测试的成功率,降低测试成本。
【技术实现步骤摘要】
本公开涉及终端领域,尤其涉及控件元素的识别方法和装置。
技术介绍
随着互联网技术的快速发展,网站的迭代速度变得非常快,在针对网站进行测试时,如果仅依靠传统的手工测试,效率将非常低下,已无法满足实际的需求。因此出现了利用自动化测试代替部分手工测试的测试方案,解放出大量的测试时间。然而,在针对网站进行自动化测试时,如果被测试页面中的控件元素发生变化,很可能会导致测试失败。
技术实现思路
为克服相关技术中存在的问题,本公开提供一种控件元素的识别方法和装置。根据本公开实施例的第一方面,提供一种控件元素的识别方法,所述方法包括:读取目标控件元素的识别属性;所述识别属性包括多个用于在测试页面中识别所述目标控件元素的控件元素属性;检查所述目标控件元素的识别属性是否发生变化;当所述目标控件元素的识别属性发生变化时,对所述识别属性中发生变化的控件元素属性进行更新;基于预设识别策略使用更新后的所述识别属性在所述测试页面中识别所述目标控件元素。可选的,所述检查所述目标控件元素的识别属性是否发生变化包括:周期性的采集所述测试页面的控件元素属性;将所述识别属性中的控件元素属性与采集到的所述测试页面的控件元素属性进行匹配;当所述识别属性中的部分控件元素属性无法在采集到的所述测试页面的控件元素属性中匹配到对应的控件元素属性时,确定所述目标控件元素的识别属性发生变化。可选的,所述方法还包括:当所述识别属性中的控件元素属性均无法在采集到的所述测试页面的控件元素属性中匹配到对应的控件元素属性时,向测试人员发送提示消息,以提示所述测试人员为所述目标控件元素重新设置识别属性。可选的,所述对所述识别属性中发生变化的控件元素属性进行更新包括:基于所述识别属性中各控件元素属性之间的相关性,获取所述测试页面的控件元素属性中与所述部分控件元素属性匹配的控件元素属性;根据获取到的所述测试页面的控件元素属性中与所述部分控件元素属性匹配的控件元素属性对所述部分控件元素进行更新。可选的,所述预设识别策略包括以下识别子策略中的一种或者多种的组合:基于所述识别属性中任一指定的控件元素属性识别所述目标控件元素;基于所述识别属性中指定的多个控件元素逐个识别所述目标控件元素;基于所述识别属性中指定的多个控件元素的组合识别所述目标控件元素;基于所述识别属性中指定的多个控件元素所创建的正则表达式识别所述目标控件元素。可选的,所述基于预设识别策略使用更新后的所述识别属性在所述测试页面中识别所述目标控件元素包括:当所述识别策略仅包括一个识别子策略时,基于该识别子策略在所述测试页面中识别所述目标控件元素;当所述识别策略包括多个识别子策略时,如果基于任一识别子策略在所述测试页面中仍无法识别所述目标控件元素,则基于所述多个识别子策略中的其它识别子策略在所述测试页面中继续识别所述目标控件元素。可选的,所述方法还包括:当基于预设识别策略使用更新后的所述识别属性在所述测试页面中仍无法识别所述目标控件元素时,向测试人员发送提示消息,以提示所述测试人员为所述目标控件元素重新设置识别属性。根据本公开实施例的第二方面,提供一种控件元素的识别装置,所述装置包括:读取模块,被配置为读取目标控件元素的识别属性;所述识别属性包括多个用于在测试页面中识别所述目标控件元素的控件元素属性;检查模块,被配置为检查所述目标控件元素的识别属性是否发生变化;更新模块,被配置为在所述目标控件元素的识别属性发生变化时,对所述识别属性中发生变化的控件元素属性进行更新;识别模块,被配置为基于预设识别策略使用更新后的所述识别属性在所述测试页面中识别所述目标控件元素。可选的,所述检查模块包括:采集子模块,被配置为周期性的采集所述测试页面的控件元素属性;匹配子模块,被配置为将所述识别属性中的控件元素属性与采集到的所述测试页面的控件元素属性进行匹配;确定子模块,被配置为在所述识别属性中的部分控件元素属性无法在采集到的所述测试页面的控件元素属性中匹配到对应的控件元素属性时,确定所述目标控件元素的识别属性发生变化。可选的,所述检查模块还包括:发送子模块,被配置为在所述识别属性中的控件元素属性均无法在采集到的所述测试页面的控件元素属性中匹配到对应的控件元素属性时,向测试人员发送提示消息,以提示所述测试人员为所述目标控件元素重新设置识别属性。可选的,所述更新模块包括:获取子模块,被配置为基于所述识别属性中各控件元素属性之间的相关性,获取所述测试页面的控件元素属性中与所述部分控件元素属性匹配的控件元素属性;更新子模块,被配置为根据获取到的所述测试页面的控件元素属性中与所述部分控件元素属性匹配的控件元素属性对所述部分控件元素进行更新。可选的,所述预设识别策略包括以下识别子策略中的一种或者多种的组合:基于所述识别属性中任一指定的控件元素属性识别所述目标控件元素;基于所述识别属性中指定的多个控件元素逐个识别所述目标控件元素;基于所述识别属性中指定的多个控件元素的组合识别所述目标控件元素;基于所述识别属性中指定的多个控件元素所创建的正则表达式识别所述目标控件元素。可选的,所述识别模块包括:第一识别子模块,被配置为在所述识别策略仅包括一个识别子策略时,基于该识别子策略在所述测试页面中识别所述目标控件元素;第二识别子模块,被配置为在所述识别策略包括多个识别子策略时,如果基于任一识别子策略在所述测试页面中仍无法识别所述目标控件元素,则基于所述多个识别子策略中的其它识别子策略在所述测试页面中继续识别所述目标控件元素。可选的,所述装置还包括:发送模块,被配置为在基于预设识别策略使用更新后的所述识别属性在所述测试页面中仍无法识别所述目标控件元素时,向测试人员发送提示消息,以提示所述测试人员为所述目标控件元素重新设置识别属性。根据本公开实施例的第三方面,提供一种控件元素的识别装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:读取目标控件元素的识别属性;所述识别属性包括多个用于在测试页面中识别所述目标控件元素的控件元素属性;检查所述目标控件元素的识别属性是否发生变化;当所述目标控件元素的识别属性发生变化时,对所述识别属性中发生变化的控件元素属性进行更新;基于预设识别策略使用更新后的所述识别属性在所述测试页面中识别所述目标控件元素。本公开的实施例提供的技术方案可以包括以下有益效果:本公开的以上实施例中,通过读取目标控件元素的识别属性;所述识别属性包括多个用于在测试页面中识别所述目标控件元素的控件元素属性;并检查所述目标控件元素的识别属性是否发生变化;当所述目标控件元素的识别属性发生变化时,对所述识别属性中发生变化的控件元素属性进行更新,然后基于预设识别策略使用更新后的所述识别属性在所述测试页面中识别所述目标控件元素,可以实现当测试页面中的控件元素属性发生变化时,自动的对发生变化的控件元素属性自动进行更新,从而在对测试页面进行测试时,即使测试页面中的控件元素属性发生变化,仍然能够对测试页面中的控件元素进行正常识另IJ,可以提高测试的成功率,降低测试成本。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。【附图说明】此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施本文档来自技高网...
【技术保护点】
一种控件元素的识别方法,其特征在于,所述方法包括:读取目标控件元素的识别属性;所述识别属性包括多个用于在测试页面中识别所述目标控件元素的控件元素属性;检查所述目标控件元素的识别属性是否发生变化;当所述目标控件元素的识别属性发生变化时,对所述识别属性中发生变化的控件元素属性进行更新;基于预设识别策略使用更新后的所述识别属性在所述测试页面中识别所述目标控件元素。
【技术特征摘要】
【专利技术属性】
技术研发人员:李志超,聂杰峰,赵彪,
申请(专利权)人:小米科技有限责任公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。