脚本更新方法及装置制造方法及图纸

技术编号:28135625 阅读:10 留言:0更新日期:2021-04-21 19:03
本申请公开了一种脚本更新方法及装置,属于计算机技术领域。方法包括:对第二软件执行第一脚本;在第一代码片段执行失败时,获取第一界面控件的上下文信息,以及第二软件中多个候选界面控件的上下文信息;其中,任一界面控件的上下文信息用于指示:操作任一界面控件前后任一界面控件所在软件的界面的变化情况;确定第一界面控件的上下文信息与每个候选界面控件的上下文信息的相似度;基于确定出的相似度确定多个候选界面控件中的第二界面控件;将第一脚本中第一代码片段中的第一界面控件的标识替换为第二界面控件的标识,得到第二脚本。本申请解决了无法基于更新前的软件的脚本对更新后的软件进行测试的问题,本申请用于脚本的更新。本的更新。本的更新。

【技术实现步骤摘要】
脚本更新方法及装置


[0001]本申请涉及计算机
,特别涉及一种脚本更新方法及装置。

技术介绍

[0002]随着计算机技术的发展,基于图形用户界面(graphical user interface,GUI)的软件越来越多,这种软件包括界面控件。目前,对这种软件进行自动化测试得到越来越广泛的应用。
[0003]在对这种软件进行自动化测试时,通常需要对软件执行适用于操作该软件的脚本,进而根据该脚本的执行结果判定该软件是否存在故障。
[0004]但是,软件会有版本的更新,适用于更新前的软件的脚本无法适用于更新后的软件,导致无法基于更新前的软件的脚本对更新后的软件进行测试。

技术实现思路

[0005]本申请提供了一种脚本更新方法及装置,可以解决无法基于更新前的软件的脚本对更新后的软件进行测试的问题,所述技术方案如下:
[0006]一方面,提供了一种脚本更新方法,应用于将适用于操作第一软件的第一脚本更新为适用于操作第二软件的第二脚本,其中,所述第二软件基于所述第一软件得到,所述第一软件和所述第二软件均包括界面控件,所述第一脚本包括用于对所述第一软件中第一界面控件进行操作的第一代码片段,且所述第一代码片段包括第一界面控件的标识,其特征在于,所述方法包括:对所述第二软件执行所述第一脚本;在所述第一代码片段执行失败时,获取所述第一界面控件的上下文信息,以及所述第二软件中多个候选界面控件的上下文信息;其中,所述第一界面控件与所述多个候选界面控件中,任一界面控件的上下文信息用于指示:操作所述任一界面控件前后所述任一界面控件所在软件的界面的变化情况;确定所述第一界面控件的上下文信息与所述多个候选界面控件中每个候选界面控件的上下文信息的相似度;基于确定出的相似度确定所述多个候选界面控件中的第二界面控件;将所述第一脚本中所述第一代码片段中的所述第一界面控件的标识替换为所述第二界面控件的标识,得到所述第二脚本。
[0007]由于脚本更新装置能够通过比对第一软件中第一界面控件和第二软件中候选界面控件的上下文信息的相似度,以确定多个候选界面控件中用于替换第一界面控件的第二界面控件,进而根据该第一界面控件和第二界面控件更新第一软件的第一脚本,得到第二脚本。由于第二脚本中的代码片段用于操作的界面控件为第二软件中的界面控件,因此,第二脚本能够实现对第二软件进行操作。
[0008]并且,本申请实施例提供的脚本更新方法能够自动化地对第一脚本进行更新,无需工作人员过多的操作,因此,脚本更新过程中的人力成本较低,且难度也较低。
[0009]另外,本申请实施例中基于界面控件的上下文信息的相似度查找用于替换第一界面控件的第二界面控件。即使第二界面控件中与上下文信息不同的辅助信息发生了改变,
但通过上下文信息也能够准确的查找到该第二界面控件,因此,本申请实施例中查找第二界面控件的准确度较高,脚本更新的效率也较高。
[0010]可选地,所述任一界面控件的上下文信息包括:操作所述任一界面控件所触发的界面的信息。该界面的信息可以为界面的特征。
[0011]可选地,当所述第一脚本还包括用于在所述第一代码片段之前执行的参考代码片段时,所述任一界面控件的上下文信息包括:所述任一界面控件与所述第一软件中参考界面控件的位置关系,所述参考代码片段用于对所述参考界面控件进行操作。该参考代码片段可以为第一代码片段的前一个代码片段,或者前几个代码片段,本申请实施例对此不作限定。
[0012]可选地,所述任一界面控件与所述参考界面控件的位置关系包括:所述任一界面控件与所述参考界面控件的距离,和/或,所述任一界面控件与所述参考界面控件的相对方位。示例地,任一界面控件与该参考界面控件的距离可以为:该任一界面控件与参考界面控件的欧式距离,或者,该欧式距离与终端的显示区域的对角线的长度之比,或者,该欧式距离与该显示区域某条边的长度之比);任一界面控件与其参考界面控件的相对方位可以为:参考界面控件的中心点到该任一界面控件的中心点连成的线与该显示区域的某条边的角度。
[0013]可选地,确定所述第一界面控件的上下文信息与所述多个候选界面控件中每个候选界面控件的上下文信息的相似度,包括:确定所述第一界面控件的上下文信息和所述每个候选界面控件的上下文信息中,所述界面的信息的相似度、所述距离的相似度以及所述相对方位的相似度中的至少一种相似度;基于所述至少一种相似度,确定所述第一界面控件的上下文信息和所述每个候选界面控件的上下文信息的相似度。上述距离的相似度可以采用距离相似度公式计算得到,该距离相似度公式包括:s2=1/(1+|d1-d2|),s2表示第一界面控件的上述距离d1与一个候选界面控件的上述距离d2的相似度,|d1-d2|表示d1-d2的绝对值;上述相对方位的相似度可以采用相对方位相似度公式计算得到,该相对方位相似度公式包括:s3=cos|a1-a2|,s3表示上述相对方位的相似度,a1表示第一界面控件的参考界面控件的中心点到该第一界面控件的中心点连成的线与该显示区域的某条边的角度,a2表示参考界面控件的中心点到该候选界面控件的中心点连成的线与该显示区域的某条边的角度,|a1-a2|表示a1-a2的绝对值,cos|a1-a2|表示|a1-a2|的余弦。
[0014]可选地,基于确定出的相似度确定所述多个候选界面控件中的第二界面控件,包括:将所述第一界面控件的上下文信息与所述每个候选界面控件的上下文信息的相似度,确定为所述每个候选界面控件对应的第一相似度;在所述多个候选界面控件中存在对应的第一相似度大于第一相似度阈值的至少一个候选界面控件时,确定所述至少一个候选界面控件中对应最大第一相似度的界面控件为所述第二界面控件。可以看出,脚本更新装置是在多个候选界面控件中,依据候选界面控件对应的第一相似度和第一相似度阈值,挑选上下文信息与第一界面控件的上下文信息的相似度较高的第二界面控件。该第二界面控件很有可能与第一界面控件为用于实现同一功能的界面控件,该第二界面控件可以为用于替换第一界面控件的界面控件。
[0015]可选地,所述方法还包括:在获取所述多个候选界面控件的上下文信息之前,在目标界面的多个初始界面控件中筛选所述多个候选界面控件,其中,所述目标界面为:对所述
第二软件执行所述第一脚本中的所述第一代码片段时的界面。示例地,该多个初始界面控件可以为目标界面中的全部界面控件,当然,该多个初始界面控件也可以为目标界面中的部分界面控件,本申请实施例对此不作限定。由于用于替换第一界面控件的界面控件最有可能在对所述第二软件执行所述第一脚本中的所述第一代码片段时的目标界面中,因此,直接在目标界面中的多个初始界面控件中筛选多个候选界面控件能够加快候选界面控件的筛选效率。
[0016]可选地,所述在目标界面的多个初始界面控件中筛选所述多个候选界面控件,包括:获取所述第一界面控件的辅助信息,以及所述多个初始界面控件中每个初始界面控件的辅助信息,任一界面控件的辅助信息包括:所述任一界面控件的图像信息和/或文本信息;基于所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种脚本更新方法,应用于将适用于操作第一软件的第一脚本更新为适用于操作第二软件的第二脚本,其中,所述第二软件基于所述第一软件得到,所述第一软件和所述第二软件均包括界面控件,所述第一脚本包括用于对所述第一软件中第一界面控件进行操作的第一代码片段,且所述第一代码片段包括第一界面控件的标识,其特征在于,所述方法包括:对所述第二软件执行所述第一脚本;在所述第一代码片段执行失败时,获取所述第一界面控件的上下文信息,以及所述第二软件中多个候选界面控件的上下文信息;其中,所述第一界面控件与所述多个候选界面控件中,任一界面控件的上下文信息用于指示:操作所述任一界面控件前后所述任一界面控件所在软件的界面的变化情况;确定所述第一界面控件的上下文信息与所述多个候选界面控件中每个候选界面控件的上下文信息的相似度;基于确定出的相似度确定所述多个候选界面控件中的第二界面控件;将所述第一脚本中所述第一代码片段中的所述第一界面控件的标识替换为所述第二界面控件的标识,得到所述第二脚本。2.根据权利要求1所述的方法,其特征在于,所述任一界面控件的上下文信息包括:操作所述任一界面控件所触发的界面的信息。3.根据权利要求1或2所述的方法,其特征在于,当所述第一脚本还包括用于在所述第一代码片段之前执行的参考代码片段时,所述任一界面控件的上下文信息包括:所述任一界面控件与所述第一软件中参考界面控件的位置关系,所述参考代码片段用于对所述参考界面控件进行操作。4.根据权利要求3所述的方法,其特征在于,所述任一界面控件与所述参考界面控件的位置关系包括:所述任一界面控件与所述参考界面控件的距离,和/或,所述任一界面控件与所述参考界面控件的相对方位。5.根据权利要求4所述的方法,其特征在于,确定所述第一界面控件的上下文信息与所述多个候选界面控件中每个候选界面控件的上下文信息的相似度,包括:确定所述第一界面控件的上下文信息和所述每个候选界面控件的上下文信息中,所述界面的信息的相似度、所述距离的相似度以及所述相对方位的相似度中的至少一种相似度;基于所述至少一种相似度,确定所述第一界面控件的上下文信息和所述每个候选界面控件的上下文信息的相似度。6.根据权利要求1至5任一所述的方法,其特征在于,基于确定出的相似度确定所述多个候选界面控件中的第二界面控件,包括:将所述第一界面控件的上下文信息与所述每个候选界面控件的上下文信息的相似度,确定为所述每个候选界面控件对应的第一相似度;在所述多个候选界面控件中存在对应的第一相似度大于第一相似度阈值的至少一个候选界面控件时,确定所述至少一个候选界面控件中对应最大第一相似度的界面控件为所述第二界面控件。7.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:
在获取所述多个候选界面控件的上下文信息之前,在目标界面的多个初始界面控件中筛选所述多个候选界面控件,其中,所述目标界面为:对所述第二软件执行所述第一脚本...

【专利技术属性】
技术研发人员:谭银燕许正创
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1