System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种UI组件原子化的自动化测试方法及相关装置制造方法及图纸_技高网

一种UI组件原子化的自动化测试方法及相关装置制造方法及图纸

技术编号:40486953 阅读:7 留言:0更新日期:2024-02-26 19:18
本发明专利技术公开了一种UI组件原子化的自动化测试方法及相关装置,其中,所述方法包括:开发元素组件类和条件组件类,元素组件类中定义了元素组件的定位方法,条件组件类中定义了条件组件的判断方法;获得UI测试需求,并基于元素组件类和条件组件类获得UI测试需求的元素组件的定位信息和条件组件的条件信息;根据UI测试需求利用元素组件的定位信息和条件组件的条件信息构建XPath表达式;基于XPath表达式利用页面对象类进行测试脚本的编辑操作处理,获得UI的测试脚本;基于测试脚本对UI进行自动化测试处理。在本发明专利技术实施例中,通过组件化和封装,实现在UI的元素或页面结构变换时,无需对测试脚本进行大规模修改,降低工作量。

【技术实现步骤摘要】

本专利技术涉及软件,尤其涉及一种ui组件原子化的自动化测试方法及相关装置。


技术介绍

1、写ui自动化测试时,针对元素表达式的封装,在遵循xpath语法规范的情况下,利用xpath语法可实现模糊匹配、轴定位、条件组合等特点的定位表达式,有时候为了写出唯一定位到元素的表达式,可能要写多种条件和层级的结合,这样一来,一个xpath元素表达式可能会有多个层级,而这些元素可以按层级和条件分为不同部分,这些部分在一些众多元素中是重复编写的,所以能否针对不同的整层做一个拆分,将每个层级以组件化的思想来封装,作为元素表达式的最小单元,从而解决元素表达式大部分相同而少部分不同的情况,如此,维护表达式时,是否就能减少工作量,因为组件化拆分最小元素粒子后,只需修改一处,便可以引起所有引用组件的生成表达式的变更。而不需要维护重复的一个个元素。


技术实现思路

1、本专利技术的目的在于克服现有技术的不足,本专利技术提供了一种ui组件原子化的自动化测试方法及相关装置,通过组件化和封装,实现在ui的元素或页面结构变换时,无需对测试脚本进行大规模修改,降低工作量。

2、为了解决上述技术问题,本专利技术实施例提供了一种ui组件原子化的自动化测试方法,所述方法包括:

3、开发元素组件类和条件组件类,所述元素组件类中定义了元素组件的定位方法,所述条件组件类中定义了条件组件的判断方法;

4、获得ui测试需求,并基于所述元素组件类和所述条件组件类获得所述ui测试需求的元素组件的定位信息和条件组件的条件信息;

5、根据所述ui测试需求利用元素组件的定位信息和条件组件的条件信息构建xpath表达式;

6、基于xpath表达式利用页面对象类进行测试脚本的编辑操作处理,获得ui的测试脚本;

7、基于所述测试脚本对所述ui进行自动化测试处理。

8、可选的,所述方法还包括:

9、在ui发生变化时,获得所述ui中的变化元素,并基于变化元素对所述测试脚本中所述xpath表达式对应的元素组件进行更新处理。

10、可选的,所述开发元素组件类和条件组件类,包括:

11、获得ui中的元素组件和条件组件,基于所述元素组件和所述条件组件开发对应的元素组件类和对应的条件组件类。

12、可选的,所述获得ui测试需求,并基于所述元素组件类和所述条件组件类获得所述ui测试需求的元素组件和条件组件,包括:

13、对所述ui进行测试需求的分析处理,获得所述ui测试需求;

14、基于所述元素组件类中的定位方法对所述ui测试需求中的元素组件进行定位处理,获得ui测试需求中的元素组件的定位信息;

15、基于所述条件组件类中的判断方法对所述ui测试需求中的条件组件进行判断处理,获得ui测试需求中的条件组件的条件信息。

16、可选的,所述根据所述ui测试需求利用元素组件的定位信息和条件组件的条件信息构建xpath表达式,包括:

17、获得所述ui测试需求中的元素,并利用组件化的工具对所述元素进行拆分处理,获得元素组件和条件组件;

18、基于所述元素组件的定位信息和所述条件组件的条件信息构建xpath表达式。

19、可选的,所述基于xpath表达式利用页面对象类进行测试脚本的编辑操作处理,包括:

20、获得所述ui的页面对象类,并根据所述xpath表达式使用所述页面对象类进行测试脚本的编辑操作处理。

21、可选的,所述基于所述测试脚本对所述ui进行自动化测试处理,包括:

22、基于自动化技术控制所述测试脚本对所述ui进行自动化测试处理。

23、另外,本专利技术实施例还提供了一种ui组件原子化的自动化测试装置,所述装置包括:

24、开发模块:用于开发元素组件类和条件组件类,所述元素组件类中定义了元素组件的定位方法,所述条件组件类中定义了条件组件的判断方法;

25、获得模块:用于获得ui测试需求,并基于所述元素组件类和所述条件组件类获得所述ui测试需求的元素组件的定位信息和条件组件的条件信息;

26、构建模块:用于根据所述ui测试需求利用元素组件的定位信息和条件组件的条件信息构建xpath表达式;

27、编辑操作模块:用于基于xpath表达式利用页面对象类进行测试脚本的编辑操作处理,获得ui的测试脚本;

28、自动化测试模块:用于基于所述测试脚本对所述ui进行自动化测试处理。

29、另外,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述中任意一项所述的自动化测试方法。

30、另外,本专利技术实施例还提供了一种电子设备,所述电子设备包括:

31、一个或多个处理器;

32、存储器;

33、一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于:执行根据上述中任意一项所述的自动化测试方法。

34、在本专利技术实施例中,通过元素组件化和封装,当元素的属性或页面结构发生变化时,只需在少数位置更新代码,减少了重复性工作;清晰的组件命名和结构使代码易于理解和维护;常用的元素定位和条件判断逻辑被封装为可重用的组件,便于在多个测试脚本中使用;可以轻松应对ui变动和新增的测试需求,提高了测试脚本的适应性。

本文档来自技高网...

【技术保护点】

1.一种UI组件原子化的自动化测试方法,其特征在于,所述方法包括:

2.根据权利要求1所述的自动化测试方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的自动化测试方法,其特征在于,所述开发元素组件类和条件组件类,包括:

4.根据权利要求1所述的自动化测试方法,其特征在于,所述获得UI测试需求,并基于所述元素组件类和所述条件组件类获得所述UI测试需求的元素组件和条件组件,包括:

5.根据权利要求1所述的自动化测试方法,其特征在于,所述根据所述UI测试需求利用元素组件的定位信息和条件组件的条件信息构建XPath表达式,包括:

6.根据权利要求1所述的自动化测试方法,其特征在于,所述基于XPath表达式利用页面对象类进行测试脚本的编辑操作处理,包括:

7.根据权利要求1所述的自动化测试方法,其特征在于,所述基于所述测试脚本对所述UI进行自动化测试处理,包括:

8.一种UI组件原子化的自动化测试装置,其特征在于,所述装置包括:

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任意一项所述的自动化测试方法。

10.一种电子设备,其特征在于,所述电子设备包括:

...

【技术特征摘要】

1.一种ui组件原子化的自动化测试方法,其特征在于,所述方法包括:

2.根据权利要求1所述的自动化测试方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的自动化测试方法,其特征在于,所述开发元素组件类和条件组件类,包括:

4.根据权利要求1所述的自动化测试方法,其特征在于,所述获得ui测试需求,并基于所述元素组件类和所述条件组件类获得所述ui测试需求的元素组件和条件组件,包括:

5.根据权利要求1所述的自动化测试方法,其特征在于,所述根据所述ui测试需求利用元素组件的定位信息和条件组件的条件信息构建xpat...

【专利技术属性】
技术研发人员:曹立品丁一黄海亮白剑张海林鲁和平李长杰陈焕然李乐王浩洪行健冷冬李尚然
申请(专利权)人:易方信息科技股份有限公司
类型:发明
国别省市:

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

1