System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 自动化测试脚本生成方法、装置、计算机设备及存储介质制造方法及图纸_技高网

自动化测试脚本生成方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:41124026 阅读:6 留言:0更新日期:2024-04-30 17:50
本申请涉及自动化测试技术领域,公开了自动化测试脚本生成方法、装置、计算机设备及存储介质,所述方法包括确定待测软件上的所有用户界面控件以及各用户界面控件之间的层级关系;以待测软件的主页面为根节点,基于用户界面控件以及各用户界面控件之间的层级关系,建立待测软件的组件树;基于组件树生成自动化测试脚本,自动化测试脚本用于测试待测软件的用户界面功能。将待测软件中各用户界面控件之间的层级关系、各用户界面控件的节点标识以及属性信息等相关信息封装在组件树中,当用户界面控件发生变化时仅需修改组件树无需大面积修改自动化测试脚本提高了测试脚本的开发效率。

【技术实现步骤摘要】

本申请涉及自动化测试,具体涉及自动化测试脚本生成方法、装置、计算机设备及存储介质


技术介绍

1、目前大多数的软件都会提供ui(user interface,用户界面)功能,这就要求对软件的ui功能进行测试以保证软件可以投入使用。为了提高软件ui功能的测试效率并降低测试成本,目前常基于自动化测试来测试软件的ui功能。

2、目前的自动化测试脚本开发方法通常是基于测试用例中的测试步骤找到相应ui控件以及ui控件的所有上层控件,对ui控件以及所有上层控件一一编码最终得到测试脚本,并基于测试脚本对软件进行测试。但是,随着软件功能的丰富以及需求的变化ui控件会发生频繁变化,目前的方法需要自动化测试工程师不断地对所有涉及变化的控件的测试脚本进行修改、更新和调试大大降低测试脚本的开发效率。

3、因此,如何在ui控件发生变化的情况下提高测试脚本的开发效率已成为目前亟需解决的技术问题。


技术实现思路

1、有鉴于此,本申请提供了一种自动化测试脚本生成方法、装置、计算机设备及存储介质,以解决如何在ui控件发生的属性变化的情况下提高测试脚本的开发效率的问题。

2、第一方面,本申请提供了一种自动化测试脚本生成方法,该方法包括:

3、确定待测软件上的所有用户界面控件以及各用户界面控件之间的层级关系;

4、以待测软件的主页面为根节点,基于用户界面控件以及各用户界面控件之间的层级关系,建立待测软件的组件树,其中,组件树中每个节点对应一个节点标识以及一个用户界面控件的属性信息,各节点之间的层级关系与各用户界面控件之间的层级关系对应;

5、基于组件树生成自动化测试脚本,自动化测试脚本用于测试待测软件的用户界面功能。

6、在上述技术方案中,待测软件的组件树中各节点与待测软件的一个用户界面控件对应,实现了将待测软件中各用户界面控件之间的层级关系、各用户界面控件的节点标识以及属性信息等相关信息封装在组件树中,进而可以基于组件树中封装的信息快速生成自动化测试脚本,当用户界面控件的属性信息发生变化时,仅需修改封装有该信息的组件树即可,对于基于组件树生成的自动化测试脚本的修改可以做到无修改或少量修改,无需像传统的方法那样对所有涉及变化的控件的测试脚本进行修改,大大提高了在ui控件发生变化的情况下测试脚本的开发效率。

7、在一些可选的实施例中,以待测软件的主页面为根节点,基于用户界面控件以及各用户界面控件之间的层级关系,建立待测软件的组件树,包括:

8、以主页面作为当前页面,主页面中的用户界面控件作为当前页面的控件,根节点为当前节点,执行以下步骤:

9、遍历当前页面的各个控件,获取当前页面的各个控件的属性信息;

10、在当前节点下新增分别与当前页面的各个控件对应的子节点,新增的子节点对应有节点标识;

11、将当前页面的各个控件的属性信息与自身对应子节点绑定;

12、根据预设触发操作集合触发当前页面的各控件;

13、若存在能够被触发的控件,则将触发后的页面确定为当前页面的下一级页面,并确定出下一级页面的控件;

14、将当前页面中触发后得到下一级页面的控件所对应的节点作为当前节点,将下一级页面作为当前页面,下一级页面的控件作为当前页面的控件,返回执行遍历当前页面的各个控件,获取当前页面的各个控件的属性信息的步骤;

15、若不存在能够触发的控件,则当前的组件树为待测软件的组件树。

16、在上述技术方案中,从主页面开始,遍历当前页面的各个控件,以在当前节点下新增分别与当前页面的各个控件对应的子节点,并在子节点上绑定各控件的属性信息,进而触发当前页面的各个控件通过动态触发的方式得到各控件触发后的页面,得到当前页面的下一级页面,以在组件树中重现确定当前节点与当前页面,以更新组件树中的节点。实现了在构建组件树的过程中从待测软件的主页面开始动态逐个的触发控件以找到所有控件的上层以及下层控件,保证最终的组件树中节点间层级结构与待测软件中各页面中用户界面控件之间的层级结构高度一致,保证了组件树的可靠性。

17、在一些可选的实施例中,待测软件的组件树中的每个节点还对应一个用户界面控件的激活条件,在将当前页面中触发后得到下一级页面的控件所对应的节点作为当前节点,将下一级页面作为当前页面,下一级页面的控件作为当前页面的控件,返回执行遍历当前页面的各个控件,获取当前页面的各个控件的属性信息的步骤之前,方法还包括:

18、在当前的组件树中,将不能被触发的控件的激活条件确定为无法激活,并将确定的激活条件绑定至不能被触发的控件对应的节点;

19、对于能够被触发的控件,判断触发能够被触发的控件的触发操作的个数是否等于一;

20、若个数等于一,则将触发能够被触发的控件的触发操作作为激活条件绑定至能够被触发的控件对应的节点上;

21、若个数大于一,则比对触发能够被触发的控件后的各个页面中的用户界面控件是否相同;

22、若存在至少两个页面中的用户界面控件相同,则将至少两个页面对应触发操作中最先触发能够被触发的控件的触发操作作为激活条件绑定至能够被触发的控件对应的节点上;

23、若存在至少两个页面中的用户界面控件不同,则复制能够被触发的控件对应的节点,并将至少两个页面对应的触发操作作为激活条件分别绑定至能够被触发的控件对应的各节点上。

24、在上述技术方案中,在当前的组件树中记录能够触发每个节点对应控件的触发操作,且在记录时对于将触发后的页面中用户界面控件相同的控件,将各触发后的页面对应触发操作中最先触发控件的触发操作作为激活条件绑定至该控件对应的节点上,对于触发后的页面中用户界面控件不同的控件,先复制该控件在当前的组件树中对应的节点,再将各触发后的页面对应触发操作分别绑定至该控件对应的各节点上,实现了在组件树中分支记录用户界面控件对于不同触发操作的响应结果。使得组件树中记录有根节点对应主页面至某节点对应用户界面控件之间的具体触发操作流程,使用户在ui控件发生的变化的情况下,可以不用关心从待测软件的主页面到待测用户界面控件之间的具体实现过程来编写自动化测试脚本,降低了首次自动化测试脚本开发的难度,提高了自动化测试脚本的开发效率。

25、在一些可选的实施例中,方法还包括:

26、以待测软件的组件树中根节点下的任一子节点为当前待检节点,执行以下步骤,直至待测软件的组件树中所有节点均遍历完毕或确定自检失败:

27、确定当前待检节点在待测软件中对应的当前待检页面;

28、获取当前待检页面中所有用户界面控件的属性信息;

29、从获取的所有属性信息中查找当前待检节点绑定的属性信息;

30、若查找到当前待检节点绑定的属性信息,则将当前待检节点的下一个节点确定为当前待检节点,并返回执行确定当前待检节点在待测软件中对应的当前待检页面的步骤;

本文档来自技高网...

【技术保护点】

1.一种自动化测试脚本生成方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述以所述待测软件的主页面为根节点,基于所述用户界面控件以及各所述用户界面控件之间的所述层级关系,建立所述待测软件的组件树,包括:

3.根据权利要求2所述的方法,其特征在于,所述待测软件的组件树中的每个节点还对应一个用户界面控件的激活条件,在将所述当前页面中触发后得到所述下一级页面的控件所对应的节点作为所述当前节点,将所述下一级页面作为所述当前页面,所述下一级页面的控件作为所述当前页面的控件,返回执行遍历所述当前页面的各个控件,获取所述当前页面的各个控件的属性信息的步骤之前,所述方法还包括:

4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,在将所述当前待检节点的下一个节点确定为当前待检节点,并返回执行确定所述当前待检节点在所述待测软件中对应的当前待检页面的步骤之前,所述方法包括:

6.根据权利要求1至3任一项所述的方法,其特征在于,在基于所述组件树生成自动化测试脚本之后,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述自动化测试脚本包括待测用户界面控件对应的节点标识以及对所述待测用户界面控件的测试操作,在基于所述组件树生成自动化测试脚本之后,所述方法还包括:

8.一种自动化测试脚本生成装置,其特征在于,所述装置包括:

9.一种计算机设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令由处理器加载并执行以实现如权利要求1至7中任一项所述的自动化测试脚本生成方法。

...

【技术特征摘要】

1.一种自动化测试脚本生成方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述以所述待测软件的主页面为根节点,基于所述用户界面控件以及各所述用户界面控件之间的所述层级关系,建立所述待测软件的组件树,包括:

3.根据权利要求2所述的方法,其特征在于,所述待测软件的组件树中的每个节点还对应一个用户界面控件的激活条件,在将所述当前页面中触发后得到所述下一级页面的控件所对应的节点作为所述当前节点,将所述下一级页面作为所述当前页面,所述下一级页面的控件作为所述当前页面的控件,返回执行遍历所述当前页面的各个控件,获取所述当前页面的各个控件的属性信息的步骤之前,所述方法还包括:

4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,在将所述当前待...

【专利技术属性】
技术研发人员:张阿关沈国明霍岩
申请(专利权)人:镁佳北京科技有限公司
类型:发明
国别省市:

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

1