一种自动化测试的异常自动修复方法、装置、设备及介质制造方法及图纸

技术编号:37766018 阅读:11 留言:0更新日期:2023-06-06 13:26
本申请公开了一种自动化测试的异常自动修复方法、装置、设备及介质,涉及计算机技术领域,包括:在执行自动化测试脚本的过程中,通过对象元素对应的当前定位器对所述对象元素进行定位,当出现所述对象元素的定位异常,则扫描当前页面的源码结构;通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配新的定位器,以得到目标定位器;利用所述目标定位器定位所述对象元素,以实现自动化测试中的异常自动修复。综上可见,本申请中,对于测试脚本中出现的非预期错误无需人工干预,便可自动修复,并且可以保证自动化测试不停歇,如此一来,保证了自动化执行过程的流程性,极大的提高了测试效率。极大的提高了测试效率。极大的提高了测试效率。

【技术实现步骤摘要】
一种自动化测试的异常自动修复方法、装置、设备及介质


[0001]本专利技术涉及计算机
,特别涉及一种自动化测试的异常自动修复方法、装置、设备及介质。

技术介绍

[0002]传统的web(网页)自动化测试工具都是基于selenium工具进行扩展开发的,但应用程序会经常更改,可能是有意的开发人员变更或者是即时(动态刷新)发生的。这些变化破坏了测试工程师基于静态定义的对象元素的定位器,导致自动化测试脚本会发生NoSuchElement异常(对象元素定位异常),selenium工具无法处理这种异常,自动化测试脚本只能停止,由测试工程师进行手动调试模式,找到具体的对象元素无法发现原因,依据最新的定位器重新执行测试脚本,如果出现多次NoSuchElement异常,就要循环多次这个调试

更新过程,如此一来,极大降低了测试效率,以及测试过程的流程性。
[0003]为此,如何保证测试执行过程的流程性以及提高测试效率是本领域亟待解决的问题。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种自动化测试的异常自动修复方法、装置、设备及介质,能够保证测试执行过程的流程性以及提高测试效率,其具体方案如下:
[0005]第一方面,本申请公开了一种自动化测试的异常自动修复方法,包括:
[0006]在执行自动化测试脚本的过程中,通过对象元素对应的当前定位器对所述对象元素进行定位,当出现所述对象元素的定位异常,则扫描当前页面的源码结构;
[0007]通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配新的定位器,以得到目标定位器;
[0008]利用所述目标定位器定位所述对象元素,以实现自动化测试中的异常自动修复。
[0009]可选的,所述在执行自动化测试脚本的过程中,通过对象元素对应的当前定位器对所述对象元素进行定位之前,还包括:
[0010]基于预设的脚本触发工具,自动触发自动化测试脚本的执行。
[0011]可选的,所述通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配新的定位器,以得到目标定位器,包括:
[0012]通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配多个新的定位器;每一所述新的定位器具备不同的权重;
[0013]从多个所述新的定位器中确定出权重最大的定位器,并将权重最大的定位器确定为目标定位器。
[0014]可选的,所述通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配多个新的定位器,包括:
[0015]通过最大公共子序列算法,并基于所述源码结构以及所述当前定位器为所述对象
元素重新匹配多个新的定位器。
[0016]可选的,所述利用所述目标定位器定位所述对象元素,以实现自动化测试中的异常修复之后,还包括:
[0017]生成自动化测试执行报告;其中,所述自动化测试执行报告中包括所述当前定位器、所述目标定位器。
[0018]可选的,所述生成自动化测试执行报告,包括:
[0019]收集自动修复数据;
[0020]对所述自动修复数据进行清洗,生成自动化测试执行报告。
[0021]可选的,所述利用所述目标定位器定位所述对象元素,以实现自动化测试中的异常修复之后,还包括:
[0022]在所述自动化测试脚本中,将所述对象元素对应的当前定位器更新为所述目标定位器。
[0023]第二方面,本申请公开了一种自动化测试的异常自动修复装置,包括:
[0024]源码结构扫描模块,用于在执行自动化测试脚本的过程中,通过对象元素对应的当前定位器对所述对象元素进行定位,当出现所述对象元素的定位异常,则扫描当前页面的源码结构;
[0025]目标定位器确定模块,用于通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配新的定位器,以得到目标定位器;
[0026]对象元素定位模块,用于利用所述目标定位器定位所述对象元素,以实现自动化测试中的异常自动修复。
[0027]第三方面,本申请公开了一种电子设备,包括:
[0028]存储器,用于保存计算机程序;
[0029]处理器,用于执行所述计算机程序,以实现前述公开的自动化测试的异常自动修复方法。
[0030]第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的自动化测试的异常自动修复方法。
[0031]可见,本申请提出一种自动化测试的异常自动修复方法,包括:在执行自动化测试脚本的过程中,通过对象元素对应的当前定位器对所述对象元素进行定位,当出现所述对象元素的定位异常,则扫描当前页面的源码结构;通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配新的定位器,以得到目标定位器;利用所述目标定位器定位所述对象元素,以实现自动化测试中的异常自动修复。综上可见,本申请中,对于测试脚本中出现的非预期错误无需人工干预,便可自动修复,并且可以保证自动化测试不停歇,如此一来,保证了自动化执行过程的流程性,极大的提高了测试效率。此外,本申请还提供了一种自动化测试的异常自动修复装置、设备及计算机可读存储介质,其技术效果与上述方法的技术效果相对应。
附图说明
[0032]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0033]图1为本申请公开的一种自动化测试的异常自动修复方法流程图;
[0034]图2为本申请公开的一种具体的自动化测试的异常自动修复方法流程图;
[0035]图3为本申请公开的一种自动化测试的异常自动修复装置结构示意图;
[0036]图4为本申请公开的一种电子设备结构图。
具体实施方式
[0037]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0038]传统的网页自动化测试工具都是基于selenium工具进行扩展开发的,但应用程序会经常更改,可能是有意的开发人员变更或者是即时(动态刷新)发生的。这些变化破坏了测试工程师基于静态定义的对象元素的定位器,导致自动化测试脚本会发生对象元素定位异常,selenium工具无法处理这种异常,自动化测试脚本只能停止,由测试工程师进行手动调试模式,找到具体的对象元素无法发现原因,依据最新的定位器重新执行测试脚本,如果出现多次对象元素定位异常,就要循本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动化测试的异常自动修复方法,其特征在于,包括:在执行自动化测试脚本的过程中,通过对象元素对应的当前定位器对所述对象元素进行定位,当出现所述对象元素的定位异常,则扫描当前页面的源码结构;通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配新的定位器,以得到目标定位器;利用所述目标定位器定位所述对象元素,以实现自动化测试中的异常自动修复。2.根据权利要求1所述的自动化测试的异常自动修复方法,其特征在于,所述在执行自动化测试脚本的过程中,通过对象元素对应的当前定位器对所述对象元素进行定位之前,还包括:基于预设的脚本触发工具,自动触发自动化测试脚本的执行。3.根据权利要求1所述的自动化测试的异常自动修复方法,其特征在于,所述通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配新的定位器,以得到目标定位器,包括:通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配多个新的定位器;每一所述新的定位器具备不同的权重;从多个所述新的定位器中确定出权重最大的定位器,并将权重最大的定位器确定为目标定位器。4.根据权利要求3所述的自动化测试的异常自动修复方法,其特征在于,所述通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配多个新的定位器,包括:通过最大公共子序列算法,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配多个新的定位器。5.根据权利要求1所述的自动化测试的异常自动修复方法,其特征在于,所述利用所述目标定位器定...

【专利技术属性】
技术研发人员:王志广
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1