应用测试方法和装置与流程

文档序号:36391141发布日期:2023-12-15 09:28阅读:29来源:国知局
应用测试方法和装置与流程

本公开涉及计算机,具体涉及图像处理和测试,尤其涉及应用测试方法和装置。


背景技术:

1、随着科学技术的不断发展,越来越多的应用随之出现,前端应用开发流程包括设计用户界面,代码实现,和测试界面(ui),并在上线运行后根据需求变更,这个过程循环往复直到满足最终的目标。其中,一方面开发和测试工作随着ui迭代的愈加频繁,其重要性日益凸显;另一方面,开发和测试存在着大量繁重且重复的工作,需要专业的技术人员消耗大量时间和精力,大大增加了开发成本和拖累开发效率。目前的前端应用的开发和测试主要还是通过人工实现,近些年出现了拖拽式配置平台生成应用和测试代码的技术方案,通过图形化的方式降低对测试人员技能水平的要求。这在一定程度上缓解了传统前端应用开发和测试方法的缺陷,但效果和成本依然依赖于技术人员的水平。


技术实现思路

1、本公开的实施例提出了一种应用测试方法、装置、电子设备和计算机可读介质。

2、第一方面,本公开的实施例提供了一种任务处理方法,该方法包括:响应于获取到目标应用对应的多张设计图,分别对多张设计图进行界面检测,获取到多张设计图对应的界面元素和交互逻辑;基于多张设计图对应的界面元素和交互逻辑,生成目标应用对应的交互流模型;基于交互流模型和目标应用对应的应用平台,生成目标应用的运行代码;基于交互流模型,对目标应用进行仿真测试,生成目标应用对应的测试代码;基于目标应用对应的运行代码和测试代码,运行并测试目标应用。

3、在一些实施例中,响应于获取到目标应用对应的多张设计图,分别对多张设计图进行界面检测,获取到多张设计图对应的界面元素和交互逻辑,包括:响应于获取到目标应用对应的多张设计图,分别对多张设计图进行图形化组件检测,得到多张设计图对应的图形组件和图形组件对应的第一交互逻辑;分别对多张设计图进行文本组件检测,得到多张设计图对应的文本组件和文本组件对应的第二交互逻辑;基于图形组件和文本组件,生成多张设计图对应的页面布局;基于图形组件和文本组件,对多张设计图进行数据合并,获取到多张设计图对应的界面元素和交互逻辑。

4、在一些实施例中,基于多张设计图对应的界面数据,生成目标应用对应的交互流模型,包括:建立初始交互流模型;基于多张设计图,生成初始交互流模型的屏幕容器;基于多张设计图对应的页面布局,生成初始交互流模型的布局容器;基于图形组件和文本组件,生成初始交互流模型的组件容器;基于第一交互逻辑和第二交互逻辑,生成初始交互流模型对应的事件和导航流;基于初始交互流模型的屏幕容器、布局容器、事件和导航流,生成目标应用对应的交互流模型。

5、在一些实施例中,基于交互流模型和目标应用对应的应用平台,生成目标应用的运行代码,包括:基于目标应用对应的应用平台,对交互流模型进行模型转换,得到与应用平台相关的平台相关模型;将平台相关模型输入代码生成器,生成目标应用的运行代码。

6、在一些实施例中,该方法还包括:基于交互流模型和目标应用的当前页面,创建与当前页面对应的当前触发事件集合;基于目标应用的历史运行数据,建立目标应用对应的概率模型;基于当前触发事件集合、概率模型和强化学习模型,确定每个当前触发事件对应的目标事件;基于目标事件,更新历史运行数据、交互流模型和当前触发事件集合。

7、在一些实施例中,基于目标事件,更新历史运行数据、交互流模型和当前触发事件集合,包括:针对当前页面执行目标事件,获取当前页面的当前页面状态;基于当前页面状态,获取当前页面的可触发事件;基于当前页面状态和目标事件,更新历史运行数据;基于当前页面的可触发事件,更新当前触发事件集合;基于当前页面状态和当前页面的可触发事件,更新交互流模型。

8、在一些实施例中,基于当前页面状态和当前页面的可触发事件,更新交互流模型,包括:响应于确定更新当前触发事件集合,判断是否满足页面探索终止条件;响应于确定满足页面探索终止条件,基于当前页面状态和当前页面的可触发事件,更新交互流模型。

9、在一些实施例中,基于当前页面状态和当前页面的可触发事件,更新交互流模型,包括:响应于获取到目标应用对应的新的设计图,对新的设计图进行界面检测,获取到新的设计图对应的新的界面元素和新的交互逻辑;基于新的界面元素和新的交互逻辑、当前页面状态和当前页面的可触发事件,更新交互流模型。

10、在一些实施例中,该方法还包括:响应于获取到目标应用对应的新的设计图,对新的设计图进行界面检测,获取到新的设计图对应的新的界面元素和新的交互逻辑;从多张设计图中确定新的设计图对应的设计图;基于设计图对应的界面元素、交互逻辑和新的设计图对应的新的界面元素、新的交互逻辑,更新交互流模型。

11、第二方面,本公开的实施例提供了一种应用测试装置,该装置包括:检测模块,被配置成响应于获取到目标应用对应的多张设计图,分别对多张设计图进行界面检测,获取到多张设计图对应的界面元素和交互逻辑;第一生成模块,被配置成基于多张设计图对应的界面元素和交互逻辑,生成目标应用对应的交互流模型;第二生成模块,被配置成基于交互流模型和目标应用对应的应用平台,生成目标应用的运行代码;第三生成模块,被配置成基于交互流模型,对目标应用进行仿真测试,生成目标应用对应的测试代码;测试模块,被配置成基于目标应用对应的运行代码和测试代码,运行并测试目标应用。

12、在一些实施例中,检测模块,进一步被配置成:响应于获取到目标应用对应的多张设计图,分别对多张设计图进行图形化组件检测,得到多张设计图对应的图形组件和图形组件对应的第一交互逻辑;分别对多张设计图进行文本组件检测,得到多张设计图对应的文本组件和文本组件对应的第二交互逻辑;基于图形组件和文本组件,生成多张设计图对应的页面布局;基于图形组件和文本组件,对多张设计图进行数据合并,获取到多张设计图对应的界面元素和交互逻辑。

13、在一些实施例中,第一生成模块,进一步被配置成:建立初始交互流模型;基于多张设计图,生成初始交互流模型的屏幕容器;基于多张设计图对应的页面布局,生成初始交互流模型的布局容器;基于图形组件和文本组件,生成初始交互流模型的组件容器;基于第一交互逻辑和第二交互逻辑,生成初始交互流模型对应的事件和导航流;基于初始交互流模型的屏幕容器、布局容器、事件和导航流,生成目标应用对应的交互流模型。

14、在一些实施例中,第二生成模块,进一步被配置成:基于目标应用对应的应用平台,对交互流模型进行模型转换,得到与应用平台相关的平台相关模型;将平台相关模型输入代码生成器,生成目标应用的运行代码。

15、在一些实施例中,该装置还包括:创建模块,被配置成基于交互流模型和目标应用的当前页面,创建与当前页面对应的当前触发事件集合;建立模块,被配置成基于目标应用的历史运行数据,建立目标应用对应的概率模型;确定模块,被配置成基于当前触发事件集合、概率模型和强化学习模型,确定每个当前触发事件对应的目标事件;更新模块,被配置成基于目标事件,更新历史运行数据、交互流模型和当前触发事件集合。

16、在一些实施例中,更新模块,进一步被配置成:针对当前页面执行目标事件,获取当前页面的当前页面状态;基于当前页面状态,获取当前页面的可触发事件;基于当前页面状态和目标事件,更新历史运行数据;基于当前页面的可触发事件,更新当前触发事件集合;基于当前页面状态和当前页面的可触发事件,更新交互流模型。

17、在一些实施例中,更新模块,进一步被配置成:响应于确定更新当前触发事件集合,判断是否满足页面探索终止条件;响应于确定满足页面探索终止条件,基于当前页面状态和当前页面的可触发事件,更新交互流模型。

18、在一些实施例中,更新模块,进一步被配置成:响应于获取到目标应用对应的新的设计图,对新的设计图进行界面检测,获取到新的设计图对应的新的界面元素和新的交互逻辑;基于新的界面元素和新的交互逻辑、当前页面状态和当前页面的可触发事件,更新交互流模型。

19、在一些实施例中,该装置还包括:获取模块;获取模块,被配置成:响应于获取到目标应用对应的新的设计图,对新的设计图进行界面检测,获取到新的设计图对应的新的界面元素和新的交互逻辑;从多张设计图中确定新的设计图对应的设计图;基于设计图对应的界面元素、交互逻辑和新的设计图对应的新的界面元素、新的交互逻辑,更新交互流模型。

20、第三方面,本技术提供了一种电子设备,包括一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的应用测试方法。

21、第四方面,本技术提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一实现方式描述的应用测试方法。

22、本公开的实施例提供的应用测试方法和装置,通过响应于获取到目标应用对应的多张设计图,分别对多张设计图进行界面检测,获取到多张设计图对应的界面元素和交互逻辑,然后基于多张设计图对应的界面元素和交互逻辑,生成目标应用对应的交互流模型,之后基于交互流模型和目标应用对应的应用平台,生成目标应用的运行代码,并基于交互流模型,对目标应用进行仿真测试,生成目标应用对应的测试代码,最后基于目标应用对应的运行代码和测试代码,运行并测试目标应用,可以对目标应用的设计图进行图像识别,以获取到各个设计图对应的界面元素和交互逻辑,并基于交互流模型进行目标应用的运行代码和测试代码生成,相较于传统的人工开发测试以及最新的拖拽式配置平台的方案,本公开可以实现应用的运行代码和测试代码的自动化生成,解决了传统开发测试高度依赖专业人员技能水平的问题,减少了开发成本,提升了测试反馈速度和产品开发效率。

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