一种UI自动化测试的控件对象识别方法技术

技术编号:27290627 阅读:25 留言:0更新日期:2021-02-06 11:59
本发明专利技术涉及UI自动化测试场景技术领域,具体涉及一种UI自动化测试的控件对象识别方法,采用如下步骤:S10:选取控件对象作为测试对象;S20:依据控件对象的标签名称生成测试用例;S30:自动化测试系统依据自动识别算法根据标签名称自动定位测试对象;S40:自动化测试系统执行测试用例,并返回执行结果;它采用所见即所得的控件对象定义方式,具有降低自动化测试的实施门槛,测试人员无需了解控件对象复杂的属性,可指导相关系统在类似场景下实现一种低门槛、低成本、高效率的自动化测试方案。高效率的自动化测试方案。高效率的自动化测试方案。

【技术实现步骤摘要】
一种UI自动化测试的控件对象识别方法


[0001]本专利技术涉及UI自动化测试
,具体涉及一种UI自动化测试的控件对象识别方法。

技术介绍

[0002]当前UI自动化测试技术需要定义控件对象并实现对其关键字,控件对象和关键字作为编写用例的资源。用例编写过程包括两个步骤:第一、判断元素归属的控件对象,查找并识别控件的Xpath;第二、选择控件对象和关键字组成用例。用例执行过程就是调用控件对象实例和关键字的过程。
[0003]由于页面控件复杂且繁多,控件对象库的维护工作量不亚于关键字脚本的维护工作量。如何快速定义和定位控件元素,是当前UI自动化测试面临的主要问题。

技术实现思路

[0004]本专利技术的目的在于针对现有技术的缺陷和不足,提供一种UI自动化测试的控件对象识别方法。
[0005]本专利技术所述的一种UI自动化测试的控件对象识别方法,采用如下步骤:
[0006]S10:选取控件对象作为测试对象,控件对象采用标签名方式来定义并定位此控件;
[0007]S20:依据控件对象的标签名称生成测试用例;
[0008]S30:自动化测试系统依据自动识别算法根据标签名称自动定位测试对象;
[0009]S40:自动化测试系统执行测试用例,并返回执行结果。
[0010]进一步地,S20中的生成测试用例,采用如下步骤:
[0011]S20-1:采用键值对的方式,将需要操作的控件对象标签名称做为key,录入数据做为value设计在测试用例中;/>[0012]S20-2:自动化测试程序执行时,将调用自动识别算法根据控件标签名称查找控件,并完成对此控件的操作动作或数据输入。
[0013]进一步地,S30中的查找对象自动识别算法,采用如下步骤:
[0014]S30-1:假设当前需要操作的控件对象为目标控件;
[0015]S30-2:在当前页面中获取与目标控件类型相同的全部控件对象,再逐一定位每一个同类型的控件对象;
[0016]S30-3:若控件存在父或祖辈节点,则认为是有效控件;
[0017]S30-4:再继续查找父辈节点的所有子节点;
[0018]S30-5:计算当前控件在所有子节点中的位置;
[0019]S30-6:然后根据页面布局的风格,判断标签位置在控件位置的前面还是后面,即可向上或向下遍历子节点,以获取标签名称;
[0020]S30-7:再判断当前控件的标签名称与目标控件的标签名称是否一致,若一致则当
前控件为目标控件,若不一致则继续定位下一个控件,直至找到目标控件为止;
[0021]S30-8:若控件不存在父或祖辈节点,则认为是无效控件,忽略此控件,继续遍历下一个控件;
[0022]S30-9:定位到目标控件后,再根据其控件类型,进行相应的操作。
[0023]本专利技术有益效果为:本专利技术所述的一种UI自动化测试的控件对象识别方法,它采用所见即所得的控件对象定义方式,具有降低自动化测试的实施门槛,测试人员无需了解控件对象复杂的属性,可指导相关系统在类似场景下实现一种低门槛、低成本、高效率的自动化测试方案。
附图说明
[0024]此处所说明的附图是用来提供对本专利技术的进一步理解,构成本申请的一部分,但并不构成对本专利技术的不当限定,在附图中:
[0025]图1是本专利技术的测试流程图;
[0026]图2是本专利技术中的UI自动化用例示意图;
[0027]图3是本专利技术中的查找对象自动识别算法拓扑图。
具体实施方式
[0028]下面将结合附图以及具体实施例来详细说明本专利技术,其中的示意性实施例以及说明仅用来解释本专利技术,但并不作为对本专利技术的限定。
[0029]如图1所示,本具体实施方式所述的一种UI自动化测试的控件对象识别方法,采用如下步骤:
[0030]S10:选取控件对象作为测试对象,控件对象采用标签名方式来定义并定位此控件;
[0031]S20:依据控件对象的标签名称生成测试用例;
[0032]S30:自动化测试系统依据自动识别算法根据标签名称自动定位测试对象;
[0033]S40:自动化测试系统执行测试用例,并返回执行结果。
[0034]进一步地,如图2所示,S20中的生成测试用例,采用如下步骤:
[0035]S20-1:采用键值对的方式,将需要操作的控件对象标签名称做为key,录入数据做为value设计在测试用例中;
[0036]S20-2:自动化测试程序执行时,将调用自动识别算法根据控件标签名称查找控件,并完成对此控件的操作动作或数据输入。
[0037]进一步地,如图3所示,S30中的查找对象自动识别算法,采用如下步骤:
[0038]S30-1:假设当前需要操作的控件对象为目标控件;
[0039]S30-2:在当前页面中获取与目标控件类型相同的全部控件对象,再逐一定位每一个同类型的控件对象;
[0040]S30-3:若控件存在父或祖辈节点,则认为是有效控件;
[0041]S30-4:再继续查找父辈节点的所有子节点;
[0042]S30-5:计算当前控件在所有子节点中的位置;
[0043]S30-6:然后根据页面布局的风格(如标签和控件的位置通常为上下结构或左右结
构),判断标签位置在控件位置的前面还是后面,即可向上或向下遍历子节点,以获取标签名称;
[0044]S30-7:再判断当前控件的标签名称与目标控件的标签名称是否一致,若一致则当前控件为目标控件,若不一致则继续定位下一个控件,直至找到目标控件为止;
[0045]S30-8:若控件不存在父或祖辈节点,则认为是无效控件,忽略此控件,继续遍历下一个控件;
[0046]S30-9:定位到目标控件后,再根据其控件类型,进行相应的操作,如录入数据,勾选等。
[0047]本专利技术的工作原理如下:
[0048]本专利技术要解决的问题是:一是,解决了定义控件对象门槛高的问题,采用控件标签名来表示和定位控件,对于测试人员直观易用。二是,解决了前端变更引起的对象库维护成本高的问题,采用自动识别算法代替控件对象库的定义。
[0049]本专利技术与传统的技术相比:当前的UI自动化测试中,控件对象一般是采用Xpath的方式来定义并定位此控件。Xpath的编写有一定的技术门槛,编程能力的高低决定着Xpath质量的高低,且随着被测系统的升级,还存在不稳定性,因此在效率上较低和在技术门槛上较高。本专利技术实现有如下收益:
[0050](1)测试工程师不需要额外编写UI自动化代码或脚本,只需要通过控件对象的标签名设计测试用例即可,提高自动化程度及降低自动化技术门槛。
[0051](2)测试工程师不需要多次调试Xpath和维护控件对象库,可直接在用例中用标签名称描述操作对象,提高用例可读性,提升工作效率,降低维护成本。
[0052]本专利技术中,测本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种UI自动化测试的控件对象识别方法,其特征在于:采用如下步骤:S10:选取控件对象作为测试对象,控件对象采用标签名来定义并定位此控件;S20:依据控件对象的标签名称生成测试用例;S30:自动化测试系统依据自动识别算法根据标签名称自动定位测试对象;S40:自动化测试系统执行测试用例,并返回执行结果。2.根据权利要求1所述的一种UI自动化测试的控件对象识别方法,其特征在于:S20中的生成测试用例,采用如下步骤:S20-1:采用键值对的方式,将需要操作的控件对象标签名称做为key,录入数据做为value设计在测试用例中;S20-2:自动化测试程序执行时,将调用自动识别算法根据控件标签名称查找控件,并完成对此控件的操作动作或数据输入。3.根据权利要求1所述的一种UI自动化测试的控件对象识别方法,其特征在于:S30中的查找对象自动识...

【专利技术属性】
技术研发人员:赵静张娜娜林茂军王超张帆
申请(专利权)人:深圳证券通信有限公司
类型:发明
国别省市:

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

1