页面的自动化测试方法、装置、设备以及存储介质制造方法及图纸

技术编号:29583833 阅读:14 留言:0更新日期:2021-08-06 19:42
本发明专利技术提供一种页面的自动化测试方法、装置、设备以及存储介质,该方法中,在对应用的页面进行测试之前,根据应用的源代码文件获取到包括待测试应用的每个页面,每个页面上的所有控件,每个控件对应事件的回调关系,控件之间的依赖关系,以及页面之间的跳转关系的图模型,然后采用深度优先方式遍历测试该图模型中每个页面以及每个页面上的每个控件,即实现了自动化测试,也不会出现遗漏页面和控件,能够全面覆盖应用的所有场景和页面,以及控件,得到准确度较高的测试结果。

【技术实现步骤摘要】
页面的自动化测试方法、装置、设备以及存储介质
本专利技术涉及软件测试领域,尤其涉及一种页面的自动化测试方法、装置、设备以及存储介质。
技术介绍
随着计算机技术以及智能终端设备的普及,各种各样的应用程序也普遍的应用在用户生活的各个领域中,在应用程序的开发过程中,则需要对应用程序进行测试,包括对页面的测试。目前,在对页面的自动化测试过程中,主要动过两种方式来进行自动化的执行以便更多的覆盖应用程序的页面和场景,包括:随机策略,从当前页面中随机选取一个空间进行交互(例如安卓自带工具monkey,在当前页面的随机位置进行点击,触发页面控件)。固定策略,基于规则的选取页面上的特定控件进行交互(例如安卓图形用户界面(GraphicalUserInterface,简称:GUI)自动化工具Appium,是基于用户对特定的控件进行点击操作,触发页面控件)。然而,对于使用随机策略来进行自动化测试是不能够全面的来覆盖整个应用程序的所有场景,对于使用固定策略来进行自动化测试,弊端是用户主观设计对特定的控件,进行操作的,而触发控件,也会导致一些场景设计疏漏,覆盖不全面。综上所述,现有的进行页面测试的方案存在覆盖不全面,导致测试准确度较低的问题。
技术实现思路
本专利技术实施例提供一种页面的自动化测试方法、装置、设备以及存储介质,用于解决现有的应用程序的页面测试方案存在覆盖不全面,导致测试准确度较低的问题。第一方面,本专利技术实施例提供一种页面的自动化测试方法,包括:获取待测试应用对应的图模型,所述图模型中包括所述待测试应用的每个页面,每个页面上的所有控件,每个控件对应事件的回调关系,控件之间的依赖关系,以及页面之间的跳转关系;采用深度优先方式,遍历测试所述图模型中的每个页面以及每个页面上的每个控件,得到测试报告。在一种具体实现方式中,所述采用深度优先方式,遍历测试所述图模型中的每个页面以及每个页面上的每个控件,得到测试报告,包括:进入所述图模型中所述待测试应用的初始页面,采用深度优先方式,选择所述初始页面上任一个未被执行的控件执行进入下级页面;在所述下级页面中选择任一未被执行的控件执行并进入所述下级页面的下级页面,重复本步骤直至当前页面的所有控件执行完成,则返回上一级页面并进行控件遍历执行,得到所述测试报告。在一种具体实现方式中,所述进入所述图模型中所述待测试应用的初始页面之前,所述方法还包括:若检测到所述初始页面依赖于系统事件触发,则触发所述初始页面对应的系统事件。在一种具体实现方式中,所述方法还包括:在所述图模型的每一个页面中选择未被执行的控件后,检测所述控件是否存在控件间依赖关系;若所述控件存在控件间依赖关系,则对所述控件依赖的依赖控件进行状态设置,再执行所述控件。在一种具体实现方式中,所述获取待测试应用对应的图模型之前,所述方法还包括:启动所述待测试应用,并根据用户的操作设置动态测试的时长阈值;相应的,所述采用深度优先方式,遍历测试所述图模型中的每个页面以及每个页面上的每个控件,得到测试报告,包括:采用深度优先方式,遍历测试所述图模型中的每个页面以及每个页面上的每个控件,直至测试时长达到所述时长阈值,得到所述测试报告。在一种具体实现方式中,所述获取待测试应用对应的图模型,包括:获取所述待测试应用的源代码文件;从所述源代码文件中获取所述待测试应用的所有页面,构建页面集合;从所述源代码文件中获取所述待测试应用的所有控件,构建控件集合;从所述源代码文件中获取所述待测试应用中控件对应事件的回调关系,页面之间的跳转关系,控件之间的依赖关系;根据所述页面集合,所述控件集合,所述控件对应事件的回调关系,所述页面之间的跳转关系以及所述控件之间的依赖关系生成所述图模型。第二方面,本专利技术实施例提供一种页面的自动化测试装置,包括:第一处理模块,用于获取待测试应用对应的图模型,所述图模型中包括所述待测试应用的每个页面,每个页面上的所有控件,每个控件对应事件的回调关系,控件之间的依赖关系,以及页面之间的跳转关系;第二处理模块,用于采用深度优先方式,遍历测试所述图模型中的每个页面以及每个页面上的每个控件,得到测试报告。在一种具体实现方式中,所述第二处理模块具体用于:进入所述图模型中所述待测试应用的初始页面,采用深度优先方式,选择所述初始页面上任一个未被执行的控件执行进入下级页面;在所述下级页面中选择任一未被执行的控件执行并进入所述下级页面的下级页面,重复本步骤直至当前页面的所有控件执行完成,则返回上一级页面并进行控件遍历执行,得到所述测试报告。在一种具体实现方式中,所述第二处理模块还用于:若检测到所述初始页面依赖于系统事件触发,则触发所述初始页面对应的系统事件。在一种具体实现方式中,所述装置还包括:第三处理模块,用于:在所述图模型的每一个页面中选择未被执行的控件后,检测所述控件是否存在控件间依赖关系;若所述控件存在控件间依赖关系,则对所述控件依赖的依赖控件进行状态设置,再执行所述控件。在一种具体实现方式中,所述装置还包括:第四处理模块,用于启动所述待测试应用,并根据用户的操作设置动态测试的时长阈值;相应的,所述第二处理模块具体用于:采用深度优先方式,遍历测试所述图模型中的每个页面以及每个页面上的每个控件,直至测试时长达到所述时长阈值,得到所述测试报告。在一种具体实现方式中,所述第一处理模块具体用于:获取所述待测试应用的源代码文件;从所述源代码文件中获取所述待测试应用的所有页面,构建页面集合;从所述源代码文件中获取所述待测试应用的所有控件,构建控件集合;从所述源代码文件中获取所述待测试应用中控件对应事件的回调关系,页面之间的跳转关系,控件之间的依赖关系;根据所述页面集合,所述控件集合,所述控件对应事件的回调关系,所述页面之间的跳转关系以及所述控件之间的依赖关系生成所述图模型。第三方面,本专利技术实施例提供一种电子设备,包括:处理器,存储器,交互接口;所述存储器用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行第一方面任一项所述的页面的自动化测试方法。第四方面,本专利技术实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的页面的自动化测试方法。第五方面,本专利技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现第一方面任一项所述的页面的自动化测试方法。本专利技术实施例提供的页面的自动化测试方法、装置、设备以及存储介质,在对应用的页面进行测试之前,根据应用的源代码文件获取到包括待测试应用的每个页面,每个页面上的所有控件,每个控件对应事件的回调关系,控件之间的依赖关系,以及页面之间的跳转关系的图模本文档来自技高网...

【技术保护点】
1.一种页面的自动化测试方法,其特征在于,包括:/n获取待测试应用对应的图模型,所述图模型中包括所述待测试应用的每个页面,每个页面上的所有控件,每个控件对应事件的回调关系,控件之间的依赖关系,以及页面之间的跳转关系;/n采用深度优先方式,遍历测试所述图模型中的每个页面以及每个页面上的每个控件,得到测试报告。/n

【技术特征摘要】
1.一种页面的自动化测试方法,其特征在于,包括:
获取待测试应用对应的图模型,所述图模型中包括所述待测试应用的每个页面,每个页面上的所有控件,每个控件对应事件的回调关系,控件之间的依赖关系,以及页面之间的跳转关系;
采用深度优先方式,遍历测试所述图模型中的每个页面以及每个页面上的每个控件,得到测试报告。


2.根据权利要求1所述的方法,其特征在于,所述采用深度优先方式,遍历测试所述图模型中的每个页面以及每个页面上的每个控件,得到测试报告,包括:
进入所述图模型中所述待测试应用的初始页面,采用深度优先方式,选择所述初始页面上任一个未被执行的控件执行进入下级页面;
在所述下级页面中选择任一未被执行的控件执行并进入所述下级页面的下级页面,重复本步骤直至当前页面的所有控件执行完成,则返回上一级页面并进行控件遍历执行,得到所述测试报告。


3.根据权利要求2所述的方法,其特征在于,所述进入所述图模型中所述待测试应用的初始页面之前,所述方法还包括:
若检测到所述初始页面依赖于系统事件触发,则触发所述初始页面对应的系统事件。


4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述图模型的每一个页面中选择未被执行的控件后,检测所述控件是否存在控件间依赖关系;
若所述控件存在控件间依赖关系,则对所述控件依赖的依赖控件进行状态设置,再执行所述控件。


5.根据权利要求1至3任一项所述的方法,其特征在于,所述获取待测试应用对应的图模型之前,所述方法还包括:
启动所述待测试应用,并根据用户的操作设置动态测试的时长阈值;
相应的,所述采用深度优先方式,遍历测试所述图模型中的每个页面以及每个页面上的每个控件,得到测试报告,包括:
采用深度优先方式,遍历测试所述图模型中的每个页面以及每个页面上的每个控件,直至测试时长达到所述时长阈值,得到所述测试报告。


6.根据权利要求1至3任一项所述的方法,其特征在于,所述获取待测试应用对应的图模型,包括:
获取所述待测试应用的源代码文件;
从所述源代码文件中获取所述待测试应用的所有页面,构建页面集合;
从所述源代码文件中获取所述待测试应用的所有控件,构建控件集合;
从所述源代码文件中获取所述待测试应用中控件对应事件的回调关系,页面之间的跳转关系,控件之间的依赖关系;
根据所述页面集合,所述控件集合,所述控件对应事件的回调关系,所述页面之间的跳转关系以及所述控件之间的依赖关系生成所述图模型。


7.一种页面的自动化测试装置,其特征在于,包括:
第一处理模块,用于获取待测试应用对应的图模型,所述图模型中包括所述待测试应用的每个页面,每个页面上的所有控件,每个控件对应事件的回调关系,控件之...

【专利技术属性】
技术研发人员:牛金亮
申请(专利权)人:北京京东拓先科技有限公司
类型:发明
国别省市:北京;11

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

1