UI自动化测试方法、装置及电子设备制造方法及图纸

技术编号:21184328 阅读:34 留言:0更新日期:2019-05-22 15:00
本申请提供一种UI自动化测试方法、装置及电子设备,所述方法包括:确定目标业务场景中的特定页面控件对象,其中,目标业务场景包括多个页面控件对象,特定页面控件对象为基于预设的控制模式类库对目标业务场景进行测试时不可识别的页面控件对象;根据特定页面控件对象,对预设的控制模式类库进行封装操作,以在预设的控制模式类库中添加特定页面控件对象对应的控制模式类库;根据封装后的控制模式类库,对目标业务场景进行测试。在自动化测试过程中,当检测到有不可识别的控件对象时,能够基于封装好的新的控制模式类库进行自动化测试,提高自动化测试效率。

UI Automated Test Method, Device and Electronic Equipment

This application provides a UI automation test method, device and electronic equipment. The method includes: determining a specific page control object in the target business scene, in which the target business scene includes multiple page control objects, and the specific page control object is an unrecognizable page control object when testing the target business scene based on the preset control mode class library; Specific page control object encapsulates the preset control mode class library to add the corresponding control mode class library of the specific page control object in the preset control mode class library. According to the encapsulated control mode class library, the target business scenario is tested. In the process of automated testing, when the unrecognized control objects are detected, the automated testing can be carried out based on the encapsulated new control mode class library to improve the efficiency of automated testing.

【技术实现步骤摘要】
UI自动化测试方法、装置及电子设备
本申请涉及UI自动化
,尤其涉及一种UI自动化测试方法、装置及电子设备。
技术介绍
WPF(WindowsPresentationFoundation,Windows呈现基础)是基于windows的控件开发出来的一套开源的前端CS平台的软件技术架构,为桌面应用程序和WEB应用程序提供了一个智能客户端开发模型,其设计考虑了可扩展性,使开发人员可以完全在WPF引擎的基础上创建自己的控件,也可以通过对现有WPF控件进行再分类来创建自己的控件,从而构建丰富统一的UI、媒体、图形图像、动画和文档等。基于WPF的UI测试自动化框架工具,目前用的比较多的是VisualStudio201X系列自带的CodedUITest(基于UIAutomation),以及QTP自动测试工具。上述两个工具实现的UI测试技术在WPF上的兼容性均比较差,在UI测试过程中,常常会出现不兼容的控件的情况,对于不兼容的控件,只能用点击坐标的形式来确定控件位置,进行控件捕捉,完成业务场景的测试过程,这种方式最大的问题是只要客户端的分辨率发生变化,或者位置发生变化的时候,脚本就需要重新确定,增加了工作人员的负担。
技术实现思路
有鉴于此,本申请实施例提供一种UI自动化测试方法、装置及电子设备,在自动化测试过程中,当检测到有不可识别的控件对象时,能够基于封装好的控制模式类库进行自动化测试,完全定制兼容WPF前端控件,不需要再手动点击坐标的非准确的方式来实现自动化测试,不再依赖付费工具。根据本申请的一个方面,提供一种UI自动化测试方法,所述方法包括:确定目标业务场景中的特定页面控件对象,其中,所述目标业务场景包括多个页面控件对象,所述特定页面控件对象为基于预设的控制模式类库对所述目标业务场景进行测试时不可识别的页面控件对象;根据所述特定页面控件对象,对所述预设的控制模式类库进行封装操作,以在所述预设的控制模式类库中添加所述特定页面控件对象对应的控制模式类库;根据所述封装后的控制模式类库,对所述目标业务场景进行测试。在一些实施例中,所述确定目标业务场景中的特定页面控件对象包括:根据所述预设的控制模式类库,对所述目标业务场景进行测试并对所述目标业务场景的测试流程进行录制操作;根据所述录制操作的结果确定是否存在所述特定页面控件对象。在一些实施例中,所述根据所述特定页面控件对象,对所述预设的控制模式类库进行封装操作的步骤,包括:获取所述特定页面控件对象的控制模式对应的编辑代码;将所述控制模式对应的编辑代码,添加至所述预设的控制模式类库中与所述特定页面控件对象同种类型的页面控件对象的控制模式中;将添加所述编辑代码后的所述预设的控制模式类库,作为封装后的控制模式类库。在一些实施例中,所述方法还包括:在对所述预设的控制模式类库进行封装操作时,获取所述用户侧上传的单点性能检测方法对应的代码,其中,所述单点性能检测方法至少包括以下之一:检测报文上下行流量的方法、获取服务端与数据库交互次数的方法和检测所述数据库的aql性能;将所述单点性能检测方法对应的代码,添加至所述预设的控制模式类库,以在根据所述封装后的控制模式类库对所述目标业务场景进行测试时,获取所述目标业务场景的单点性能。在一些实施例中,根据所述封装后的控制模式类库,对所述目标业务场景进行测试的步骤,包括:从所述封装后的控制模式类库中,查找出与所述目标业务场景的页面控件对象所对应的控制模式;执行查找到的所述控制模式中的代码,以对所述目标业务场景进行功能测试。在一些实施例中,对所述预设的控制模式类库进行封装操作之后,还包括:根据封装后的控制模式类库,获取并存储树形结构图,其中,每个控制模式类库中的控制模式类对应的页面控件对象为所述树形结构中的节点。在一些实施例中,在获取并存储树形结构图之后,所述方法还包括:接收目标页面控件对象的查看请权;根据所述查看请权,展示所述目标页面控件对象对应的属性选项和方法选项;如果所述属性选项或者方法选项被选中,展示被选中的选项对应的控制类型属性或控制模式。根据本申请的另一方面,提供一种UI自动化测试装置,所述装置包括:特定控件对象确定模块,用于确定目标业务场景中的特定页面控件对象,其中,所述目标业务场景包括多个页面控件对象,所述特定页面控件对象为基于预设的控制模式类库对所述目标业务场景进行测试时不可识别的页面控件对象;控制模式类库封装模块,用于根据所述特定页面控件对象,对所述预设的控制模式类库进行封装操作,以在所述预设的控制模式类库中添加所述特定页面控件对象对应的控制模式类库;业务场景测试模块,用于根据所述封装后的控制模式类库,对所述目标业务场景进行测试。在一些实施例中,所述特定控件对象确定模块包括:流程录制模块,用于根据所述预设的控制模式类库,对所述目标业务场景进行测试并对所述目标业务场景的测试流程进行录制操作;控件对象确定子模块,用于根据所述录制操作的结果确定是否存在所述特定页面控件对象。在一些实施例中,所述控制模式类库封装模块包括:第一代码获取模块,用于获取所述特定页面控件对象的控制模式对应的编辑代码;第一代码添加模块,用于将所述控制模式对应的编辑代码,添加至所述预设的控制模式类库中与所述特定页面控件对象同种类型的页面控件对象的控制模式中;类库封装子模块,用于将添加所述编辑代码后的所述预设的控制模式类库,作为封装后的控制模式类库。在一些实施例中,所述装置还包括:第二代码获取模块,用于在对所述预设的控制模式类库进行封装操作时,获取所述用户侧上传的单点性能检测方法对应的代码,其中,所述单点性能检测方法至少包括以下之一:检测报文上下行流量的方法、获取服务端与数据库交互次数的方法和检测所述数据库的aql性能;第二代码添加模块,用于将所述单点性能检测方法对应的代码,添加至所述预设的控制模式类库,以在根据所述封装后的控制模式类库对所述目标业务场景进行测试时,获取所述目标业务场景的单点性能。在一些实施例中,所述业务场景测试模块包括:控制模式查找模块,用于从所述封装后的控制模式类库中,查找出与所述目标业务场景的页面控件对象所对应的控制模式;代码执行模块,用于执行查找到的所述控制模式中的代码,以对所述目标业务场景进行功能测试。在一些实施例中,所述装置还包括:树形图存储模块,用于根据封装后的控制模式类库,获取并存储树形结构图,其中,每个控制模式类库中的控制模式类对应的页面控件对象为所述树形结构中的节点。在一些实施例中,所述装置还包括:请权接收模块,用于接收目标页面控件对象的查看请权;展示模块,用于根据所述查看请权,展示所述目标页面控件对象对应的属性选项和方法选项;如果所述属性选项或者方法选项被选中,展示被选中的选项对应的控制类型属性或控制模式。根据本申请的另一个方面,提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如上述UI自动化测试方法中的一个或多个方法的步骤。根据本申请的另一个方面,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述UI自动本文档来自技高网...

【技术保护点】
1.一种UI自动化测试方法,其特征在于,所述方法包括:确定目标业务场景中的特定页面控件对象,其中,所述目标业务场景包括多个页面控件对象,所述特定页面控件对象为基于预设的控制模式类库对所述目标业务场景进行测试时不可识别的页面控件对象;根据所述特定页面控件对象,对所述预设的控制模式类库进行封装操作,以在所述预设的控制模式类库中添加所述特定页面控件对象对应的控制模式类库;根据所述封装后的控制模式类库,对所述目标业务场景进行测试。

【技术特征摘要】
1.一种UI自动化测试方法,其特征在于,所述方法包括:确定目标业务场景中的特定页面控件对象,其中,所述目标业务场景包括多个页面控件对象,所述特定页面控件对象为基于预设的控制模式类库对所述目标业务场景进行测试时不可识别的页面控件对象;根据所述特定页面控件对象,对所述预设的控制模式类库进行封装操作,以在所述预设的控制模式类库中添加所述特定页面控件对象对应的控制模式类库;根据所述封装后的控制模式类库,对所述目标业务场景进行测试。2.根据权利要求1所述的方法,其特征在于,所述确定目标业务场景中的特定页面控件对象包括:根据所述预设的控制模式类库,对所述目标业务场景进行测试并对所述目标业务场景的测试流程进行录制操作;根据所述录制操作的结果确定是否存在所述特定页面控件对象。3.根据权利要求1所述的方法,其特征在于,所述根据所述特定页面控件对象,对所述预设的控制模式类库进行封装操作的步骤,包括:获取所述特定页面控件对象的控制模式对应的编辑代码;将所述控制模式对应的编辑代码,添加至所述预设的控制模式类库中与所述特定页面控件对象同种类型的页面控件对象的控制模式中;将添加所述编辑代码后的所述预设的控制模式类库,作为封装后的控制模式类库。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在对所述预设的控制模式类库进行封装操作时,获取所述用户侧上传的单点性能检测方法对应的代码,其中,所述单点性能检测方法至少包括以下之一:检测报文上下行流量的方法、获取服务端与数据库交互次数的方法和检测所述数据库的aql性能;将所述单点性能检测方法对应的代码,添加至所述预设的控制模式类库,以在根据所述封装后的控制模式类库对所述目标业务场景进行测试时,获取所述目标业务场景的单点性能。5.根据权利要求1所述的方法,其特征在于,根据所述封装后的控制模式类库,对所述目标业务场景进行测试的步骤,包括:从所述封装后的控制模式类库中,查找出与所述目标业务场景的页面控件对象所对应的控制模式;执行查找到的所述控制模式中的代码,以对所述目标业务场景进行功能测试。6.根据权利要求1所述的方法,其特征在于,对所述预设的控制模式类库进行封装操作之后,还包括:根据封装后的控制模式类库,获取并存储树形结构图,其中,每个控制模式类库中的控制模式类对应的页面控件对象为所述树形结构中的节点。7.根据权利要求6所述的方法,其特征在于,在获取并存储树形结构图之后,所述方法还包括:接收目标页面控件对象的查看请权;根据所述查看请权,展示所述目标页面控件对象对应的属性选项和方法选项;如果所述属性选项或者方法选项被选中,展示被选中的选项对应的控制类型属性或控制模式。8.一种UI自动化测试装置,其特征在于,所述装置包括:特定控件对象确定模块,用于确定目标业务场景中的特定页面控件对象,其中,所述目标业务场景包括多个页面控件对象,所述特定页面控件对象为基于预设的控制模式类库对所述目标业务场景进行测试时不可识别的页面控件对象;控制模式类库封装模块,用于根据所述特...

【专利技术属性】
技术研发人员:王涛
申请(专利权)人:北京金山云网络技术有限公司北京金山云科技有限公司
类型:发明
国别省市:北京,11

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

1