CN117806942A - 一种界面元素的处理方法、装置以及存储介质 - Google Patents

一种界面元素的处理方法、装置以及存储介质 Download PDF

Info

Publication number
CN117806942A
CN117806942A CN202211212813.8A CN202211212813A CN117806942A CN 117806942 A CN117806942 A CN 117806942A CN 202211212813 A CN202211212813 A CN 202211212813A CN 117806942 A CN117806942 A CN 117806942A
Authority
CN
China
Prior art keywords
interface
interface element
service platforms
positioning
reference name
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
Application number
CN202211212813.8A
Other languages
English (en)
Inventor
梁哲
陈曦
杨传华
陈娜
曹丰斌
肖旭章
李鑫
刘猛
李想
王振宇
董鹏
李晴
高学亮
张雨竹
蒋伟清
刘占勇
胡中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211212813.8A priority Critical patent/CN117806942A/zh
Publication of CN117806942A publication Critical patent/CN117806942A/zh
Pending legal-status Critical Current

Links

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种界面元素的处理方法、装置以及存储介质。通过获取界面元素;然后适配业务平台规则将界面元素转换为元素标识符;并根据元素标识符适配到统一的定位接口;进而获取针对于界面元素配置的元素引用名映射表,并通过目标定位接口按照元素引用名映射表对多个业务平台执行界面测试用例。从而实现适配于多种业务平台的界面元素测试过程,由于采用统一的转换规则进行元素标识符的转换,并通过配置统一的定位驱动接口以及元素引用名映射表的快速定位,支持界面测试用例的执行,提高了不同业务平台进行界面元素位置测试的效率。

Description

一种界面元素的处理方法、装置以及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种界面元素的处理方法、装置以及存储介质。
背景技术
随着互联网技术的迅速发展,人们对交互形式的要求越来越高。而丰富的界面元素即为实现各种交互形式的基础,如何对界面元素进行界面位置的验证测试成为保证交互准确性的关键。
一般,针对界面元素所依存的业务平台,可以进行适配性的代码插桩或覆写控件的方法来实现界面元素的位置验证。
但是,在跨平台的元素位置测试场景中,各平台各自实现差异较大,需要配合多套测试用例使用,影响界面元素位置测试的效率。
发明内容
有鉴于此,本申请提供一种界面元素的处理方法,可以有效提高了不同业务平台进行界面元素位置测试的效率。
本申请第一方面提供一种界面元素的处理方法,可以应用于终端设备中包含界面元素的处理功能的系统或程序中,具体包括:
获取多个业务平台中用于展示的界面元素;
根据适配于多个所述业务平台的预设规则将所述界面元素转换为对应的元素标识符,所述预设规则基于所述界面元素的属性特征设定;
根据所述元素标识符进行定位驱动适配,以将多个所述业务平台的元素定位接口适配到目标定位接口;
获取针对于所述界面元素配置的元素引用名映射表,并通过所述目标定位接口按照所述元素引用名映射表对多个所述业务平台执行界面测试用例,所述界面测试用例用于对所述界面元素进行位置验证。
可选的,在本申请一些可能的实现方式中,所述根据适配于多个所述业务平台的预设规则将所述界面元素转换为对应的元素标识符,包括:
获取多个所述业务平台中界面元素对应的可见度信息;
若所述可见度信息指示所述界面元素为屏幕内可见,则根据适配于多个所述业务平台的所述预设规则确定所述界面元素的属性特征;
基于所述属性特征进行标识符的配置,以将所述界面元素转换为对应的元素标识符。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
若所述可见度信息指示所述界面元素为屏幕内不可见,则将所述界面元素进行裁剪;
对裁剪后的所述界面元素不生成对应的元素标识符。
可选的,在本申请一些可能的实现方式中,所述基于所述属性特征进行标识符的配置,以将所述界面元素转换为对应的元素标识符,包括:
确定所述属性特征对应的数据类型;
基于所述数据类型配置所述界面元素对应的转换优先级;
若所述数据类型配置为文本类型,则根据所述转换优先级对所述界面元素进行文本标识符的配置,以将所述界面元素转换为对应的元素标识符。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
获取所述界面元素对应的识别配置信息;
根据所述识别配置信息进行识别对象检测,以得到识别锚点;
若所述界面元素配置的所述识别锚点为多个,则基于多个所述识别锚点配置目标锚点;
根据所述目标锚点将所述界面元素转换为对应的元素标识符。
可选的,在本申请一些可能的实现方式中,所述获取针对于所述界面元素配置的元素引用名映射表,并通过所述目标定位接口按照所述元素引用名映射表对多个所述业务平台执行界面测试用例,包括:
获取针对于所述界面元素配置的所述元素引用名映射表;
通过所述目标定位接口按照所述元素引用名映射表确定所述界面元素对应的元素引用名;
获取所述元素引用名对应的定位方式以及优先级信息;
基于所述定位方式以及所述优先级信息对所述界面元素进行定位,并与所述元素标识符进行比对,以对多个所述业务平台执行所述界面测试用例。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
获取多个所述业务平台中用于展示的所述界面元素对应的父节点或兄弟节点;
将所述父节点或所述兄弟节点作为定位辅助元素,以确定所述定位辅助元素相较于所述界面元素的相对位置;
基于所述相对位置对多个所述业务平台执行所述界面测试用例。
本申请第二方面提供一种界面元素的处理装置,包括:
获取单元,用于获取多个业务平台中用于展示的界面元素;
转换单元,用于根据适配于多个所述业务平台的预设规则将所述界面元素转换为对应的元素标识符,所述预设规则基于所述界面元素的属性特征设定;
适配单元,用于根据所述元素标识符进行定位驱动适配,以将多个所述业务平台的元素定位接口适配到目标定位接口;
处理单元,用于获取针对于所述界面元素配置的元素引用名映射表,并通过所述目标定位接口按照所述元素引用名映射表对多个所述业务平台执行界面测试用例,所述界面测试用例用于对所述界面元素进行位置验证。
可选的,在本申请一些可能的实现方式中,所述转换单元,具体用于获取多个所述业务平台中界面元素对应的可见度信息;
所述转换单元,具体用于若所述可见度信息指示所述界面元素为屏幕内可见,则根据适配于多个所述业务平台的所述预设规则确定所述界面元素的属性特征;
所述转换单元,具体用于基于所述属性特征进行标识符的配置,以将所述界面元素转换为对应的元素标识符。
可选的,在本申请一些可能的实现方式中,所述转换单元,具体用于若所述可见度信息指示所述界面元素为屏幕内不可见,则将所述界面元素进行裁剪;
所述转换单元,具体用于对裁剪后的所述界面元素不生成对应的元素标识符。
可选的,在本申请一些可能的实现方式中,所述转换单元,具体用于确定所述属性特征对应的数据类型;
所述转换单元,具体用于基于所述数据类型配置所述界面元素对应的转换优先级;
所述转换单元,具体用于若所述数据类型配置为文本类型,则根据所述转换优先级对所述界面元素进行文本标识符的配置,以将所述界面元素转换为对应的元素标识符。
可选的,在本申请一些可能的实现方式中,所述转换单元,具体用于获取所述界面元素对应的识别配置信息;
所述转换单元,具体用于根据所述识别配置信息进行识别对象检测,以得到识别锚点;
所述转换单元,具体用于若所述界面元素配置的所述识别锚点为多个,则基于多个所述识别锚点配置目标锚点;
所述转换单元,具体用于根据所述目标锚点将所述界面元素转换为对应的元素标识符。
可选的,在本申请一些可能的实现方式中,所述处理单元,具体用于获取针对于所述界面元素配置的所述元素引用名映射表;
所述处理单元,具体用于通过所述目标定位接口按照所述元素引用名映射表确定所述界面元素对应的元素引用名;
所述处理单元,具体用于获取所述元素引用名对应的定位方式以及优先级信息;
所述处理单元,具体用于基于所述定位方式以及所述优先级信息对所述界面元素进行定位,并与所述元素标识符进行比对,以对多个所述业务平台执行所述界面测试用例。
可选的,在本申请一些可能的实现方式中,所述处理单元,具体用于获取多个所述业务平台中用于展示的所述界面元素对应的父节点或兄弟节点;
所述处理单元,具体用于将所述父节点或所述兄弟节点作为定位辅助元素,以确定所述定位辅助元素相较于所述界面元素的相对位置;
所述处理单元,具体用于基于所述相对位置对多个所述业务平台执行所述界面测试用例。
本申请第三方面提供一种计算机设备,包括:存储器、处理器以及总线系统;所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行上述第一方面或第一方面任一项所述的界面元素的处理方法。
本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一项所述的界面元素的处理方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面或者第一方面的各种可选实现方式中提供的界面元素的处理方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
通过获取多个业务平台中用于展示的界面元素;然后根据适配于多个业务平台的预设规则将界面元素转换为对应的元素标识符,该预设规则基于界面元素的属性特征设定;并根据元素标识符进行定位驱动适配,以将多个业务平台的元素定位接口适配到目标定位接口;进而获取针对于界面元素配置的元素引用名映射表,并通过目标定位接口按照元素引用名映射表对多个业务平台执行界面测试用例,该界面测试用例用于对界面元素进行位置验证。从而实现适配于多种业务平台的界面元素测试过程,由于采用统一的转换规则进行元素标识符的转换,并通过配置统一的定位驱动接口以及元素引用名映射表的快速定位,支持界面测试用例的执行,提高了不同业务平台进行界面元素位置测试的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为界面元素的处理系统运行的网络架构图;
图2为本申请实施例提供的一种界面元素的处理的流程架构图;
图3为本申请实施例提供的一种界面元素的处理方法的流程图;
图4为本申请实施例提供的一种界面元素的处理方法的场景示意图;
图5为本申请实施例提供的另一种界面元素的处理方法的场景示意图;
图6为本申请实施例提供的另一种界面元素的处理方法的场景示意图;
图7为本申请实施例提供的另一种界面元素的处理方法的场景示意图;
图8为本申请实施例提供的另一种界面元素的处理方法的场景示意图;
图9为本申请实施例提供的一种界面元素的处理装置的结构示意图;
图10为本申请实施例提供的一种终端设备的结构示意图;
图11为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
本申请实施例提供了一种界面元素的处理方法以及相关装置,可以应用于终端设备中包含界面元素的处理功能的系统或程序中,通过获取多个业务平台中用于展示的界面元素;然后根据适配于多个业务平台的预设规则将界面元素转换为对应的元素标识符,该预设规则基于界面元素的属性特征设定;并根据元素标识符进行定位驱动适配,以将多个业务平台的元素定位接口适配到目标定位接口;进而获取针对于界面元素配置的元素引用名映射表,并通过目标定位接口按照元素引用名映射表对多个业务平台执行界面测试用例,该界面测试用例用于对界面元素进行位置验证。从而实现适配于多种业务平台的界面元素测试过程,由于采用统一的转换规则进行元素标识符的转换,并通过配置统一的定位驱动接口以及元素引用名映射表的快速定位,支持界面测试用例的执行,提高了不同业务平台进行界面元素位置测试的效率。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,对本申请实施例中可能出现的一些名词进行解释。
用户界面(User Interface,UI)元素:软件中某个独立的交互组件,例如:文本、图片、按钮、输入框等。
元素标识符:一个用来标记UI元素的字符串。
元素定位:通过元素标识符找到UI元素在设备中的区域位置以完成相应操作。
平台端:待测业务运行的平台,例如iOS app、安卓app、Web、小程序等。
驱动端:各平台UI测试框架的驱动,例如XCUITest、UIAutomator等。
测试工具端:编写及运行测试用例的工具,例如Appium等。
UI测试用例:一段使用元素定位和相关操作验证产品视图UI是否正确的代码逻辑。
元素引用名:在UI测试用例中表示某个UI元素的名称,对各平台都统一,最终会映射到元素标识符。
应理解,本申请提供的界面元素的处理方法可以应用于终端设备中包含界面元素的处理功能的系统或程序中,例如界面元素测试应用,具体的,界面元素的处理系统可以运行于如图1所示的网络架构中,如图1所示,是界面元素的处理系统运行的网络架构图,如图可知,界面元素的处理系统可以提供与多个信息源的界面元素的处理过程,即通过终端侧的测试操作触发服务器对不同的业务平台进行界面测试;可以理解的是,图1中示出了多种终端设备,终端设备可以为计算机设备,在实际场景中可以有更多或更少种类的终端设备参与到界面元素的处理的过程中,具体数量和种类因实际场景而定,此处不做限定,另外,图1中示出了一个服务器,但在实际场景中,也可以有多个服务器的参与,具体服务器数量因实际场景而定。
本实施例中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能语音交互设备、智能家电、车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,终端以及服务器可以连接组成区块链网络,本申请在此不做限制。
可以理解的是,上述界面元素的处理系统可以运行于个人移动终端,例如:作为界面元素测试应用这样的应用,也可以运行于服务器,还可以作为运行于第三方设备以提供界面元素的处理,以得到信息源的界面元素的处理处理结果;具体的界面元素的处理系统可以是以一种程序的形式在上述设备中运行,也可以作为上述设备中的系统部件进行运行,还可以作为云端服务程序的一种,本实施例可应用于云技术、自动驾驶等场景,具体运作模式因实际场景而定,此处不做限定。
随着互联网技术的迅速发展,人们对交互形式的要求越来越高。而丰富的界面元素即为实现各种交互形式的基础,如何对界面元素进行界面位置的验证测试成为保证交互准确性的关键。
一般,针对界面元素所依存的业务平台,可以进行适配性的代码插桩或覆写控件的方法来实现界面元素的位置验证。
但是,在跨平台的元素位置测试场景中,各平台各自实现差异较大,需要配合多套测试用例使用,影响界面元素位置测试的效率。
为了解决上述问题,本申请提出了一种界面元素的处理方法,该方法应用于图2所示的界面元素的处理的流程框架中,如图2所示,为本申请实施例提供的一种界面元素的处理的流程架构图,通过终端的测试请求,触发服务器在多平台环境下生成统一的元素标识符,并在驱动端将各平台的元素查找能力进行抽象统一,支持按照合理的优先级进行查找,提高了元素的定位效率,同时在测试工具端采用了元素配置表方案,使得UI测试用例能够方便快捷地利用同一元素引用名实现跨平台的元素定位能力。实现一种跨平台的基于平台端、驱动端、测试工具端的自动化测试元素识别方案,消除了自动化测试中各平台元素定位的差异性,让同一套测试用例能够覆盖多个平台。
可以理解的是,本申请所提供的方法可以为一种程序的写入,以作为硬件系统中的一种处理逻辑,也可以作为一种界面元素的处理装置,采用集成或外接的方式实现上述处理逻辑。作为一种实现方式,该界面元素的处理装置通过获取多个业务平台中用于展示的界面元素;然后根据适配于多个业务平台的预设规则将界面元素转换为对应的元素标识符,该预设规则基于界面元素的属性特征设定;并根据元素标识符进行定位驱动适配,以将多个业务平台的元素定位接口适配到目标定位接口;进而获取针对于界面元素配置的元素引用名映射表,并通过目标定位接口按照元素引用名映射表对多个业务平台执行界面测试用例,该界面测试用例用于对界面元素进行位置验证。从而实现适配于多种业务平台的界面元素测试过程,由于采用统一的转换规则进行元素标识符的转换,并通过配置统一的定位驱动接口以及元素引用名映射表的快速定位,支持界面测试用例的执行,提高了不同业务平台进行界面元素位置测试的效率。
结合上述流程架构,下面将对本申请中界面元素的处理方法进行介绍,请参阅图3,图3为本申请实施例提供的一种界面元素的处理方法的流程图,该管理方法可以是由服务器或终端执行的,本申请实施例至少包括以下步骤:
301、获取多个业务平台中用于展示的界面元素。
本实施例中,业务平台即为待测业务运行的平台,例如iOS app、安卓app、Web、小程序等具有不同业务逻辑的平台,具体的平台因实际场景而定。
具体的,界面元素即为软件中某个独立的交互组件,例如:文本、图片、按钮、输入框等。本实施例通过对界面元素执行测试用例验证界面元素功能以及位置的准确性。
在一种可能的场景中,测试用例的执行架构如图4所示,图4为本申请实施例提供的一种界面元素的处理方法的场景示意图;图中示出了测试人员编写一套界面测试用例(UI测试用例),运行在测试工具上。测试工具执行时通过统一元素定位方案找到不同平台上的相同功能元素进行访问验证。例如点击切换按键可以得到类别A、B、C,在类别A下只会显示名称1,不显示名称2、名称3;在类别B下只会显示名称2,不显示名称1、名称3;在类别C下只会显示名称3,不显示名称1、名称2;通过界面测试用例即可对上述界面中类别与名称的显示逻辑以及个元素的显示位置进行验证,以保证交互过程的准确性。
进一步的,为了实现本实施例中多平台的界面测试过程,通过平台端、驱动端以及测试工具端的优化实现,如图5所示,图5为本申请实施例提供的另一种界面元素的处理方法的场景示意图;图中示出了针对平台端,基于常用组件统一了标识符的生成规则,保证了各平台大部分元素标识符一致性;针对驱动端,对不同平台下测试驱动程序的元素查找能力进行接口抽象,抹平平台差异,并支持按照优先级定位功能元素;针对测试工具端,采用元素配置表方案实现了同一个元素引用名映射到各平台元素的能力,UI测试用例通过使用统一元素引用名就能方便快捷地定位到各平台下相同的功能元素。
302、根据适配于多个业务平台的预设规则将界面元素转换为对应的元素标识符。
本实施例中,预设规则基于界面元素的属性特征设定,例如以文字、名称作为标识符;或以父容器标识符与元素位置组合作为标识符,该元素标识符用来标记UI元素的字符串。
具体的,对于将界面元素转换为对应的元素标识符的过程如图6所示,图6为本申请实施例提供的另一种界面元素的处理方法的场景示意图;即首先获取多个业务平台中界面元素对应的可见度信息;若可见度信息指示界面元素为屏幕内可见,则根据适配于多个业务平台的预设规则确定界面元素的属性特征;进而基于属性特征进行标识符的配置,以将界面元素转换为对应的元素标识符。
另一方面,对于可见度信息指示界面元素为屏幕内不可见的场景,则将界面元素进行裁剪;对裁剪后的界面元素不生成对应的元素标识符。通过将屏幕内不可见元素裁剪,不生成元素标识符,减少可识别元素数量,提升查找速度。
进一步的,对于各平台使用相同的标识符生成规则,优先使用文字或名称作为自动生成的标识符;即首先确定属性特征对应的数据类型;然后基于数据类型配置界面元素对应的转换优先级;若数据类型配置为文本类型,则根据转换优先级对界面元素进行文本标识符的配置,以将界面元素转换为对应的元素标识符,从而最大程度保证标识符的一致性。
在一种可能的场景中,对没有统一识别锚点的元素提供手动设置的方式进一步增加各平台的一致性;即首先获取界面元素对应的识别配置信息;然后根据识别配置信息进行识别对象检测,以得到识别锚点;若界面元素配置的识别锚点为多个,则基于多个识别锚点配置目标锚点;进而根据目标锚点将界面元素转换为对应的元素标识符。
通过统一标识符生成规则自动或者只需要少量开发工作就能大大提升平台间元素标识符的一致性。该方案虽然能保证大部分UI元素标识符一致,仍有部分场景无法识别,比如可变文本、重复文本、无法生成标识符的场景。因此需要下列方案进一步保证测试过程元素定位的一致性。
可以理解的是,从平台的维度看,本实施例提高了平台扩展性,即平台端目前已适配Android、iOS终端平台,基于统一的元素标识符生成规则和驱动端多平台元素查找能力的接口抽象,后续能够方便地支持H5、Web、小程序等其他平台的自动化测试元素识别。
303、根据元素标识符进行定位驱动适配,以将多个业务平台的元素定位接口适配到目标定位接口。
本实施例中,元素定位接口即为元素定位所调用的执行路径接口,元素定位即通过元素标识符找到UI元素在设备中的区域位置以完成相应操作。
具体的,定位驱动适配即在驱动端进行接口统一,具体的驱动包括各平台UI测试框架的驱动,例如XCUITest、UIAutomator等。
在一种可能的场景中,对于定位驱动适配的过程如图7所示,图7为本申请实施例提供的另一种界面元素的处理方法的场景示意图;针对元素标识符无法定位元素的场景,除了使用标识符定位外还接入了多种驱动侧的定位方式。再通过方案适配器,将各种平台的不同驱动元素定位接口适配到统一的定位接口,使得测试工具不用关心具体的平台,并且可灵活扩展。
可以理解的是,从定位的维度看,本实施例提高了元素查找成功率,针对元素标识符有平台差异的场景,驱动端支持按照优先级对accessibilityID、class chain、predicate等方式进行查找,突破了单元素标识符查找的局限性,提高了元素查找的成功率。
304、获取针对于界面元素配置的元素引用名映射表,并通过目标定位接口按照元素引用名映射表对多个业务平台执行界面测试用例。
本实施例中,界面测试用例用于对界面元素进行位置验证,具体为一段使用元素定位和相关操作验证产品视图UI是否正确的代码逻辑。
进一步的,为了管理多种元素定位方式,并且屏蔽测试人员对定位方式的感知,在测试工具侧由开发人员维护元素引用名映射表,每个元素引用名可以对应多种定位方式,并按照优先级查找。而元素引用名即为在UI测试用例中表示某个UI元素的名称,对各平台都统一,进而映射到元素标识符。
在一种可能的场景中,界面测试用例即为编写及运行测试用例的工具,例如Appium等。具体的测试过程如图8所示,图8为本申请实施例提供的另一种界面元素的处理方法的场景示意图;图中示出了测试用例中只需要使用元素引用名,具体的查找过程和查找方式都不用关心,底层会根据平台和优先级自动选择合适的方案进行元素定位。即首先获取针对于界面元素配置的元素引用名映射表;然后通过目标定位接口按照元素引用名映射表确定界面元素对应的元素引用名;并获取元素引用名对应的定位方式以及优先级信息;进而基于定位方式以及优先级信息对界面元素进行定位,并与元素标识符进行比对,以对多个业务平台执行界面测试用例。从而实现同一个测试用例在各种平台中使用,大量减少测试用例的编写成本。
可以理解的是,本实施例提供的测试工具具有易用性,测试工具端只需使用同一套元素引用名编写测试用例即可方便快捷地实现多平台相同场景的UI测试,降低了使用成本。
在另一种可能的场景中,还可以基于模糊定位的思路,查找各平台需要定位元素的父节点或兄弟节点(定位辅助元素)以及它们的相对位置,然后使用相对定位的方案确定目标元素定位是否成功。即首先获取多个业务平台中用于展示的界面元素对应的父节点或兄弟节点;然后将父节点或兄弟节点作为定位辅助元素,以确定定位辅助元素相较于界面元素的相对位置;进而基于相对位置对多个业务平台执行界面测试用例。该过程不再需要完全统一的多平台元素标识符,能够进一步降低跨平台的元素识别成本。
结合上述实施例可知,通过获取多个业务平台中用于展示的界面元素;然后根据适配于多个业务平台的预设规则将界面元素转换为对应的元素标识符,该预设规则基于界面元素的属性特征设定;并根据元素标识符进行定位驱动适配,以将多个业务平台的元素定位接口适配到目标定位接口;进而获取针对于界面元素配置的元素引用名映射表,并通过目标定位接口按照元素引用名映射表对多个业务平台执行界面测试用例,该界面测试用例用于对界面元素进行位置验证。从而实现适配于多种业务平台的界面元素测试过程,由于采用统一的转换规则进行元素标识符的转换,并通过配置统一的定位驱动接口以及元素引用名映射表的快速定位,支持界面测试用例的执行,提高了不同业务平台进行界面元素位置测试的效率。
为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。请参阅图9,图9为本申请实施例提供的一种界面元素的处理装置的结构示意图,界面元素的处理装置900包括:
获取单元901,用于获取多个业务平台中用于展示的界面元素;
转换单元902,用于根据适配于多个所述业务平台的预设规则将所述界面元素转换为对应的元素标识符,所述预设规则基于所述界面元素的属性特征设定;
适配单元903,用于根据所述元素标识符进行定位驱动适配,以将多个所述业务平台的元素定位接口适配到目标定位接口;
处理单元904,用于获取针对于所述界面元素配置的元素引用名映射表,并通过所述目标定位接口按照所述元素引用名映射表对多个所述业务平台执行界面测试用例,所述界面测试用例用于对所述界面元素进行位置验证。
可选的,在本申请一些可能的实现方式中,所述转换单元902,具体用于获取多个所述业务平台中界面元素对应的可见度信息;
所述转换单元902,具体用于若所述可见度信息指示所述界面元素为屏幕内可见,则根据适配于多个所述业务平台的所述预设规则确定所述界面元素的属性特征;
所述转换单元902,具体用于基于所述属性特征进行标识符的配置,以将所述界面元素转换为对应的元素标识符。
可选的,在本申请一些可能的实现方式中,所述转换单元902,具体用于若所述可见度信息指示所述界面元素为屏幕内不可见,则将所述界面元素进行裁剪;
所述转换单元902,具体用于对裁剪后的所述界面元素不生成对应的元素标识符。
可选的,在本申请一些可能的实现方式中,所述转换单元902,具体用于确定所述属性特征对应的数据类型;
所述转换单元902,具体用于基于所述数据类型配置所述界面元素对应的转换优先级;
所述转换单元902,具体用于若所述数据类型配置为文本类型,则根据所述转换优先级对所述界面元素进行文本标识符的配置,以将所述界面元素转换为对应的元素标识符。
可选的,在本申请一些可能的实现方式中,所述转换单元902,具体用于获取所述界面元素对应的识别配置信息;
所述转换单元902,具体用于根据所述识别配置信息进行识别对象检测,以得到识别锚点;
所述转换单元902,具体用于若所述界面元素配置的所述识别锚点为多个,则基于多个所述识别锚点配置目标锚点;
所述转换单元902,具体用于根据所述目标锚点将所述界面元素转换为对应的元素标识符。
可选的,在本申请一些可能的实现方式中,所述处理单元904,具体用于获取针对于所述界面元素配置的所述元素引用名映射表;
所述处理单元904,具体用于通过所述目标定位接口按照所述元素引用名映射表确定所述界面元素对应的元素引用名;
所述处理单元904,具体用于获取所述元素引用名对应的定位方式以及优先级信息;
所述处理单元904,具体用于基于所述定位方式以及所述优先级信息对所述界面元素进行定位,并与所述元素标识符进行比对,以对多个所述业务平台执行所述界面测试用例。
可选的,在本申请一些可能的实现方式中,所述处理单元904,具体用于获取多个所述业务平台中用于展示的所述界面元素对应的父节点或兄弟节点;
所述处理单元904,具体用于将所述父节点或所述兄弟节点作为定位辅助元素,以确定所述定位辅助元素相较于所述界面元素的相对位置;
所述处理单元904,具体用于基于所述相对位置对多个所述业务平台执行所述界面测试用例。
通过获取多个业务平台中用于展示的界面元素;然后根据适配于多个业务平台的预设规则将界面元素转换为对应的元素标识符,该预设规则基于界面元素的属性特征设定;并根据元素标识符进行定位驱动适配,以将多个业务平台的元素定位接口适配到目标定位接口;进而获取针对于界面元素配置的元素引用名映射表,并通过目标定位接口按照元素引用名映射表对多个业务平台执行界面测试用例,该界面测试用例用于对界面元素进行位置验证。从而实现适配于多种业务平台的界面元素测试过程,由于采用统一的转换规则进行元素标识符的转换,并通过配置统一的定位驱动接口以及元素引用名映射表的快速定位,支持界面测试用例的执行,提高了不同业务平台进行界面元素位置测试的效率。
本申请实施例还提供了一种终端设备,如图10所示,是本申请实施例提供的另一种终端设备的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(personal digital assistant,PDA)、销售终端(point of sales,POS)、车载电脑等任意终端设备,以终端为手机为例:
图10示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图10,手机包括:射频(radio frequency,RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wireless fidelity,WiFi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图10对手机的各个构成部件进行具体的介绍:
RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作,以及在触控面板1031上一定范围内的隔空触控操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图10中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体检测。可选的,处理器1080可包括一个或多个处理单元;可选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
手机还包括给各个部件供电的电源1090(比如电池),可选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器1080还具有执行如上述页面处理方法的各个步骤的功能。
本申请实施例还提供了一种服务器,请参阅图11,图11是本申请实施例提供的一种服务器的结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。
服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由管理装置所执行的步骤可以基于该图11所示的服务器结构。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有界面元素的处理指令,当其在计算机上运行时,使得计算机执行如前述图3至图8所示实施例描述的方法中界面元素的处理装置所执行的步骤。
本申请实施例中还提供一种包括界面元素的处理指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图3至图8所示实施例描述的方法中界面元素的处理装置所执行的步骤。
本申请实施例还提供了一种界面元素的处理系统,所述界面元素的处理系统可以包含图9所描述实施例中的界面元素的处理装置,或图10所描述实施例中的终端设备,或者图11所描述的服务器。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,界面元素的处理装置,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种界面元素的处理方法,其特征在于,包括:
获取多个业务平台中用于展示的界面元素;
根据适配于多个所述业务平台的预设规则将所述界面元素转换为对应的元素标识符,所述预设规则基于所述界面元素的属性特征设定;
根据所述元素标识符进行定位驱动适配,以将多个所述业务平台的元素定位接口适配到目标定位接口;
获取针对于所述界面元素配置的元素引用名映射表,并通过所述目标定位接口按照所述元素引用名映射表对多个所述业务平台执行界面测试用例,所述界面测试用例用于对所述界面元素进行位置验证。
2.根据权利要求1所述的方法,其特征在于,所述根据适配于多个所述业务平台的预设规则将所述界面元素转换为对应的元素标识符,包括:
获取多个所述业务平台中界面元素对应的可见度信息;
若所述可见度信息指示所述界面元素为屏幕内可见,则根据适配于多个所述业务平台的所述预设规则确定所述界面元素的属性特征;
基于所述属性特征进行标识符的配置,以将所述界面元素转换为对应的元素标识符。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述可见度信息指示所述界面元素为屏幕内不可见,则将所述界面元素进行裁剪;
对裁剪后的所述界面元素不生成对应的元素标识符。
4.根据权利要求2所述的方法,其特征在于,所述基于所述属性特征进行标识符的配置,以将所述界面元素转换为对应的元素标识符,包括:
确定所述属性特征对应的数据类型;
基于所述数据类型配置所述界面元素对应的转换优先级;
若所述数据类型配置为文本类型,则根据所述转换优先级对所述界面元素进行文本标识符的配置,以将所述界面元素转换为对应的元素标识符。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述界面元素对应的识别配置信息;
根据所述识别配置信息进行识别对象检测,以得到识别锚点;
若所述界面元素配置的所述识别锚点为多个,则基于多个所述识别锚点配置目标锚点;
根据所述目标锚点将所述界面元素转换为对应的元素标识符。
6.根据权利要求1所述的方法,其特征在于,所述获取针对于所述界面元素配置的元素引用名映射表,并通过所述目标定位接口按照所述元素引用名映射表对多个所述业务平台执行界面测试用例,包括:
获取针对于所述界面元素配置的所述元素引用名映射表;
通过所述目标定位接口按照所述元素引用名映射表确定所述界面元素对应的元素引用名;
获取所述元素引用名对应的定位方式以及优先级信息;
基于所述定位方式以及所述优先级信息对所述界面元素进行定位,并与所述元素标识符进行比对,以对多个所述业务平台执行所述界面测试用例。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
获取多个所述业务平台中用于展示的所述界面元素对应的父节点或兄弟节点;
将所述父节点或所述兄弟节点作为定位辅助元素,以确定所述定位辅助元素相较于所述界面元素的相对位置;
基于所述相对位置对多个所述业务平台执行所述界面测试用例。
8.一种界面元素的处理装置,其特征在于,包括:
获取单元,用于获取多个业务平台中用于展示的界面元素;
转换单元,用于根据适配于多个所述业务平台的预设规则将所述界面元素转换为对应的元素标识符,所述预设规则基于所述界面元素的属性特征设定;
适配单元,用于根据所述元素标识符进行定位驱动适配,以将多个所述业务平台的元素定位接口适配到目标定位接口;
处理单元,用于获取针对于所述界面元素配置的元素引用名映射表,并通过所述目标定位接口按照所述元素引用名映射表对多个所述业务平台执行界面测试用例,所述界面测试用例用于对所述界面元素进行位置验证。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:
所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行权利要求1至7任一项所述的界面元素的处理方法。
10.一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令存储于计算机可读存储介质,其特征在于,所述计算机可读存储介质中的所述计算机程序/指令被处理器执行时实现上述权利要求1至7任一项所述的界面元素的处理方法的步骤。
CN202211212813.8A 2022-09-30 2022-09-30 一种界面元素的处理方法、装置以及存储介质 Pending CN117806942A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211212813.8A CN117806942A (zh) 2022-09-30 2022-09-30 一种界面元素的处理方法、装置以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211212813.8A CN117806942A (zh) 2022-09-30 2022-09-30 一种界面元素的处理方法、装置以及存储介质

Publications (1)

Publication Number Publication Date
CN117806942A true CN117806942A (zh) 2024-04-02

Family

ID=90418966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211212813.8A Pending CN117806942A (zh) 2022-09-30 2022-09-30 一种界面元素的处理方法、装置以及存储介质

Country Status (1)

Country Link
CN (1) CN117806942A (zh)

Similar Documents

Publication Publication Date Title
US10186244B2 (en) Sound effect processing method and device, plug-in unit manager and sound effect plug-in unit
EP3306865A1 (en) Communication message sending method and device
CN104852885B (zh) 一种进行验证码验证的方法、装置和系统
US20150082231A1 (en) Method and terminal for displaying desktop
CN106502703B (zh) 一种函数调用方法和装置
CN106126174B (zh) 一种场景音效的控制方法、及电子设备
CN108156508B (zh) 弹幕信息处理的方法、装置、移动终端、服务器及系统
CN108958606B (zh) 分屏显示方法、装置、存储介质和电子设备
CN112148579B (zh) 一种用户界面的测试方法和装置
CN108958629B (zh) 分屏退出方法、装置、存储介质和电子设备
CN111078556B (zh) 应用测试方法及装置
EP2869604B1 (en) Method, apparatus and device for processing a mobile terminal resource
US10298590B2 (en) Application-based service providing method, apparatus, and system
CN109067981A (zh) 分屏应用切换方法、装置、存储介质和电子设备
CN109196480B (zh) 一种显示设备标识的方法、移动终端及终端设备
CN106230919B (zh) 一种文件上传的方法和装置
CN105528220B (zh) 加载动态共享对象的方法和装置
CN111367502A (zh) 一种数值处理方法和装置
CN111274463A (zh) 基于im联系人分组设置的信息展示方法、装置及存储介质
CN108920086B (zh) 分屏退出方法、装置、存储介质和电子设备
CN106933626B (zh) 应用关联方法及装置
CN108924357A (zh) 一种调整终端桌面显示的方法、装置及终端
CN112667868B (zh) 一种数据检测方法以及装置
CN109799994B (zh) 一种终端组件生成方法及装置
CN117806942A (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