本发明涉及计算机,特别涉及一种自动化测试的异常自动修复方法、装置、设备及介质。
背景技术:
1、传统的web(网页)自动化测试工具都是基于selenium工具进行扩展开发的,但应用程序会经常更改,可能是有意的开发人员变更或者是即时(动态刷新)发生的。这些变化破坏了测试工程师基于静态定义的对象元素的定位器,导致自动化测试脚本会发生nosuchelement异常(对象元素定位异常),selenium工具无法处理这种异常,自动化测试脚本只能停止,由测试工程师进行手动调试模式,找到具体的对象元素无法发现原因,依据最新的定位器重新执行测试脚本,如果出现多次nosuchelement异常,就要循环多次这个调试-更新过程,如此一来,极大降低了测试效率,以及测试过程的流程性。
2、为此,如何保证测试执行过程的流程性以及提高测试效率是本领域亟待解决的问题。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种自动化测试的异常自动修复方法、装置、设备及介质,能够保证测试执行过程的流程性以及提高测试效率,其具体方案如下:
2、第一方面,本申请公开了一种自动化测试的异常自动修复方法,包括:
3、在执行自动化测试脚本的过程中,通过对象元素对应的当前定位器对所述对象元素进行定位,当出现所述对象元素的定位异常,则扫描当前页面的源码结构;
4、通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配新的定位器,以得到目标定位器;
5、利用所述目标定位器定位所述对象元素,以实现自动化测试中的异常自动修复。
6、可选的,所述在执行自动化测试脚本的过程中,通过对象元素对应的当前定位器对所述对象元素进行定位之前,还包括:
7、基于预设的脚本触发工具,自动触发自动化测试脚本的执行。
8、可选的,所述通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配新的定位器,以得到目标定位器,包括:
9、通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配多个新的定位器;每一所述新的定位器具备不同的权重;
10、从多个所述新的定位器中确定出权重最大的定位器,并将权重最大的定位器确定为目标定位器。
11、可选的,所述通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配多个新的定位器,包括:
12、通过最大公共子序列算法,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配多个新的定位器。
13、可选的,所述利用所述目标定位器定位所述对象元素,以实现自动化测试中的异常修复之后,还包括:
14、生成自动化测试执行报告;其中,所述自动化测试执行报告中包括所述当前定位器、所述目标定位器。
15、可选的,所述生成自动化测试执行报告,包括:
16、收集自动修复数据;
17、对所述自动修复数据进行清洗,生成自动化测试执行报告。
18、可选的,所述利用所述目标定位器定位所述对象元素,以实现自动化测试中的异常修复之后,还包括:
19、在所述自动化测试脚本中,将所述对象元素对应的当前定位器更新为所述目标定位器。
20、第二方面,本申请公开了一种自动化测试的异常自动修复装置,包括:
21、源码结构扫描模块,用于在执行自动化测试脚本的过程中,通过对象元素对应的当前定位器对所述对象元素进行定位,当出现所述对象元素的定位异常,则扫描当前页面的源码结构;
22、目标定位器确定模块,用于通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配新的定位器,以得到目标定位器;
23、对象元素定位模块,用于利用所述目标定位器定位所述对象元素,以实现自动化测试中的异常自动修复。
24、第三方面,本申请公开了一种电子设备,包括:
25、存储器,用于保存计算机程序;
26、处理器,用于执行所述计算机程序,以实现前述公开的自动化测试的异常自动修复方法。
27、第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的自动化测试的异常自动修复方法。
28、可见,本申请提出一种自动化测试的异常自动修复方法,包括:在执行自动化测试脚本的过程中,通过对象元素对应的当前定位器对所述对象元素进行定位,当出现所述对象元素的定位异常,则扫描当前页面的源码结构;通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配新的定位器,以得到目标定位器;利用所述目标定位器定位所述对象元素,以实现自动化测试中的异常自动修复。综上可见,本申请中,对于测试脚本中出现的非预期错误无需人工干预,便可自动修复,并且可以保证自动化测试不停歇,如此一来,保证了自动化执行过程的流程性,极大的提高了测试效率。此外,本申请还提供了一种自动化测试的异常自动修复装置、设备及计算机可读存储介质,其技术效果与上述方法的技术效果相对应。
1.一种自动化测试的异常自动修复方法,其特征在于,包括:
2.根据权利要求1所述的自动化测试的异常自动修复方法,其特征在于,所述在执行自动化测试脚本的过程中,通过对象元素对应的当前定位器对所述对象元素进行定位之前,还包括:
3.根据权利要求1所述的自动化测试的异常自动修复方法,其特征在于,所述通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配新的定位器,以得到目标定位器,包括:
4.根据权利要求3所述的自动化测试的异常自动修复方法,其特征在于,所述通过机器学习技术,并基于所述源码结构以及所述当前定位器为所述对象元素重新匹配多个新的定位器,包括:
5.根据权利要求1所述的自动化测试的异常自动修复方法,其特征在于,所述利用所述目标定位器定位所述对象元素,以实现自动化测试中的异常修复之后,还包括:
6.根据权利要求5所述的自动化测试的异常自动修复方法,其特征在于,所述生成自动化测试执行报告,包括:
7.根据权利要求1至6任一项所述的自动化测试的异常自动修复方法,其特征在于,所述利用所述目标定位器定位所述对象元素,以实现自动化测试中的异常修复之后,还包括:
8.一种自动化测试的异常自动修复装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的自动化测试的异常自动修复方法。