UI树的处理方法、设备及系统与流程

文档序号:36339613发布日期:2023-12-13 19:11阅读:36来源:国知局
UI的制作方法

本公开实施例涉及自动化测试,尤其涉及一种ui树的处理方法、设备及系统。


背景技术:

1、应用程序的ui(user interface,用户界面)可以基于开源的ui框架实现。ui框架可以分为跨端ui框架和非跨端ui框架。其中,跨端ui框架是指可以在多种类型的操作系统上运行的ui框架,有助于减少开发成本。非跨端ui框架是指可以在一种指定类型的操作系统上运行的ui框架。

2、现有技术中,对上述应用程序的测试用例的开发以及执行需要依赖上述ui框架。依赖于上述ui框架的测试用例开发过程可以包括:首先,调用上述ui框架获取应用程序的当前显示界面的ui树,其中,ui树是对ui界面结构进行描述的树状结构,其中包括ui界面中各控件的属性信息以及这些控件之间的关系;然后,开发人员从ui树中查看测试用例针对的目标控件的属性信息,以撰写测试用例。依赖于上述ui框架的测试用例执行过程可以包括:首先,调用上述ui框架获取应用程序的当前显示界面的ui树;然后,根据目标控件的目标属性信息从ui树中获取到目标控件的位置;最后,根据该位置对该目标控件执行测试。

3、然而,当应用程序的ui基于的ui框架为flutter框架时,上述测试用例的开发过程和执行过程在应用程序的发布环境下均无法实现。


技术实现思路

1、本公开实施例提供一种ui树的处理方法、设备及系统,可以在flutter框架实现的应用程序的发布环境下,实现测试用例的开发过程和执行过程。

2、第一方面,本公开实施例提供一种ui树的处理方法,应用于终端设备,所述终端设备上运行的应用程序的用户界面ui采用flutter框架,所述flutter框架内置有接口服务,所述方法包括:

3、通过测试设备和所述接口服务之间的连接,接收所述测试设备发送的第一请求;

4、响应于所述第一请求,通过所述接口服务调用所述flutter框架,生成所述应用程序中的当前显示界面的ui树,所述ui树中包括所述当前显示界面中至少一个控件的属性信息;

5、对所述ui树进行目标处理,所述目标处理包括以下至少一种:通过所述连接将所述ui树发送给所述测试设备、从所述ui树中获取目标控件的属性信息,所述测试设备用于通过所述ui树生成测试用例,所述目标控件的属性信息用于执行所述测试用例。

6、第二方面,本公开实施例提供一种ui树的处理方法,应用于测试设备,所述测试设备与终端设备中的接口服务之间建立有连接,所述终端设备上运行的应用程序的用户界面ui采用flutter框架,所述接口服务内置于所述flutter框架中,所述方法包括:

7、通过所述测试设备和所述接口服务之间的连接,向所述终端设备发送第一请求;

8、通过所述连接接收所述终端设备发送的ui树,所述ui树是所述接口服务针对所述应用程序中的当前显示界面生成的,所述ui树中包括所述当前显示界面中至少一个控件的属性信息。

9、第三方面,本公开实施例提供一种终端设备,所述终端设备上运行的应用程序的用户界面ui采用flutter框架,所述flutter框架内置有接口服务,所述终端设备包括:

10、第一请求接收模块,用于通过测试设备和所述接口服务之间的连接,接收所述测试设备发送的第一请求;

11、ui树生成模块,用于响应于所述第一请求,通过所述接口服务调用所述flutter框架,生成所述应用程序中的当前显示界面的ui树,所述ui树中包括所述当前显示界面中至少一个控件的属性信息;

12、目标处理模块,用于对所述ui树进行目标处理,所述目标处理包括以下至少一种:通过所述连接将所述ui树发送给所述测试设备、从所述ui树中获取目标控件的属性信息,所述测试设备用于通过所述ui树生成测试用例,所述目标控件的属性信息用于执行所述测试用例。

13、第四方面,本公开实施例提供一种测试设备,所述测试设备与终端设备中的接口服务之间建立有连接,所述终端设备上运行的应用程序的用户界面ui采用flutter框架,所述接口服务内置于所述flutter框架中,所述测试设备包括:

14、第一请求发送模块,用于通过所述测试设备和所述接口服务之间的连接,向所述终端设备发送第一请求;

15、ui树接收模块,用于通过所述连接接收所述终端设备发送的ui树,所述ui树是所述接口服务针对所述应用程序中的当前显示界面生成的,所述ui树中包括所述当前显示界面中至少一个控件的属性信息。

16、第五方面,本公开实施例提供一种终端设备,包括:至少一个处理器和存储器;

17、所述存储器存储计算机执行指令;

18、所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述终端设备实现如第一方面所述的方法。

19、第六方面,本公开实施例提供一种测试设备,包括:至少一个处理器和存储器;

20、所述存储器存储计算机执行指令;

21、所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述测试设备实现如第二方面所述的方法。

22、第七方面,本公开实施例提供一种ui树处理系统,包括前述第二方面或第四方面的终端设备,以及,前述第三方面或第五方面的测试设备。

23、第八方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算设备实现如第一方面或第二方面的方法。

24、第九方面,本公开实施例提供一种计算机程序,所述计算机程序用于实现如第一方面或第二方面的方法。

25、本公开实施例提供了一种ui树的处理方法、设备及系统,该方法包括:测试设备通过测试设备和接口服务之间的连接,向终端设备发送第一请求;响应于第一请求,终端设备通过接口服务调用flutter框架,生成应用程序中的当前显示界面的ui树,ui树中包括当前显示界面中至少一个控件的属性信息;终端设备对ui树进行目标处理,目标处理包括以下至少一种:通过上述连接将ui树发送给测试设备、从ui树中获取目标控件的属性信息,测试设备用于通过ui树生成测试用例,目标控件的属性信息用于执行测试用例。本公开实施例可以通过终端设备内置的服务接口,提供获取ui树的能力。由于接口服务内置在ui框架中,从而对于ui为flutter框架的应用程序,其在加载flutter时就可以加载接口服务。这样,可以在应用程序的debug和发布环境下均可以运行,以在这两个环境下均可以获取到ui树,实现测试用例的开发和运行。



技术特征:

1.一种ui树的处理方法,其特征在于,应用于终端设备,所述终端设备上运行的应用程序的用户界面ui采用flutter框架,所述flutter框架内置有接口服务,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述测试设备和所述接口服务之间的连接是通过以下步骤预先建立的:

3.根据权利要求2所述的方法,其特征在于,所述接收所述测试设备发送的第二请求之前,还包括:

4.根据权利要求1至3任一项所述的方法,其特征在于,所述通过所述接口服务调用所述flutter框架,生成所述应用程序中的当前显示界面的ui树,包括:

5.根据权利要求4所述的方法,其特征在于,所述目标渲染对象包括以下至少一种:显示尺寸大于或等于预设尺寸且显示区域在屏幕内的渲染对象、非代理类型的渲染对象。

6.根据权利要求4所述的方法,其特征在于,所述根据所述目标渲染对象的属性信息生成所述ui树之前,还包括:

7.根据权利要求6所述的方法,其特征在于,所述根据所述目标渲染对象的属性信息生成所述ui树,包括:

8.一种ui树的处理方法,其特征在于,应用于测试设备,所述测试设备与终端设备中的接口服务之间建立有连接,所述终端设备上运行的应用程序的用户界面ui采用flutter框架,所述接口服务内置于所述flutter框架中,所述方法包括:

9.一种终端设备,其特征在于,所述终端设备上运行的应用程序的用户界面ui采用flutter框架,所述flutter框架内置有接口服务,所述终端设备包括:

10.一种测试设备,其特征在于,所述测试设备与终端设备中的接口服务之间建立有连接,所述终端设备上运行的应用程序的用户界面ui采用flutter框架,所述接口服务内置于所述flutter框架中,所述测试设备包括:

11.一种终端设备,其特征在于,包括:至少一个处理器和存储器;

12.一种测试设备,其特征在于,包括:至少一个处理器和存储器;

13.一种ui树处理系统,其特征在于,包括权利要求9或11所述的终端设备,以及权利要求10或12所述的测试设备。

14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算设备实现如权利要求1至8任一项所述的方法。

15.一种计算机程序,其特征在于,所述计算机程序用于实现如权利要求1至8任一项所述的方法。


技术总结
本公开提供一种UI树的处理方法、设备及系统,涉及自动化测试技术领域。该方法包括:测试设备通过测试设备和接口服务之间的连接,向终端设备发送第一请求;终端设备通过接口服务调用Flutter框架,生成应用程序中的当前显示界面的UI树,UI树中包括控件的属性信息;终端设备对UI树进行目标处理,包括:通过上述连接将UI树发送给测试设备、从UI树中获取目标控件的属性信息,测试设备用于通过UI树生成测试用例,目标控件的属性信息用于执行测试用例。本公开可以通过终端设备内置的服务接口提供获取UI树的能力。由于接口服务内置在UI框架中,从而在应用程序的调试和发布环境下均可以提供UI树,实现测试用例的开发和运行。

技术研发人员:陈为立
受保护的技术使用者:北京字节跳动网络技术有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1