CN111552627A - 用户界面测试方法、装置、存储介质及计算机设备 - Google Patents
用户界面测试方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN111552627A CN111552627A CN202010183897.1A CN202010183897A CN111552627A CN 111552627 A CN111552627 A CN 111552627A CN 202010183897 A CN202010183897 A CN 202010183897A CN 111552627 A CN111552627 A CN 111552627A
- Authority
- CN
- China
- Prior art keywords
- user interface
- tested
- tree
- page element
- page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 126
- 238000013515 script Methods 0.000 claims abstract description 70
- 230000003068 static effect Effects 0.000 claims abstract description 53
- 238000005259 measurement Methods 0.000 claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 28
- 230000009471 action Effects 0.000 claims description 21
- 230000002194 synthesizing effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例提供一种用户界面测试方法、装置、存储介质及计算机设备,用户界面测试方法包括:接收终端设备发送的测试请求,测试请求包括待测试用户界面的标识;根据待测试用户界面的标识获取待测试用户界面的源代码及配置文件;根据待测试用户界面的源代码确定待测试用户界面中的各个页面元素以及生成用于表征各个页面元素之间逻辑关系的逻辑关系树;根据配置文件获取待测试用户界面的各个页面元素的静态位置信息,根据各个页面元素的静态位置信息及逻辑关系树生成元素树;对元素树进行深度遍历,生成与待测试用户界面对应的测量脚本;根据测量脚本对待测试用户界面进行测量。上述方法能够自动编写测量脚本,减少用户界面测试的工作量。
Description
技术领域
本发明涉及研发管理领域,具体涉及一种用户界面测试方法、装置、存储介质及计算机设备。
背景技术
用户界面(User Interface,简称UI)是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。用户界面的目的在于使得用户能够方便有效率地去操作硬件以达成双向之交互,完成所希望借助硬件完成之工作。用户界面使用广泛,随着移动通信以及电子商务等技术的发展,装载于移动终端中的应用越来越多,例如外卖应用,即时通信应用等等,不同的应用的用户界面一般包含有适量的页面元素以实现应用之操作功能。在软件产品开发阶段,需要对其用户界面中的页面元素进行测试。
现有UI页面元素的测试方式主要包括人工点击页面元素进行测试的手动测试方式以及通过编写自动化脚本进行自动化测试的方式。现有自动化测试方式中,整个测试流程通过编写一个自动化测试脚本实现,在每个页面元素测试时,均需手动配置页面元素定位代码以及测试代码,因此,现有的用户界面页面元素测试方法操作繁琐、工作量大。
发明内容
本发明实施例提供一种用户界面测试方法、装置、存储介质及计算机设备,用于解决现有技术中的用户界面页面元素测试方法操作繁琐、工作量大的问题。
第一方面,本发明实施例提供一种用户界面测试方法,所述方法包括:
接收终端设备发送的测试请求,所述测试请求用于指示对待测试用户界面进行用户界面测试,所述测试请求包括所述待测试用户界面的标识;
根据所述待测试用户界面的标识获取所述待测试用户界面的源代码及配置文件,其中,所述配置文件为xml格式的结构化文件;
根据所述待测试用户界面的源代码确定所述待测试用户界面中的各个页面元素以及生成用于表征所述各个页面元素之间逻辑关系的逻辑关系树;
根据所述配置文件获取所述待测试用户界面的各个页面元素的静态位置信息,根据所述各个页面元素的静态位置信息及所述逻辑关系树生成元素树;
对所述元素树进行深度遍历,生成与所述待测试用户界面对应的测量脚本;
根据所述测量脚本,对所述待测试用户界面进行测量,生成并显示测量结果。
可选地,所述获取所述各个页面元素中每个页面元素的静态位置信息,包括:
调用Accessibility程序接口,根据每个所述页面元素的名称或者标识或者可扩展标记语言路径,从所述配置文件中查找到所述待测试用户界面中每个所述页面元素的静态位置信息。
可选地,所述根据各个所述页面元素的静态位置信息及所述逻辑关系树生成元素树,包括:
根据每个所述页面元素的标识,在所述逻辑关系树上查找到每个所述页面元素对应的节点,并将每个所述页面元素的静态位置信息添加至所述逻辑关系树中对应的节点内,以生成所述元素树,其中,所述逻辑关系树中包括多个与所述各个页面元素一一对应的节点,且每个节点的节点标识与所对应的页面元素的标识相同。
可选地,所述对所述元素树进行深度遍历,生成与所述测量请求对应的测量脚本之前,所述方法还包括:
建立动作模板库,所述动作模板库存储有多个执行脚本模板,每个所述执行脚本模板对应至少一个页面元素。
可选地,所述对所述元素树进行深度遍历,生成与所述测量请求对应的测量脚本,包括:
对所述元素树进行深度遍历,获取所述元素树中每个页面元素对应的静态位置信息及在所述动作模板库中提取所述元素树中每个页面元素对应的执行脚本模板;
将每个页面元素对应的静态位置信息按照预设规则添加至对应的执行脚本模板中,生成每个页面元素对应的元素级测试脚本;
根据对所述元素树中页面元素的遍历顺序,对所述元素树中各个页面元素的对应的元素级测试脚本进行合成,生成所述待测试用户界面对应的测量脚本。
第二方面,本发明实施例提供了一种用户界面测试装置,包括:
接收模块,用于接收终端设备发送的测试请求,所述测试请求用于指示对待测试用户界面进行用户界面测试,所述测试请求包括所述待测试用户界面的标识;
获取模块,用于根据所述待测试用户界面的标识获取所述待测试用户界面的源代码及配置文件,其中,所述配置文件为xml格式的结构化文件;
第一生成模块,用于根据所述待测试用户界面的源代码确定所述待测试用户界面中的各个页面元素以及生成用于表征所述各个页面元素之间逻辑关系的逻辑关系树;
第二生成模块,用于根据所述配置文件获取所述待测试用户界面的各个页面元素的静态位置信息,根据所述各个页面元素的静态位置信息及所述逻辑关系树生成元素树;
第三生成模块,对所述元素树进行深度遍历,生成与所述待测试用户界面对应的测量脚本;及
测量模块,用于根据所述测量脚本,对所述待测试用户界面进行测量,生成并显示测量结果。
可选地,所述第二生成模块包括:
定位单元,用于调用Accessibility程序接口,根据每个所述页面元素的名称或者标识或者可扩展标记语言路径,从所述配置文件中查找到与所述待测试用户界面的每个所述页面元素的静态位置信息。
可选地,所述第二生成模块,还包括:
查找单元,用于根据每个所述页面元素的标识,在所述逻辑关系树上查找到每个所述页面元素对应的节点,并将每个所述页面元素的静态位置信息添加至所述逻辑关系树中对应的节点内,以生成所述元素树,其中,所述逻辑关系树中包括多个与所述各个页面元素一一对应的节点,且每个节点的节点标识与所对应的页面元素的标识相同。
第三方面,本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述方法。
第四方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,所述程序指令被处理器加载并执行时实现上述方法的步骤。
可以理解,本发明实施例确定待测试用户界面之后,再根据待测试用户界面中各个页面元素的静态位置信息和各个页面元素的预设逻辑关系,确定测试请求对应的测试脚本,最后根据测试脚本,进行待测试用户界面的测试使得软件开发人员不需要手工编辑测试脚本,就可以在自动对待测试用户界面进行测试,大大提高了用户界面测试效率,也节约了测试软件开发的大量资源。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1为本发明实施例提供的一种用户界面测试方法的流程图;
图2为本发明实施例提供的一种示例性的逻辑关系树;
图3为本发明实施例提供的另一种示例性的逻辑关系树;
图4为本发明实施例提供的一种用户界面测试装置的示意框图;
图5为本发明实施例提供的一种计算机设备的示意框图。
具体实施例
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
具体实现中,本申请实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端设备。然而,应当理解的是,终端设备可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
终端设备支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
可以在终端设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
请参阅附图1,本发明实施例提供一种用户界面测试方法,该方法应用于用户界面测试装置中,用户界面测试装置可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、包括以上任何系统或设备的分布式计算环境等等。用户界面测试方法包括:
步骤S01:接收终端设备发送的测试请求,测试请求用于指示对待测试用户界面进行用户界面测试,测试请求包括待测试用户界面的标识。
步骤S02:根据待测试用户界面的标识获取待测试用户界面的源代码及配置文件,其中,配置文件为xml格式的结构化文件。
步骤S03:根据待测试用户界面的源代码确定待测试用户界面中的各个页面元素以及生成用于表征各个页面元素之间逻辑关系的逻辑关系树。
步骤S04:根据配置文件获取待测试用户界面的各个页面元素的静态位置信息,根据各个页面元素的静态位置信息及逻辑关系树生成元素树。
步骤S05:对元素树进行深度遍历,生成与待测试用户界面对应的测量脚本。
步骤S06:根据测量脚本,对待测试用户界面进行测量,生成并显示测量结果。
可以理解,本发明实施例确定待测试用户界面之后,再根据待测试用户界面中各个页面元素的静态位置信息和各个页面元素的预设逻辑关系,确定测试请求对应的测试脚本,最后根据测试脚本,进行待测试用户界面的测试使得软件开发人员不需要手工编辑测试脚本,就可以在自动对待测试用户界面进行测试,大大提高了用户界面测试效率,也节约了测试软件开发的大量资源。
下面再次结合附图1对本实施例提供的用户界面测试方法的具体技术方案进行详细的说明。
针对步骤S01:接收终端设备发送的测试请求,测试请求用于指示对待测试用户界面进行用户界面测试,测试请求包括待测试用户界面的标识。
其中,用户界面测试装置根据待测试用户界面的标识确定所要测试的对象。用户界面测试装置可以先主动向终端设备发起测试指令,使得终端设备根据测试指令生成测试请求,也可以是用户界面测试装置每隔固定周期判断是否有接收到来自终端设备的测试请求,本发明对此不做限定。
其中,待测试用户界面具体为待进行交互功能测试的用户界面,待测试用户界面可以是应用中或网页中的用户界面,例如为电商网站、社交网站等网页或合同管理系统、邮箱等应用中的用户界面。
针对步骤S02:根据待测试用户界面的标识获取待测试用户界面的源代码及配置文件,其中,配置文件为xml格式的结构化文件。
源代码及配置文件通常位于待测试用户界面所对应的应用软件的数据包内,如果是对安卓(Android)操作系统下的应用软件的用户界面进行测试,上述数据包往往是指对应安卓应用的安卓数据包(Android Package,简称APK)。配置文件包括待测试用户界面中各个页面元素的配置信息,即保存了使用哪些页面元素、将页面元素绘制在界面中的哪个位置等配置信息,通常,配置文件是用xml(可扩展标记语言)格式的结构化文件通过节点来描述页面元素的配置信息。待测试用户界面的源代码定义了待测试用户界面的编写设置规则,通过待测试用户界面的源代码可以识别待测试用户界面的各个页面元素,从而获得各个页面元素的名称、标识和/或可扩展标记语言路径等信息。例如,可以根据源代码中带有“href”关键字的内容识别出超链接的页面元素信息。同时,还可以根据待测试用户界面的编写设置规则确定待测试用户界面中各个页面元素之间的逻辑关系。
其中,页面元素具体指的是可进行人机交互的页面元素(如输入框,按钮,超链接,上传控件,翻页控件,单选复选框等)。该些页面元素为通常进行页面操作时所操作的页面元素。本发明实施例对于页面元素的形式不做具体限制。
针对步骤S03:根据待测试用户界面的源代码确定待测试用户界面中的各个页面元素以及生成用于表征各个页面元素之间逻辑关系的逻辑关系树。
其中,逻辑关系树包括一个根节点和一个或多个分支路径,每个分支路径上至少有一个子节点,逻辑关系树中的每个节点对应一个页面元素,逻辑关系图中的每个节点的节点标识与其所对应的页面元素的标识或名称一致。
具体地,以待测试用户界面为登陆界面为例,对于登录界面,由于具有用户名输入框,密码输入框,下次自动登录,忘记密码按钮和登录按钮,因此可具有如附图2所示的逻辑关系树;当然,也可具有如附图3所示的逻辑关系树。
以附图2为例,图2所示的逻辑关系树反映了登录界面中各个页面元素的传承依赖属性,并由此依赖属性传递路由事件。图2所示的逻辑关系树包括5个节点,节点A“用户名输入框”,节点B“密码输入框”,节点C“下次自动登录”,节点D“忘记密码按钮”和节点E“登录按钮”,其中节点A没有父节点,因此节点A为根节点。在测试的过程中,在节点A测试通过之后,再进行节点B的测试,然后进行节点C或节点D或节点E的测试(节点C,节点D和节点E之间具有并列关系)。
另外,需要说明的是,本实施例的图2和图3仅反映了对于登录界面的两种逻辑关系,在实际应用中,用户名输入框和密码输入框的先后顺序还可以调换,或用户名输入框和密码输入框还可具有并列逻辑关系。本实施例对上述逻辑关系的顺序不作任何限定,任何符合客观特性的逻辑关系均应落入本发明实施例的保护范围。
针对步骤S04:根据配置文件获取待测试用户界面的各个页面元素的静态位置信息,根据各个页面元素的静态位置信息及逻辑关系树生成元素树;
进一步地,获取各个页面元素中每个页面元素的静态位置信息,包括:
S041:调用Accessibility程序接口,根据每个页面元素的名称或者标识或者可扩展标记语言路径,从配置文件中查找到与待测试用户界面的每个页面元素的静态位置信息。
其中,Accessibility是一种以程序方式访问页面元素信息或操作这些页面元素的功能服务,在本发明实施例中,用户界面测试装置可以基于名称或者标识或者可扩展标记语言路径,然后调用Accessibility访问待测试用户界面并获取其中页面元素的静态位置信息,页面元素的静态位置信息例如可以为坐标参数等。
其中,android(安卓)版本的页面元素通常根据可扩展标记语言路径(即XPa th)获取其中页面元素的静态位置信息,XPath是XML(eXtensible Markup Lan guage)Path的简称。在实际应用中,也可以将常用的或者与待测用户界面对应的定位方式设置在配置文件中。
其中,页面元素的名称例如为按钮的名称,例如“注册”、“登录”、“确认下单”、“加购物车”等。页面元素的标识可以是分配唯一的标识(即ID,identification)。
进一步地,根据各个页面元素的静态位置信息及逻辑关系树生成元素树,包括:
S042:根据每个页面元素的标识,在逻辑关系树上查找到每个页面元素对应的节点,并将每个页面元素的静态位置信息添加至逻辑关系树中对应的节点内,以生成元素树,其中,逻辑关系树中包括多个与各个页面元素一一对应的节点,且每个节点的节点标识与所对应的页面元素的标识相同。
同样的,元素树包括一个根节点和一个或多个分支路径,每个分支路径上至少有一个子节点,元素树中的每个节点对应一个页面元素,元素树中的每个节点内存储有所对应得页面元素的静态位置信息。
可以理解,通过步骤S042,可生成添加有页面元素的静态位置信息的元素树,这样,在测试过程中,便可获知操作页面对象的数据,以及页面对象的执行位置。这样,在根据测试请求,获取待测试用户界面之后,再根据待测试用户界面中各个页面元素的静态位置信息和各个页面元素的逻辑关系,确定测试请求对应的测试脚本,最后根据测试脚本,进行待测试用户界面的测试,并显示测试结果的方式可以提高用户界面测试的效率;同时,本发明实施例根据页面元素的静态位置信息和逻辑关系生成测试脚本的方式,由于可以在逻辑关系树中添加各页面元素的静态位置信息,这样,在测试结果为不通过时,便可通过查看测试中断点对应的静态位置信息,得到问题页面元素,实现对用户界面的进一步优化。另外,本发明实施例还可以减少手工编写脚本的比例,降低错误率。
针对执行步骤S05,对元素树进行深度遍历,生成与待测试用户界面对应的测量脚本。
具体地,本发明实施例在对元素树进行深度遍历,生成与测量请求对应的测量脚本之前,用户界面测试方法还包括:
建立动作模板库,动作模板库存储有多个用于操作页面元素的动作参数,动作参数包括执行脚本模板,其中每个执行脚本模板对应一个或多个页面元素或者一种页面元素类型。
具体地,在实际应用中,对软件进行测试之前,软件开发人员首先建立动作模板库,用于存储操作多个页面元素的动作参数,动作参数包括标识信息以及与页面元素对应的执行脚本模板,标识信息可以是执行脚本模板所对应的页面元素的标识或者类型标识信息,可以理解,通过设置动作模板库,从而节省了大量编写脚本的工作。
进一步地,步骤S05,对元素树进行遍历,生成与测量请求对应的测量脚本,具体包括:
步骤S051:对元素树进行深度遍历,获取元素树中每个页面元素对应的静态位置信息及在动作模板库中提取元素树中每个页面元素对应的执行脚本模板;
其中,所谓深度遍历为基于深度优先规则进行遍历,即按照根节点对应的页面元素指向的逻辑路径逐级访问各个子节点,直至访问至最底层的子节点后再返回上一级节点,直到元素树中所有和根节点有路径相通的子节点都被访问到,深度遍历为本领域技术人员公知常识,在此不详细描述。
步骤S052:将每个页面元素对应的静态位置信息按照预设规则添加至对应的执行脚本模板中,生成每个页面元素对应的元素级测试脚本。
步骤S053:根据对元素树中页面元素的遍历顺序,对元素树中各个页面元素的对应的元素级测试脚本进行合成,生成测量请求对应的测量脚本。
其中,测试脚本为用于对待测试用户界面进行测试的脚本程序,利用这些脚本程序可以执行对待测试用户界面的测试流程,可以在待测试用户界面上模拟键盘输入、鼠标点击等实际操作。
可以理解的是,利用本发明实施例中的用户界面测试方法可以通过建立动作模板库节省测试脚本的编写时间,生成的测试脚本可以由测试工具解析并执行,无需软件开发人员手工修改或者编辑,减少了编程过程中出现的人为错误,大大提高了软件测试过程中的软件测试效率;此外,动作模板库针对具体的动作而不是测试用例,大大提高了动作执行脚本的共享性,同时提高了脚本的可维护性和可管理性。
可选地,生成测量结果之后,用户界面测试方法还包括:
存储测试结果,并将测试脚本与待测试用户界面的标识建立关联关系。
请参阅附图4,本发明实施例提供一种用户界面测试装置1,包括:
接收模块11,用于接收终端设备发送的测试请求,测试请求用于指示对待测试用户界面进行用户界面测试,测试请求包括待测试用户界面的标识;
获取模块12,用于根据待测试用户界面的标识获取待测试用户界面的源代码及配置文件,其中,配置文件为xml格式的结构化文件;
第一生成模块13,用于根据待测试用户界面的源代码确定待测试用户界面中的各个页面元素以及生成用于表征各个页面元素之间逻辑关系的逻辑关系树;
第二生成模块14,用于根据配置文件获取待测试用户界面的各个页面元素的静态位置信息,根据各个页面元素的静态位置信息及逻辑关系树生成元素树;
第三生成模块15,对元素树进行深度遍历,生成与待测试用户界面对应的测量脚本;及
测量模块16,用于根据测量脚本,对待测试用户界面进行测量,生成并显示测量结果。
可选地,第二生成模块14包括:
定位单元,用于调用Accessibility程序接口,根据每个页面元素的名称或者标识或者可扩展标记语言路径,从配置文件中查找到与待测试用户界面的每个页面元素的静态位置信息。
可选地,第二生成模块14还包括:
查找单元,用于根据每个页面元素的标识,在逻辑关系树上查找到每个页面元素对应的节点,并将每个页面元素的静态位置信息添加至逻辑关系树中对应的节点内,以生成元素树,其中,逻辑关系树中包括多个与各个页面元素一一对应的节点,且每个节点的节点标识与所对应的页面元素的标识相同。
可选地,用户界面测试装置1还包括:
建立模块,用于建立动作模板库,动作模板库存储有多个执行脚本模板,每个执行脚本模板对应至少一个页面元素。
可选地,第三生成模块15还包括:
深度遍历单元,用于对元素树进行深度遍历,获取元素树中每个页面元素对应的静态位置信息及在动作模板库中提取元素树中每个页面元素对应的执行脚本模板;
添加单元,用于将每个页面元素对应的静态位置信息按照预设规则添加至对应的执行脚本模板中,生成每个页面元素对应的元素级测试脚本;及
合成单元,用于根据对元素树中页面元素的遍历顺序,对元素树中各个页面元素的对应的元素级测试脚本进行合成,生成待测试用户界面对应的测量脚本。
应该知道,为避免重复,本发明实施例中提供的用户界面测试装置中的进一步的细节以及其它实现方式可以参考本发明中其它实施例(例如方法实施例)中的相应内容。
本发明实施例提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行实现实施例中的用户界面测试方法。
请参阅附图5,本发明实施例提供了一种计算机设备,该实施例的计算机设备50包括:处理器51、存储器52以及存储在存储器52中并可在处理器51上运行的计算机程序53,该计算机程序53被处理器51执行时实现实施例中的用户界面测试方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器51执行时实现实施例中用户界面测试装置1中各模型/单元的功能,为避免重复,此处不一一赘述。
计算机设备50可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备50可包括但不仅限于处理器51、存储器52。本领域技术人员可以理解,图5仅仅是计算机设备50的示例,并不构成对计算机设备50的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器51可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器52可以是计算机设备50的内部存储单元,例如计算机设备50的硬盘或内存。存储器52也可以是计算机设备50的外部存储设备,例如计算机设备50上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器52还可以既包括计算机设备50的内部存储单元也包括外部存储设备。存储器52用于存储计算机程序以及计算机设备所需的其它程序和数据。存储器52还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种用户界面测试方法,其特征在于,所述方法包括:
接收终端设备发送的测试请求,所述测试请求用于指示对待测试用户界面进行用户界面测试,所述测试请求包括所述待测试用户界面的标识;
根据所述待测试用户界面的标识获取所述待测试用户界面的源代码及配置文件,其中,所述配置文件为xml格式的结构化文件;
根据所述待测试用户界面的源代码确定所述待测试用户界面中的各个页面元素以及生成用于表征所述各个页面元素之间逻辑关系的逻辑关系树;
根据所述配置文件获取所述待测试用户界面的各个页面元素的静态位置信息,根据所述各个页面元素的静态位置信息及所述逻辑关系树生成元素树;
对所述元素树进行深度遍历,生成与所述待测试用户界面对应的测量脚本;
根据所述测量脚本,对所述待测试用户界面进行测量,生成并显示测量结果。
2.如权利要求1所述的方法,其特征在于,所述根据所述配置文件获取所述待测试用户界面的各个页面元素的静态位置信息,包括:
调用Accessibility程序接口,根据每个所述页面元素的名称或者标识或者可扩展标记语言路径,从所述配置文件中查找到所述待测试用户界面中每个所述页面元素的静态位置信息。
3.如权利要求2所述的方法,其特征在于,所述根据各个所述页面元素的静态位置信息及所述逻辑关系树生成元素树,包括:
根据每个所述页面元素的标识,在所述逻辑关系树上查找到每个所述页面元素对应的节点,并将每个所述页面元素的静态位置信息添加至所述逻辑关系树中对应的节点内,以生成所述元素树,其中,所述逻辑关系树中包括多个与所述各个页面元素一一对应的节点,且每个所述节点的节点标识与所对应的页面元素的标识相同。
4.如权利要求1-3任一项所述的方法,其特征在于,所述对所述元素树进行深度遍历,生成与所述测量请求对应的测量脚本之前,所述方法还包括:
建立动作模板库,所述动作模板库存储有多个执行脚本模板,每个所述执行脚本模板对应至少一个页面元素。
5.如权利要求4所述的方法,其特征在于,所述对所述元素树进行深度遍历,生成与所述测量请求对应的测量脚本,包括:
对所述元素树进行深度遍历,获取所述元素树中每个页面元素对应的静态位置信息及在所述动作模板库中提取所述元素树中每个页面元素对应的执行脚本模板;
将每个页面元素对应的静态位置信息按照预设规则添加至对应的执行脚本模板中,生成每个页面元素对应的元素级测试脚本;
根据对所述元素树中页面元素的遍历顺序,对所述元素树中各个页面元素的对应的元素级测试脚本进行合成,生成所述待测试用户界面对应的测量脚本。
6.一种用户界面测试装置,其特征在于,包括:
接收模块,用于接收终端设备发送的测试请求,所述测试请求用于指示对待测试用户界面进行用户界面测试,所述测试请求包括所述待测试用户界面的标识;
获取模块,用于根据所述待测试用户界面的标识获取所述待测试用户界面的源代码及配置文件,其中,所述配置文件为xml格式的结构化文件;
第一生成模块,用于根据所述待测试用户界面的源代码确定所述待测试用户界面中的各个页面元素以及生成用于表征所述各个页面元素之间逻辑关系的逻辑关系树;
第二生成模块,用于根据所述配置文件获取所述待测试用户界面的各个页面元素的静态位置信息,根据所述各个页面元素的静态位置信息及所述逻辑关系树生成元素树;
第三生成模块,对所述元素树进行深度遍历,生成与所述待测试用户界面对应的测量脚本;及
测量模块,用于根据所述测量脚本,对所述待测试用户界面进行测量,生成并显示测量结果。
7.如权利要求6所述的用户界面测试装置,其特征在于,所述第二生成模块包括:
定位单元,用于调用Accessibility程序接口,根据每个所述页面元素的名称或者标识或者可扩展标记语言路径,从所述配置文件中查找到与所述待测试用户界面的每个所述页面元素的静态位置信息。
8.如权利要求7所述的用户界面测试装置,其特征在于,所述第二生成模块,还包括:
查找单元,用于根据每个所述页面元素的标识,在所述逻辑关系树上查找到每个所述页面元素对应的节点,并将每个所述页面元素的静态位置信息添加至所述逻辑关系树中对应的节点内,以生成所述元素树,其中,所述逻辑关系树中包括多个与所述各个页面元素一一对应的节点,且每个所述节点的节点标识与所对应的页面元素的标识相同。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至5中任意一项所述的方法。
10.一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,其特征在于:所述程序指令被处理器加载并执行时实现权利要求1至5任意一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010183897.1A CN111552627A (zh) | 2020-03-16 | 2020-03-16 | 用户界面测试方法、装置、存储介质及计算机设备 |
PCT/CN2020/118917 WO2021184725A1 (zh) | 2020-03-16 | 2020-09-29 | 用户界面测试方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010183897.1A CN111552627A (zh) | 2020-03-16 | 2020-03-16 | 用户界面测试方法、装置、存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111552627A true CN111552627A (zh) | 2020-08-18 |
Family
ID=71998099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010183897.1A Pending CN111552627A (zh) | 2020-03-16 | 2020-03-16 | 用户界面测试方法、装置、存储介质及计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111552627A (zh) |
WO (1) | WO2021184725A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000575A (zh) * | 2020-08-21 | 2020-11-27 | 探探文化发展(北京)有限公司 | 一种应用的界面显示测试方法、系统、设备及存储介质 |
CN112214404A (zh) * | 2020-09-27 | 2021-01-12 | 航天信息股份有限公司 | 移动应用的测试方法、装置、存储介质及电子设备 |
CN113127354A (zh) * | 2021-04-21 | 2021-07-16 | 武汉思普崚技术有限公司 | 基于Web UI的自动化测试方法、装置、设备及存储介质 |
WO2021184725A1 (zh) * | 2020-03-16 | 2021-09-23 | 平安科技(深圳)有限公司 | 用户界面测试方法、装置、存储介质及计算机设备 |
CN113568843A (zh) * | 2021-09-18 | 2021-10-29 | 深圳市明源云科技有限公司 | Html元素的处理方法、装置和存储介质 |
CN113672518A (zh) * | 2021-09-07 | 2021-11-19 | 京东科技控股股份有限公司 | 一种测试用例构建方法及相关设备 |
CN113821437A (zh) * | 2021-09-23 | 2021-12-21 | 北京光启元数字科技有限公司 | 一种页面测试方法、装置、设备及介质 |
CN114416083A (zh) * | 2021-12-30 | 2022-04-29 | 北京五八信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113918460A (zh) * | 2021-10-15 | 2022-01-11 | 京东科技信息技术有限公司 | 页面测试方法、装置、设备和介质 |
CN113836037B (zh) * | 2021-10-21 | 2024-04-05 | 中国平安人寿保险股份有限公司 | 界面交互的测试方法、装置、设备及存储介质 |
CN113778905B (zh) * | 2021-11-10 | 2022-02-08 | 腾讯科技(深圳)有限公司 | Ui设计验收方法、装置、设备及存储介质 |
CN114968687A (zh) * | 2022-06-09 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 遍历测试方法、装置、电子设备、程序产品以及存储介质 |
CN115168193B (zh) * | 2022-06-24 | 2023-02-24 | 广州掌动智能科技有限公司 | 软件性能测试和调优系统及其控制方法 |
CN115268719B (zh) * | 2022-09-30 | 2022-12-20 | 北京弘玑信息技术有限公司 | 一种定位界面上目标元素的方法、介质及电子设备 |
CN116094973B (zh) * | 2023-03-06 | 2023-06-16 | 深圳市华曦达科技股份有限公司 | 用于用户端设备广域网管理协议的测试方法和装置 |
CN116594916B (zh) * | 2023-07-17 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 页面控件定位方法、装置及存储介质 |
CN117407888B (zh) * | 2023-12-14 | 2024-03-15 | 远江盛邦(北京)网络安全科技股份有限公司 | 单页面应用程序页面模糊测试方法、装置及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8522212B1 (en) * | 2010-07-21 | 2013-08-27 | Google Inc. | Auto generation of test utility bots using compile time heuristics of user interface source code |
CN103455414A (zh) * | 2012-06-04 | 2013-12-18 | 腾讯科技(深圳)有限公司 | 获取控件的逻辑位置的方法及装置 |
CN103729285A (zh) * | 2012-10-11 | 2014-04-16 | 腾讯科技(深圳)有限公司 | 一种网页测试方法、设备及系统 |
CN106649100A (zh) * | 2016-11-16 | 2017-05-10 | 福建天晴数码有限公司 | 一种自动化测试方法及系统 |
CN107861868A (zh) * | 2017-10-31 | 2018-03-30 | 郑州云海信息技术有限公司 | 一种提取自动化测试对象的方法及系统 |
CN109669873A (zh) * | 2018-12-27 | 2019-04-23 | 拉扎斯网络科技(上海)有限公司 | 用户界面自动测试方法及装置、电子设备及存储介质 |
CN110297758A (zh) * | 2019-05-20 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 用户界面自动化测试方法、装置及计算机可读存储介质 |
CN110781091A (zh) * | 2019-10-31 | 2020-02-11 | 北京奇艺世纪科技有限公司 | 应用程序的测试方法、装置、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9274932B2 (en) * | 2011-05-12 | 2016-03-01 | Webtrends, Inc. | Graphical-user-interface-based method and system for designing and configuring web-site testing and analysis |
CN109471793B (zh) * | 2018-09-29 | 2021-08-13 | 天津大学 | 一种基于深度学习的网页自动化测试缺陷定位方法 |
CN111552627A (zh) * | 2020-03-16 | 2020-08-18 | 平安科技(深圳)有限公司 | 用户界面测试方法、装置、存储介质及计算机设备 |
-
2020
- 2020-03-16 CN CN202010183897.1A patent/CN111552627A/zh active Pending
- 2020-09-29 WO PCT/CN2020/118917 patent/WO2021184725A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8522212B1 (en) * | 2010-07-21 | 2013-08-27 | Google Inc. | Auto generation of test utility bots using compile time heuristics of user interface source code |
CN103455414A (zh) * | 2012-06-04 | 2013-12-18 | 腾讯科技(深圳)有限公司 | 获取控件的逻辑位置的方法及装置 |
CN103729285A (zh) * | 2012-10-11 | 2014-04-16 | 腾讯科技(深圳)有限公司 | 一种网页测试方法、设备及系统 |
CN106649100A (zh) * | 2016-11-16 | 2017-05-10 | 福建天晴数码有限公司 | 一种自动化测试方法及系统 |
CN107861868A (zh) * | 2017-10-31 | 2018-03-30 | 郑州云海信息技术有限公司 | 一种提取自动化测试对象的方法及系统 |
CN109669873A (zh) * | 2018-12-27 | 2019-04-23 | 拉扎斯网络科技(上海)有限公司 | 用户界面自动测试方法及装置、电子设备及存储介质 |
CN110297758A (zh) * | 2019-05-20 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 用户界面自动化测试方法、装置及计算机可读存储介质 |
CN110781091A (zh) * | 2019-10-31 | 2020-02-11 | 北京奇艺世纪科技有限公司 | 应用程序的测试方法、装置、电子设备及存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021184725A1 (zh) * | 2020-03-16 | 2021-09-23 | 平安科技(深圳)有限公司 | 用户界面测试方法、装置、存储介质及计算机设备 |
CN112000575A (zh) * | 2020-08-21 | 2020-11-27 | 探探文化发展(北京)有限公司 | 一种应用的界面显示测试方法、系统、设备及存储介质 |
CN112214404A (zh) * | 2020-09-27 | 2021-01-12 | 航天信息股份有限公司 | 移动应用的测试方法、装置、存储介质及电子设备 |
CN113127354A (zh) * | 2021-04-21 | 2021-07-16 | 武汉思普崚技术有限公司 | 基于Web UI的自动化测试方法、装置、设备及存储介质 |
CN113127354B (zh) * | 2021-04-21 | 2023-08-11 | 武汉思普崚技术有限公司 | 基于Web UI的自动化测试方法、装置、设备及存储介质 |
CN113672518A (zh) * | 2021-09-07 | 2021-11-19 | 京东科技控股股份有限公司 | 一种测试用例构建方法及相关设备 |
CN113568843A (zh) * | 2021-09-18 | 2021-10-29 | 深圳市明源云科技有限公司 | Html元素的处理方法、装置和存储介质 |
CN113821437A (zh) * | 2021-09-23 | 2021-12-21 | 北京光启元数字科技有限公司 | 一种页面测试方法、装置、设备及介质 |
CN114416083A (zh) * | 2021-12-30 | 2022-04-29 | 北京五八信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021184725A1 (zh) | 2021-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111552627A (zh) | 用户界面测试方法、装置、存储介质及计算机设备 | |
US10983660B2 (en) | Software robots for programmatically controlling computer programs to perform tasks | |
KR101645052B1 (ko) | 디버깅 파이프라인 | |
US9311213B2 (en) | Module database with tracing options | |
US20100100868A1 (en) | Interactive design environments to visually model, debug and execute resource oriented programs. | |
CN106559438A (zh) | 一种基于目标网络平台的程序上传方法和装置 | |
CN107357593A (zh) | 源代码文件组建方法、装置、电子终端及可读存储介质 | |
CN110955409B (zh) | 在云平台上创建资源的方法和装置 | |
JP2018520452A (ja) | コントロールを使用して汎用プログラムを構成する技法 | |
CN113018870A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN110347577B (zh) | 一种页面测试方法、装置及其设备 | |
CN112256252B (zh) | 接口生成方法、装置、存储介质及电子设备 | |
CN114201382A (zh) | 测试用例生成方法、装置、存储介质和电子设备 | |
CN112181853A (zh) | 程序调试方法、装置及系统 | |
CN109697141B (zh) | 用于可视化测试的方法及装置 | |
KR102644170B1 (ko) | 화면 구성 요소에 대한 선택과 좌표 정보 수집을 지원하는 방법 | |
CN112035425B (zh) | 一种日志的存储方法、装置及计算机系统 | |
CN117270838B (zh) | 一种通用公式脚本的生成方法、装置、设备及介质 | |
CN115543807A (zh) | 一种自动化回归测试方法、装置、计算机设备及存储介质 | |
CN117873482A (zh) | 智能合约的代码验证方法、装置、设备及存储介质 | |
CN116955201A (zh) | 数据开发测试方法、装置、设备及介质 | |
CN116166270A (zh) | 一种xaml文件修正方法、装置、计算机设备及存储介质 | |
CN115437669A (zh) | 一种适用于洗碗机的应用烧录方法及洗碗机 | |
CN112446196A (zh) | 文件修订方法、装置、设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |