UI自动化测试方法与流程

文档序号:23314359发布日期:2020-12-15 11:46阅读:517来源:国知局
UI自动化测试方法与流程

本发明涉及ui自动化测试技术领域,具体来说,涉及ui自动化测试方法。



背景技术:

随着计算机技术的快速发展,目前对终端设备的用户界面的测试需求越来越大。现有技术中,是通过测试人员针对每个测试场景编写对应的测试代码,并运行测试代码实现对终端设备的用户界面进行ui自动化测试,并得出对应的测试结果文件。显然,现有技术的用户界面的测试方法,需要人工执行操作,使得测试过程繁琐耗时;并且进行用户界面测试的ui自动化脚本的编写难度大,对测试人员的技能水平要求高,因此进一步加大对自动化测试人员的技术要求;并且,手工测试的方式无法满足大批量测试的需求。

因此,如何提高对用户界面的测试效率,降低对人力资源的成本,降低ui自动化测试学习成本、维护成本、编写成功。并且能够满足大批量测试的需求,是本领域技术人员目前需要解决的技术问题。

针对相关技术中的问题,目前尚未提出有效的解决方案。



技术实现要素:

针对相关技术中的问题,本发明提出ui自动化测试方法,以克服现有相关技术所存在的上述技术问题。

本发明的技术方案是这样实现的:

ui自动化测试方法,包括以下步骤:

步骤s1,通过url分析出所有的html网页组件;

步骤s2,根据关键字自动识别所在的组件,并获取该组件所有的html源码;

步骤s3,根据关键字特征信息获取该组件的父级标签;

步骤s4,根据关键字特征信息获取关键字所在位置的子级标签;

步骤s5,确定父级标签和子级标签;对获取的父级标签和子级标签进行分析,获取父级元素和子级元素;

步骤s6,通过获取的父级元素和子级元素锁定要控制的标签,在关键字锁定的标签自动添加id元素信息,其中id为随机不重复值;

步骤s7,通过selenium的id方法控制自动添加的id元素对gui页面的可交互功能进行ui自动化测试。

进一步的,包括以下步骤:

获取上游测试数据信息,从excel信息、mysql信息、testlink信息和禅道信息;

自动生成自动化测试用例;

标定测试用例管理工具;

标定自动化框架特征信息,其中包括关键字信息、操作步骤信息、预期结果信息和实际结果信息。

进一步的,包括以下步骤:

获取关键字信息;

提取操作步骤信息字符串;

分割列表并循环列表。

进一步的,所述确定父级标签和子级标签,对获取的父级标签和子级标签进行分析,获取父级元素和子级元素,包括以下步骤:

获取到关键字所在的当前标签,确定页面组件类型的html

进行对源码进行分析;

判断是否获取关键字同级的html标签内容或获取关键字上级的html标签内容。

进一步的,所述gui对应组件的html信息,在关键字锁定的标签自动添加id元素信息,包括将获取的标签分解成列表信息,并获取子级标签中的子级元素。

本发明的有益效果:

本发明ui自动化测试方法,通过url分析出所有的html网页组件;根据关键字自动识别所在的组件,并获取该组件所有的html源码;根据关键字特征信息获取该组件的父级标签;根据关键字特征信息获取关键字所在位置的子级标签;确定父级标签和子级标签;获取父级元素和子级元素;通过获取的父级元素和子级元素锁定要控制的标签,在关键字锁定的标签自动添加id元素信息;通过selenium的id方法控制自动添加的id元素对gui页面的可交互功能进行ui自动化测试。本发明实现对组件进行分析以及分类,便于识别组件的父级元素和要控制的子级元素,不仅减少对人力资源的消耗,提高测试效率,而且能够节省测试时间,应用范围广,适应性强。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的ui自动化测试方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

根据本发明的实施例,提供了ui自动化测试方法。

如图1所示,根据本发明实施例的ui自动化测试方法,包括以下步骤:

步骤s1,通过url分析出所有的html网页组件;

步骤s2,根据关键字自动识别所在的组件,并获取该组件所有的html源码;

步骤s3,根据关键字特征信息获取该组件的父级标签;

步骤s4,根据关键字特征信息获取关键字所在位置的子级标签;

步骤s5,确定父级标签和子级标签;对获取的父级标签和子级标签进行分析,获取父级元素和子级元素;

步骤s6,通过获取的父级元素和子级元素锁定要控制的标签,在关键字锁定的标签自动添加id元素信息,其中id为随机不重复值;

步骤s7,通过selenium的id方法控制自动添加的id元素对gui页面的可交互功能进行ui自动化测试。

借助于上述技术方案,通过url分析出所有的html网页组件(一级菜单、对话框、下拉框前端html源码等);根据关键字自动识别所在的组件,并获取该组件所有的html源码,根据关键字特征信息获取该组件的父级标签;根据关键字特征信息获取关键字所在位置的子级标签,确定父级标签和子级标签;对获取的父级标签和子级标签进行分析,获取父级元素和子级元素,通过获取的父级元素和子级元素锁定要控制的标签,在关键字锁定的标签自动添加id元素信息,其中id为随机不重复值;对于没有关键字的输入框通过输入框前面的标题进行关键字锁定。对于页面中的增删改查操作也进行了设计(删除-姓名、修改-姓名、编辑-姓名),通过此方法可以指定某数据进行增删改查操作,通过selenium的id方法控制自动添加的id元素对gui页面的可交互功能进行ui自动化测试,实现对组件进行分析以及分类,便于识别组件的父级元素和要控制的子级元素,不仅减少对人力资源的消耗,提高测试效率,而且能够节省自动化脚本编写时间时间,降低自动化维护成本,降低自动化编写人员的专业技能,应用范围广,适应性强。

其中,包括以下步骤:

获取上游测试数据信息,从excel信息、mysql信息、testlink信息、禅道信息;

自动生成自动化测试用例;

标定测试用例管理工具;

标定自动化框架特征信息,其中包括关键字信息、操作步骤信息、预期结果信息和实际结果信息。

其中,包括以下步骤:

获取关键字信息;

提取操作步骤信息字符串;

分割列表并循环列表。

其中,所述确定父级标签和子级标签,对获取的父级标签和子级标签进行分析,获取父级元素和子级元素,包括以下步骤:

获取到关键字所在的当前标签,确定页面组件类型的html

源码进行分析;

判断是否获取关键字同级的html标签内容或获取关键字上级的html标签内容。

其中,所述gui对应组件的html信息,在关键字锁定的标签自动添加id元素信息,包括将获取的标签分解成列表信息,并获取子级标签中的子级元素。

另外,具体的,其预先标定提取相应的关键词,如元素a,所输出的目标关键词则为元素b的字符串,通过正则表达式的方式,以“_”进行分割成列表,生成自动化测试步骤,ui自动化框架代码循环列表实现自动化测试运行,检索操作步骤中有“:”是为输入框,通过正则表达式的方式,以“:”进行分割,“:”前面的为gu的元素a(操作步骤),通过关键字识别页面元素,“:”后面的为gui“输入框”要输入的内容,结合后即可实现对页面输入框自动输入内容的效果。

另外,则对ui页面模块进行组件类型识别,其中,通过url分析出所有的html网页组件;根据关键字自动识别所在的组件,并获取该组件所有的html源码;根据关键字特征信息获取该组件的父级标签;根据关键字特征信息获取关键字所在位置的子级标签;确定父级标签和子级标签;获取父级元素和子级元素;通过获取的父级元素和子级元素锁定要控制的标签,在关键字锁定的标签自动添加id元素信息,通过selenium的id的方法进行页面的功能按钮和输入框的控制,若关键字锁定标签无法通过页面的规律编写正则表达式获取,还可以人工告诉的方式,例如,关键字同级是span,上级是button,上上级是div,填写span后,代码就会在该关键字所在区域的span添加一个id元素,如果添加button,则在button的标签中添加一个id元素。

具体的,其自动化框架代码通过,通过正则表达式的方式,以“_”进行分割【操作步骤】字符串,从而获取操作步骤列表,自动化框架代码循环列表实现自动化测试运行,【输入账号:admin】,检索操作步骤中有“:”视为输入框,通过正则表达式的方式,以【:】进行分割,【:】前面的为gui的【关键字】,识别页面元素,【:】后面的为gui【输入框】要输入的内容。

此外,通过url分析出所有的html网页组件;根据关键字自动识别所在的组件,获取到gui对于组件的html内容,将关键字传到已经写好的算法中,获取关键字当前所在位置的标签,根据对页面组件的特性进行分析。判断是要获取关键字同级的html标签内容还是关键字上级的html标签内容。

另外,修改通过上面的算法获取的关键字所在的html标签,添加【id】元素,表示为:

1、通过关键字分析出的html标签,将获取的标签分解一个列表。例如:<buttonclass="el-form-item_content"type="button">分解成如下:

[button,class="el-form-item_content",type="button"]

2、通过该组件对应的父级元素和关键字获取的子级元素即分解后的列表数据

3、通过关键字获取的父级元素和子级元素传入自动化框架中将关键字所在的标签添加id元素,例如:<buttonclass="el-form-item_content"type="button"id="代码自动生成的随机字符串">。此方法完成了对gul组件内对于关键字的html标签编辑id元素的操作。

此外,对gui页面的功能按钮和输入框进行自动控制,完成上面的所有操作,就可以通过关键字识别元素,在关键字锁定的标签自动新增一个id元素,其通过将gui对于组件的父级元素和通过关键字新增的【id】元素,对页面的功能按钮、输入框、勾选框、刷新图标、【x】关闭图标等,进行控制,实现ul自动化测试。

综上所述,借助于本发明的上述技术方案,通过ui自动化测试方法,通过url分析出所有的html网页组件;根据关键字自动识别所在的组件,并获取该组件所有的html源码;根据关键字特征信息获取该组件的父级标签;根据关键字特征信息获取关键字所在位置的子级标签;确定父级标签和子级标签;获取父级元素和子级元素;通过获取的父级元素和子级元素锁定要控制的标签,在关键字锁定的标签自动添加id元素信息;通过selenium的id方法控制自动添加的id元素对gui页面的可交互功能进行ui自动化测试。本发明实现对组件进行分析以及分类,便于识别组件的父级元素和要控制的子级元素,不仅减少对人力资源的消耗,提高测试效率,而且能够节省测试时间,应用范围广,适应性强。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1