一种UI自动化测试方法技术

技术编号:36936138 阅读:17 留言:0更新日期:2023-03-22 18:58
本发明专利技术公开了一种UI自动化测试方法,步骤包括:构建测试脚本库;控制待测软件启动运行并选出对应的子测试库;由UI测试控制脚本控制项目测试脚本对待测软件当前运行的UI进行自动化测试;在待测软件的全部UI测试完毕后汇总全部测试结果,生成测试报告文件,并根据预设的通信方式将测试报告文件发送至用户。该UI自动化测试方法用户可以根据软件UI变化情况定制对应的子测试库,从而满足软件UI局部变化时的测试要求,具有较好的测试灵活性,使得自动测试程序本身的维护较为方便;利用软件控制脚本能够对待测软件进行运行控制,从而由各个子测试库进行对应UI的测试,实现软件各个UI的整体自动化测试。体自动化测试。体自动化测试。

【技术实现步骤摘要】
一种UI自动化测试方法


[0001]本专利技术涉及一种软件测试方法,尤其是一种UI自动化测试方法。

技术介绍

[0002]测试是完善的研发体系中不可缺少的一环,由于软件产品的前端逻辑比较复杂,而且需要频繁改动,所以经常会导致一些回归错误(regression bug),尽管现在的测试领域工具层出不穷,在前端的自动化测试上却应用并不广泛,大部分人还是以手工测试为主。自动化测试是应对软件产品不断迭代更新的辅助测试手段(主要是针对回归测试),最终目的是为了保证软件产品的质量。
[0003]通常自动化测试的优点就是可重复、效率高,能够大幅减轻人力成本。随着软件产品需求不断迭代更新,给测试人员也增加了测试工作量,特别是大量繁琐的回归测试,因此对产品进行自动化测试是必不可少的。但是现在的自动化测试还存在一些问题,例如,多数自动化测试都只是进行UI中的单项测试,需要用户进行各个单项测试操作,属于半自动化测试,此外在软件产品升级UI发生变化时,需要完全重新设计对应的测试方案,测试灵活性较差。

技术实现思路

[0004]专利技术目的:提供一种UI自动化测试方法,能够对软件产品的UI进行自动测试,且能够便于用户对测试进行自定义,具有较好的测试灵活性。
[0005]技术方案:本专利技术所述的一种UI自动化测试方法,包括如下步骤:步骤1,构建测试脚本库,测试脚本库中设置有软件控制脚本以及各个子测试库,软件控制脚本用于对待测软件进行运行控制,每个子测试库中均设置有UI测试控制脚本以及各个项目测试脚本,UI测试控制脚本用于对各个项目测试脚本进行运行控制,项目测试脚本用于通过测试用例数据和比对界面数据对UI中对应的待测项进行自动测试;步骤2,由软件控制脚本控制待测软件启动运行,并根据待测软件当前运行的UI从测试脚本库中选出对应的子测试库;步骤3,启动选出的子测试库中的UI测试控制脚本,再由UI测试控制脚本控制对应的各个项目测试脚本对待测软件当前运行的UI进行自动化测试,并获得当前运行的UI的测试结果;步骤4,判定待测软件的全部UI是否测试完毕,若未全部测试完毕,则返回步骤2,若全部测试完毕,则汇总全部测试结果,生成测试报告文件,并根据预设的通信方式将测试报告文件发送至用户。
[0006]进一步的,步骤1中,构建测试脚本库的具体步骤为:步骤1.1,获取待测软件的历史测试数据,再从历史测试数据中提取出分属于各个UI的历史UI测试流程数据以及各个历史测试项目数据;步骤1.2,检查待测软件是否有更新信息,若没有更新信息,则直接进入步骤1.3,
若有更新信息,则获取用户上传的分属于各个UI的新增UI测试流程数据以及各个新增测试项目数据,再进入步骤1.4;步骤1.3,将历史UI测试流程数据作为的最终UI测试流程数据,将各个历史测试项目数据作为的各个最终测试项目数据,再进入步骤1.5;步骤1.4,将同一UI的历史UI测试流程数据以及新增UI测试流程数据组合为最终UI测试流程数据,将同一UI的各个历史测试项目数据以及各个新增测试项目数据组合为各个最终测试项目数据,再进入步骤1.5;步骤1.5,根据各个最终测试项目数据制定对应的各个项目测试脚本,再根据最终UI测试流程数据制定对应的UI测试控制脚本;步骤1.6,利用每个UI对应的UI测试控制脚本以及各个项目测试脚本构建该UI对应的子测试库,再根据待测软件的交互控制要求制定软件控制脚本,再利用软件控制脚本以及各个子测试库共同构建测试脚本库。
[0007]进一步的,步骤1.1中,从历史测试数据中提取出分属于各个UI的历史UI测试流程数据以及各个历史测试项目数据的具体步骤为:步骤1.1.1,从历史测试数据中筛选出分属于各个UI的历史UI测试数据,再从历史UI测试数据中划分出属于各个测试项的测试项历史数据;步骤1.1.2,对各个测试项历史数据进行筛选预处理,使得各个UI中的每个测试项均只有一个测试项历史数据;步骤1.1.3,对筛选预处理后的各个测试项历史数据进行信息提取,获得其中的测试用例数据以及比对界面数据;步骤1.1.4,将获得的每组测试用例数据以及比对界面数据作为一个历史测试项目数据,并按照命名规则为每个历史测试项目数据设置一个项目名称;步骤1.1.5,将每个UI的历史UI测试数据按照历史测试时间分为各个分组历史数据,获取分组历史数据中各个测试项历史数据的排列顺序,再将该排列顺序作为对应UI的历史UI测试流程数据。
[0008]进一步的,步骤1.1.2中,对各个测试项历史数据进行筛选预处理的具体步骤为:首先判断各个测试项历史数据是否完整,若测试项历史数据存在完整的测试用例数据以及比对界面数据,则判定该组测试项历史数据是完整的,否则判定为数据不完整;若同一个测试项存在多组完整的测试项历史数据,则保留其中测试时间最新的那组测试项历史数据,并删除该测试项的其他测试项历史数据;若同一个测试项只存在一组完整的测试项历史数据,则保留该组完整的测试项历史数据,并删除该测试项的其他测试项历史数据;若某个测试项不存在完整的测试项历史数据,则通过预设的通信方式向用户发送缺失提示信息,并实时获取用户对应补充的测试用例数据和/或比对界面数据。
[0009]进一步的,步骤1.2中,新增测试项目数据包括新增的测试用例数据以及比对界面数据,新增测试项目数据按照命名规则设置有对应的项目名称,新增UI测试流程数据设置了各个新增测试项目数据用于测试时的排列顺序。
[0010]进一步的,步骤1.4中,将历史UI测试流程数据以及新增UI测试流程数据进行组合时,首先判断历史UI测试流程数据中各个项目名称是否与新增UI测试流程数据中各个项目
名称存在重合,若存在重合的项目名称,则利用新增UI测试流程数据中重合项目名称所对应的测试项流程数据移植并替换掉历史UI测试流程数据中重合项目名称所对应的测试项流程数据,再将剩余的新增UI测试流程数据排列在历史UI测试流程数据之后组合为最终的UI测试流程数据,若不存在重合的项目名称,则直接将新增UI测试流程数据排列在历史UI测试流程数据之后组合为最终UI测试流程数据;将各个历史测试项目数据以及各个新增测试项目数据进行组合时,首先判断各个历史测试项目数据对应的项目名称是否与各个新增测试项目数据对应的项目名称存在重合,若存在重合的项目名称,则删除重合的历史测试项目数据,再将其余的各个历史测试项目数据以及新增测试项目数据组合为最终UI测试项目数据,若不存在重合的项目名称,则直接将各个历史测试项目数据以及新增测试项目数据组合为最终UI测试项目数据。
[0011]进一步的,步骤2中,根据待测软件当前运行的UI从测试脚本库中选出对应的子测试库的具体步骤为:步骤2.1,获取软件控制脚本的控制指令,控制指令用于控制待测软件进入对应的UI;步骤2.2,获取待测软件的运行配置信息,根据运行配置信息判断待测软件是否已经进入与控制指令相对应的UI,若已经进入对应的UI,则跳转至步骤2.4,若未进入对应的UI,则跳转至步骤2.3;步骤2.3,等待预设的时间阈值后再次获取待测软件的运行配置信息,若判断本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种UI自动化测试方法,其特征在于,包括如下步骤:步骤1,构建测试脚本库,测试脚本库中设置有软件控制脚本以及各个子测试库,软件控制脚本用于对待测软件进行运行控制,每个子测试库中均设置有UI测试控制脚本以及各个项目测试脚本,UI测试控制脚本用于对各个项目测试脚本进行运行控制,项目测试脚本用于通过测试用例数据和比对界面数据对UI中对应的待测项进行自动测试;步骤2,由软件控制脚本控制待测软件启动运行,并根据待测软件当前运行的UI从测试脚本库中选出对应的子测试库;步骤3,启动选出的子测试库中的UI测试控制脚本,再由UI测试控制脚本控制对应的各个项目测试脚本对待测软件当前运行的UI进行自动化测试,并获得当前运行的UI的测试结果;步骤4,判定待测软件的全部UI是否测试完毕,若未全部测试完毕,则返回步骤2,若全部测试完毕,则汇总全部测试结果,生成测试报告文件,并根据预设的通信方式将测试报告文件发送至用户。2.根据权利要求1所述的UI自动化测试方法,其特征在于,步骤1中,构建测试脚本库的具体步骤为:步骤1.1,获取待测软件的历史测试数据,再从历史测试数据中提取出分属于各个UI的历史UI测试流程数据以及各个历史测试项目数据;步骤1.2,检查待测软件是否有更新信息,若没有更新信息,则直接进入步骤1.3,若有更新信息,则获取用户上传的分属于各个UI的新增UI测试流程数据以及各个新增测试项目数据,再进入步骤1.4;步骤1.3,将历史UI测试流程数据作为最终UI测试流程数据,将各个历史测试项目数据作为各个最终测试项目数据,再进入步骤1.5;步骤1.4,将同一UI的历史UI测试流程数据以及新增UI测试流程数据组合为最终UI测试流程数据,将同一UI的各个历史测试项目数据以及各个新增测试项目数据组合为各个最终测试项目数据,再进入步骤1.5;步骤1.5,根据各个最终测试项目数据制定对应的各个项目测试脚本,再根据最终UI测试流程数据制定对应的UI测试控制脚本;步骤1.6,利用每个UI对应的UI测试控制脚本以及各个项目测试脚本构建该UI对应的子测试库,再根据待测软件的交互控制要求制定软件控制脚本,再利用软件控制脚本以及各个子测试库共同构建测试脚本库。3.根据权利要求2所述的UI自动化测试方法,其特征在于,步骤1.1中,从历史测试数据中提取出分属于各个UI的历史UI测试流程数据以及各个历史测试项目数据的具体步骤为:步骤1.1.1,从历史测试数据中筛选出分属于各个UI的历史UI测试数据,再从历史UI测试数据中划分出属于各个测试项的测试项历史数据;步骤1.1.2,对各个测试项历史数据进行筛选预处理,使得各个UI中的每个测试项均只有一个测试项历史数据;步骤1.1.3,对筛选预处理后的各个测试项历史数据进行信息提取,获得其中的测试用例数据以及比对界面数据;步骤1.1.4,将获得的每组测试用例数据以及比对界面数据作为一个历史测试项目数
据,并按照命名规则为每个历史测试项目数据设置一个项目名称;步骤1.1.5,将每个UI的历史UI测试数据按照历史测试时间分为各个分组历史数据,获取分组历史数据中各个测试项历史数据的排列顺序,再将该排列顺序作为对应UI的历史UI测试流程数据。4.根据权利要求3所述的UI自动化测试方法,其特征在于,步骤1.1.2中,对各个测试项历史数据进行筛选预处理的具体步骤为:首先判断各个测试项历史数据是否完整,若测试项历史数据存在完整的测试用例数据以及比对界面数据,则判定该组测试项历史数据是完整的,否则判定为数据不完整;若同一个测试项存在多组完整的测试项历史数据,则保留其中测试时间最新的那组测试项历史数据,并删除该测试项的其他测试项历史数据;若同一个测试项只存在一组完整的测试项历史数据,则保留该组完整的测试项历史数据,并删除该测试项的其他测试项历史数据;若某个测试项不存在完整的测试项历史数据,则通过预设的通信方式向用户发送缺失提示信息,并实时获取用户对应补充的测试用例数据和/或比对界面数据。5.根据权利要求2所述的UI自动化测试方法,其特征在于,步骤1.2中,新增测试项目数据包括新增的测试用例数据以及比对界面数据,新增测试项目数据按照命名规则设置有对应的项目名称,新增UI测试流程数据设置了各个新增测试项目数据用于测试时的排列顺序。6.根据权利要求5所述的UI自动化测试方法,其特征在于,步骤1.4中,将历史UI测试流程数据以及新增UI测试流程数据进行组合时,首先判断历史UI测试流程数据中各个项目名称是否与新增UI测试流程数据中各个项目名称存在重合,若存在重合的项目名称,则利用新...

【专利技术属性】
技术研发人员:喻鑫郭玉其刘铮张李秋郭剑邢友德
申请(专利权)人:江苏北弓智能科技有限公司
类型:发明
国别省市:

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

1