一种自动化回归测试方法及装置制造方法及图纸

技术编号:28978101 阅读:28 留言:0更新日期:2021-06-23 09:23
本申请公开了一种自动化回归测试方法及系统,包括获取触发指令,根据触发指令确定测试用例集以及测试环境;按顺序采用测试用例集中的测试用例初始化页面,到达指定页面;调用底层封装的初始化driver方法初始化浏览器;若初始化driver成功,则进行页面配置元素读取操作;调用所述页面配置元素对应的共用方法进行页面配置加载;加载测试用例中case的测试数据;调用封装进行页面操作,直到操作完成;当测试用例集中的所有测试用例均操作完成,调用集成的allure模块生成测试报告。本申请的方案,让功能变动时,可以修改尽量少的代码来完成case的维护。如仅仅是页面布局发生变动,只需要修改元素定位配置。而操作流程变动,则可以通过修改页面模块来达成。

【技术实现步骤摘要】
一种自动化回归测试方法及装置
本专利技术涉及计算机
,特别涉及一种自动化回归测试方法及装置。
技术介绍
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很有意义的。随着业务复杂度的增加,以及敏捷项目流程下的频繁发版,测试人员需要大量的时间进行页面基础功能的回归测试,这对于测试人员来说,必须投入大量时间来进行回归测试,系统测试、维护升级等阶段的成本显著增加。然而,对于现有技术来说,自动化回归测试的难点在于,测试人员在操作页面进行测试时,会自行等待元素的出现、页面的切换、处理各种异常弹窗以及点击不成功后的再次点击、刷新页面等操作,而代码却做不到同样的灵活自如;另外,自动化回归测试通常仅能显示最终的结果,不能给测试人员提供整个测试过程中各个环节的细节,不便于问题的追溯。
技术实现思路
本申请提供了一种自动化回归测试方法及系统,以解决现有技术需要投入大量测试时间来进行重复性测试回归的问题。第一方面,本申请提供了一种自动化回归测试方法,所述方法包括:获取触发指令,根据触发指令确定测试用例集以及测试环境;按顺序采用测试用例集中的测试用例初始化页面,到达指定页面;调用底层封装的初始化driver方法初始化浏览器;所述初始化driver方法包括显示等待操作或隐式等待操作;若初始化driver成功,则进行页面配置元素读取操作;调用所述页面配置元素对应的共用方法进行页面配置加载;加载测试用例中case的测试数据;调用封装进行页面操作,直到操作完成;当测试用例集中的所有测试用例均操作完成,调用集成的allure模块生成测试报告。在一些实施例中,所述方法还包括:若初始化driver失败,判断当前测试用例的执行次数是否达到第一最大重试次数;若是,则停止执行当前测试用例,开始执行下一测试用例;若否,则重新所述执行初始化页面的步骤。在一些实施例中,所述方法还包括:获取所述调用所述页面配置元素对应的共用方法进行页面配置加载步骤的加载结果;若所述加载结果为加载失败,则判断当前测试用例的执行次数是否达到第一最大重试次数;若是,则停止执行当前测试用例,开始执行下一测试用例;若否,则重新所述执行初始化页面的步骤。在一些实施例中,所述方法还包括:获取所述调用封装进行页面操作的操作结果;若所述操作结果为未完成,则判断调用封装进行页面操作的操作次数是否达到第二最大重试次数;若是,则继续执行判断当前测试用例的执行次数是否达到第一最大重试次数的步骤;若否,则重新执行所述调用封装进行页面操作的步骤。在一些实施例中,所述方法还包括:将所述初始化driver失败、加载失败、操作结果为未完成的相关日志记录添加到测试报告中。在一些实施例中,所述方法还包括:当执行某一测试用例操作完成后,清理与该测试用例对应的初始化数据。第二方面,本申请还提供了一种自动化回归测试装置,包括:触发单元,被配置为获取触发指令,根据触发指令确定测试用例集以及测试环境;初始化单元,被配置为按顺序采用测试用例集中的测试用例初始化页面,到达指定页面;浏览器单元,被配置为调用底层封装的初始化driver方法初始化浏览器;所述初始化driver方法包括显示等待操作或隐式等待操作;元素读取单元,被配置为若初始化driver成功,则进行页面配置元素读取操作;加载单元,被配置为调用所述页面配置元素对应的共用方法进行页面配置加载;以及加载测试用例中case的测试数据;页面操作单元,被配置为调用封装进行页面操作,直到操作完成;报告生成单元,被配置为当测试用例集中的所有测试用例均操作完成,调用集成的allure模块生成测试报告。在一些实施例中,所述元素读取单元还被配置为:若初始化driver失败,判断当前测试用例的执行次数是否达到第一最大重试次数;若是,则停止执行当前测试用例,开始执行下一测试用例;若否,则重新所述执行初始化页面的步骤。在一些实施例中,所述加载单元还被配置为:获取所述调用所述页面配置元素对应的共用方法进行页面配置加载步骤的加载结果;若所述加载结果为加载失败,则判断当前测试用例的执行次数是否达到第一最大重试次数;若是,则停止执行当前测试用例,开始执行下一测试用例;若否,则重新所述执行初始化页面的步骤。在一些实施例中,所述页面操作单元还被配置为:获取所述调用封装进行页面操作的操作结果;若所述操作结果为未完成,则判断调用封装进行页面操作的操作次数是否达到第二最大重试次数;若是,则继续执行判断当前测试用例的执行次数是否达到第一最大重试次数的步骤;若否,则重新执行所述调用封装进行页面操作的步骤。在一些实施例中,所述报告生成单元还被配置为:将所述初始化driver失败、加载失败、操作结果为未完成的相关日志记录添加到测试报告中。在一些实施例中,还包括:清理单元,被配置为当执行某一测试用例操作完成后,清理与该测试用例对应的初始化数据。本申请提供了一种自动化回归测试方法,包括获取触发指令,根据触发指令确定测试用例集以及测试环境;按顺序采用测试用例集中的测试用例初始化页面,到达指定页面;调用底层封装的初始化driver方法初始化浏览器;所述初始化driver方法包括显示等待操作或隐式等待操作;若初始化driver成功,则进行页面配置元素读取操作;调用所述页面配置元素对应的共用方法进行页面配置加载;加载测试用例中case的测试数据;调用封装进行页面操作,直到操作完成;当测试用例集中的所有测试用例均操作完成,调用集成的allure模块生成测试报告。本申请的方案,让功能变动时,可以修改尽量少的代码来完成case的维护。如仅仅是页面布局发生变动,只需要修改元素定位配置。而操作流程变动,则可以通过修改页面模块来达成。本申请通过一种分层设计、参数化测试数据、配置化元素定位、页面操作模块与用例模块分离来解决自动化回归测试中稳定性的问题,其中,通过重试机制来解决webUI自动化过程常常出现的元素定位不到、操作时元素失效、元素被遮挡、页面加载不完成、页面操作时间不确定等导致自动化用例不稳定的问题。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请一种自动化回归测试本文档来自技高网...

【技术保护点】
1.一种自动化回归测试方法,其特征在于,所述方法包括:/n获取触发指令,根据触发指令确定测试用例集以及测试环境;/n按顺序采用测试用例集中的测试用例初始化页面,到达指定页面;/n调用底层封装的初始化driver方法初始化浏览器;所述初始化driver方法包括显示等待操作或隐式等待操作;/n若初始化driver成功,则进行页面配置元素读取操作;/n调用所述页面配置元素对应的共用方法进行页面配置加载;/n加载测试用例中case的测试数据;/n调用封装进行页面操作,直到操作完成;/n当测试用例集中的所有测试用例均操作完成,调用集成的allure模块生成测试报告。/n

【技术特征摘要】
1.一种自动化回归测试方法,其特征在于,所述方法包括:
获取触发指令,根据触发指令确定测试用例集以及测试环境;
按顺序采用测试用例集中的测试用例初始化页面,到达指定页面;
调用底层封装的初始化driver方法初始化浏览器;所述初始化driver方法包括显示等待操作或隐式等待操作;
若初始化driver成功,则进行页面配置元素读取操作;
调用所述页面配置元素对应的共用方法进行页面配置加载;
加载测试用例中case的测试数据;
调用封装进行页面操作,直到操作完成;
当测试用例集中的所有测试用例均操作完成,调用集成的allure模块生成测试报告。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若初始化driver失败,判断当前测试用例的执行次数是否达到第一最大重试次数;
若是,则停止执行当前测试用例,开始执行下一测试用例;若否,则重新所述执行初始化页面的步骤。


3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
获取所述调用所述页面配置元素对应的共用方法进行页面配置加载步骤的加载结果;若所述加载结果为加载失败,则判断当前测试用例的执行次数是否达到第一最大重试次数;
若是,则停止执行当前测试用例,开始执行下一测试用例;若否,则重新所述执行初始化页面的步骤。


4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取所述调用封装进行页面操作的操作结果;若所述操作结果为未完成,则判断调用封装进行页面操作的操作次数是否达到第二最大重试次数;
若是,则继续执行判断当前测试用例的执行次数是否达到第一最大重试次数的步骤;若否,则重新执行所述调用封装进行页面操作的步骤。


5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述初始化driver失败、加载失败、操作结果为未完成的相关日志记录添加到测试报告中。


6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当执行某一测试用例操作完成后,清理与该测试用例对应的初始化数据。


7.一种自动化回归测试装置,其特征在于,包括:
触发单元,被配置为获取触发指令...

【专利技术属性】
技术研发人员:粟品容
申请(专利权)人:成都库珀区块链科技有限公司
类型:发明
国别省市:四川;51

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

1