CN113608817A - 弹框处理方法及系统 - Google Patents
弹框处理方法及系统 Download PDFInfo
- Publication number
- CN113608817A CN113608817A CN202110954285.2A CN202110954285A CN113608817A CN 113608817 A CN113608817 A CN 113608817A CN 202110954285 A CN202110954285 A CN 202110954285A CN 113608817 A CN113608817 A CN 113608817A
- Authority
- CN
- China
- Prior art keywords
- bullet
- configuration information
- coordinates
- bullet frame
- box
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 19
- 238000012015 optical character recognition Methods 0.000 claims description 28
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 14
- 230000006978 adaptation Effects 0.000 abstract description 7
- 238000012360 testing method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 244000062793 Sorghum vulgare Species 0.000 description 9
- 235000019713 millet Nutrition 0.000 description 9
- DWDGSKGGUZPXMQ-UHFFFAOYSA-N OPPO Chemical compound OPPO DWDGSKGGUZPXMQ-UHFFFAOYSA-N 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction 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
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012857 repacking Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- User Interface Of Digital Computer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种弹框处理方法,包括:从云平台获取并存储弹框配置信息;读取所述弹框配置信息;根据所读取的弹框配置信息及当前页面信息查找需要点击的弹框控件坐标;点击所述需要点击的弹框控件坐标以完成弹框处理。本申请提供的弹框处理方法及系统,不是基于AccessibilityService的弹框处理技术,而是基于弹框控件坐标处理弹框,不仅适配成本低,而且兼容性好。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种弹框处理方法、系统、计算机设备及计算机可读存储介质。
背景技术
随着智能终端设备的广泛应用,移动互联网时代已经来临。
为增强智能终端设备系统的功能,当前应用程序(APP)的数量呈指数式增长,应用程序的安全性、可靠性、功能性等都受到了很大的关注和挑战。对于海量的应用程序在不同智能终端设备上的兼容性自动化测试也就显得异常重要。
兼容性自动化测试是保证应用程序质量的重要手段,通过兼容性自动化测试可以验证应用程序的安全性、可靠性、功能性等指标是否满足规定的要求,通过系统的、严密的兼容性自动化测试能够最大限度的发现应用程序中的错误,从而减少应用程序中遗留的错误。
在兼容性自动化测试中,需要自动处理(比如:自动关闭)智能终端设备上的各种系统弹框。基于AccessibilityService的弹框处理技术,不仅适配成本高,而且兼容性差。
发明内容
本申请的目的是提供一种弹框处理方法、系统、计算机设备及计算机可读存储介质,用于解决以下技术问题:基于AccessibilityService的弹框处理技术,不仅适配成本高,而且兼容性差。
本申请实施例的一个方面提供了一种弹框处理方法,所述方法包括:从云平台获取并存储弹框配置信息;读取所述弹框配置信息;根据所读取的弹框配置信息及当前页面信息查找需要点击的弹框控件坐标;点击所述需要点击的弹框控件坐标以完成弹框处理。
可选的,所述从云平台获取弹框配置信息并存储所述弹框配置信息,包括:通过调用所述云平台的HTTP接口定时下载所述弹框配置信息并存储在数据库;所述读取所述弹框配置信息,包括:通过循环遍历的方式从所述数据库中读取所述弹框配置信息。
可选的,所读取的弹框配置信息包括配置的弹框标题信息、弹框控件信息、事件类型、设备品牌;所述根据所读取的弹框配置信息及当前页面信息查找需要点击的弹框控件坐标,包括:定时转存所述当前页面的页面树,其中,所述页面树至少包括所述当前页面的弹框标题信息;筛选所读取的弹框配置信息的事件类型为输入类型还是点击类型;在所述页面树中查找所读取的弹框配置信息的弹框标题信息;当查找到所读取的弹框配置信息的弹框标题信息时,判断所读取的弹框配置信息的设备品牌是否为预设设备品牌;如果所读取的弹框配置信息的设备品牌不是所述预设设备品牌,则通过XML解析方式查找所述需要点击的弹框控件坐标;如果所读取的弹框配置信息的设备品牌是所述预设设备品牌,则通过OCR解析方式查找所述需要点击的弹框控件坐标。
可选的,所述页面树是XML格式的文本,还包括所述当前页面的弹框控件信息及弹框控件坐标;所述通过XML解析方式查找所述需要点击的弹框控件坐标,包括:在所述页面树中继续查找所读取的弹框配置信息的弹框控件信息;如果查找到所读取的弹框配置信息的弹框控件信息,则根据所查找到的弹框控件信息在所述页面树中查找所述需要点击的弹框控件坐标。
可选的,所述通过OCR解析方式查找所述需要点击的弹框控件坐标,包括:截取所述当前页面的页面图像;通过OCR识别所述页面图像中的多个字符串及对应的坐标以获取坐标列表,所述坐标列表包括所述当前页面的弹框标题信息、弹框控件信息及弹框控件坐标;在所述坐标列表中查找所读取的弹框配置信息的弹框控件信息;如果查找到所读取的弹框配置信息的弹框控件信息,则根据所查找到的弹框控件信息在所述坐标列表中查找所述需要点击的弹框控件坐标。
可选的,所述根据所读取的弹框配置信息及当前页面信息查找需要点击的弹框控件坐标,包括:判断是否在所述页面树或所述坐标列表中查找到所述需要点击的弹框控件坐标;如果在所述页面树或所述坐标列表中没有查找到所述需要点击的弹框控件坐标,则产生并通知异常报告。
可选的,所述点击所述需要点击的弹框控件坐标以完成弹框处理,包括:如果所读取的弹框配置信息的事件类型为所述输入类型,且在所述页面树或所述坐标列表中查找到所述需要点击的弹框控件坐标,则通过adb命令点击所述需要点击的弹框控件坐标以输入文本信息;或如果所读取的弹框配置信息的事件类型为所述点击类型,且在所述页面树或所述坐标列表中查找到所述需要点击的弹框控件坐标,则通过adb命令点击所述需要点击的弹框控件坐标以关闭对应弹框。
本申请实施例的一个方面又提供了一种弹框处理系统,包括:获取模块,用于从云平台获取并存储弹框配置信息;读取模块,用于读取所述弹框配置信息;查找模块,用于根据所读取的弹框配置信息及当前页面信息查找需要点击的弹框控件坐标;处理模块,用于点击所述需要点击的弹框控件坐标以完成弹框处理。
本申请实施例的一个方面又提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述弹框处理方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述弹框处理方法的步骤。
本申请实施例提供的弹框处理方法、系统、计算机设备及计算机可读存储介质,根据所读取的弹框配置信息及当前页面信息查找需要点击的弹框控件坐标,并点击所述需要点击的弹框控件坐标以完成弹框处理,故,本申请实施例不是基于AccessibilityService的弹框处理技术,而是基于弹框控件坐标处理弹框,不仅适配成本低,而且兼容性好。
附图说明
图1示意性示出了本申请弹框处理方法的应用环境的示意图;
图2示意性示出了根据本申请实施例一的弹框处理方法的流程图;
图3为图2中步骤S202的子步骤图;
图4为图2中步骤S204子步骤图;
图5为图2中步骤S206的子步骤图;
图6为图5中步骤S510的子步骤图;
图7为图5中步骤S512的子步骤图;
图8为图2中步骤S206的子步骤图;
图9为图2中步骤S208的子步骤图;
图10示意性示出了根据本申请实施例二的弹框处理方法的应用环境图与流程图;
图11示意性示出了根据本申请实施例三的弹框处理系统的框图;及
图12示意性示出了根据本申请实施例四的适于实现弹框处理方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
下面为本申请涉及的术语解释:
AccessibilityService的弹框处理技术:AccessibilityService是系统提供的无障碍辅助服务接口,可以通过在Android应用中继承AccessibilityService监听系统窗体变化来实现自定义弹框处理。
手机设备系统弹框:Android手机品牌和型号众多,各个品牌厂商封装代码不同,在兼容性测试过程中会有各种诸如安装/卸载弹框、USB连接方式弹框、USB调试弹框、应用权限弹框、更新弹框等系统弹框。
Devicehub:挂载设备的宿主机。
HTTP:是超文本传输协议(Hyper Text Transfer Protocol,HTTP)的缩写,是一个请求-响应协议,可用于在客户机和服务器之间进行请求-响应。
GET:一种HTTP请求方式,从指定的资源请求数据。
API:是应用程序接口(Application Programming Interface)的缩写。
REST:是表现层状态转化(Representational State Transfer)的缩写。
APP:是应用程序(Application)的缩写。
adb:是安卓调试桥(Android Debug Bridge)的缩写,是一种可以用来操作手机设备的命令行工具。
dump:是指转存(或导出或保存)。
XML:是可扩展标记语言(Extensible Markup Language)的缩写。
OCR:是光学字符识别(Optical Character Recognition)的缩写,用于识别图像上的字符然后提取出来。
Redis:是远程字典服务(Remote Dictionary Server)的缩写,是一种基于内存操作的缓存技术。
本申请应用场景主要是在兼容性自动化测试中自动处理Android手机设备上的各种系统弹框,而背景技术在绝大部分自动化框架下无法正常运行,主要有以下缺点:
(1)在执行自动化测试过程中,由于市面上绝大部分框架都是基于accessibility的API,本身跟AccessibilityService会有冲突,导致自动化测试开始执行的时候会自动杀掉AccessibilityService服务,从而致使弹框处理服务不可用;
(2)如果弹框控件的clickable属性是false,AccessibilityService服务是无法点击对应控件的;
(3)背景技术的适配成本很高,Android机型和品牌众多,每次适配新的系统弹框需要修改代码重新打包应用安装到系统中。
本申请的目的是提供一种适配成本低、兼容性好的弹框处理方案。
图1示意性示出了本申请弹框处理方法的应用环境的示意图。
请参阅图1,宿主机10挂载多个终端设备11,作为示例,多个终端设备11可以包括Andriod设备(比如:Andriod手机)与iOS设备(比如:iOS手机)。图1以示例方式示出了3个宿主机10、3个Android设备、3个iOS设备,不作为对本申请的限制。
作为示例,所述多个终端设备11可以包括多个设备品牌,比如:OPPO、vivo、honor、小米等。
作为示例,本申请系用于自动处理Andriod设备的所有系统弹框;iOS设备采用封闭式的操作系统,在兼容性自动化测试中,通过系统设置即可实现没有系统弹框的,并不需要自动处理弹框。
作为示例,本申请可以先在云平台,人工配置(也可称为人工维护)各种品牌手机的弹框配置信息,存在于云平台的数据库中,所述弹框配置信息可以包括:弹框标题名称、弹框标题ID、弹框控件名称(也可称为文案,比如:弹框按钮名称)、弹框控件ID(比如:弹框按钮ID)、事件类型(点击还是输入)、设备品牌(比如:OPPO、vivo、honor、小米等)。其中,弹框标题名称与弹框标题ID两者有可能同时存在,也有可能仅存在其中一个,两者统称为弹框标题信息;弹框控件名称与弹杠控件ID两者有可能同时存在,也有可能仅存在其中一个,两者统称为弹框控件信息。
作为示例,在宿主机10上部署有弹框处理服务12,所述弹框处理服务12可以从云平台获取并存储弹框配置信息(比如:通过HTTP请求,拉取云端数据,固化到本地数据库);读取所述弹框配置信息(比如:通过循环遍历的方式从本地数据库中读取所述弹框配置信息);根据所读取的弹框配置信息及当前页面信息(比如:dump当前页面的页面树,OCR识别当前页面的页面图像)查找需要点击的弹框控件坐标;最后,通过adb命令点击所述需要点击的弹框控件坐标以完成弹框处理。
作为示例,本申请提供了一种低维护成本的通过云配置处理手机设备系统弹框的解决方案。通过在云端(云平台)维护各个机型的系统弹框信息(弹框配置信息,可以包括:弹框标题名称、弹框标题ID、弹框控件名称、弹框控件ID、事件类型、设备品牌等),部署在宿主机10上的弹框处理服务12,会定时从云端拉取弹框配置信息固化到本地,然后根据这些弹框配置信息进行系统弹框的处理,可以达到全时段自动处理所有Android设备的所有系统弹框,为兼容性自动化测试提供稳定的设备环境。
作为示例,本申请实施例与背景技术相比,有以下优点:
(1)弹框信息在云端配置,动态更新下发,无需停止服务,适配新机型的成本非常低;
(2)从云端(云平台)拉取的弹框配置信息会固化到本地,即使断网也可以处理弹框;
(3)通过原生adb点击坐标的方式处理弹框,兼容性非常好,可以完美解决弹框控件的clickable属性是false的时候AccessibilityService服务无法点击的问题;
(4)通过OCR的方式获取控件的坐标利用adb进行点击,解决AccessibilityService无法识别OPPO/vivo机型上的安装弹框控件的问题。
下文将提供多个实施例,下文提供的各个实施例可以用于实现上文描述的弹框处理方案。为便于理解,下面将以计算机设备为执行主体进行示例性描述。
实施例一
图2示意性示出了根据本申请实施例一的弹框处理方法的流程图。
如图2所示,本申请实施例一的弹框处理方法可以包括步骤S202~S208,其中:
步骤S202,从云平台获取并存储弹框配置信息。
作为示例,如图3所示,所述步骤S202可以包括步骤S302。其中:步骤S302,通过调用所述云平台的HTTP接口定时(比如:每隔1秒)下载所述弹框配置信息并存储在数据库。作为示例,所述数据库可以指Redis缓存数据库,所述弹框配置信息存储在Redis缓存数据库中,因此访问速度会特别快。
作为示例,通过调用HTTP接口也可称为通过HTTP请求,HTTP接口可以是HTTP接口,可选的,该HTTP接口可以是REST API,REST API比较友好,当然也可以是其他形式的接口。
举例来讲,所述HTTP接口实例可以如下:
HTTP接口名:http://demo.bilibili.com/mirror/getPopupByBrand?brand=xxx;
请求方式:GET;
请求参数:brand(设备品牌);
返回结果:设备品牌、弹框标题信息、弹框控件信息、事件类型;
通过调用所述HTTP接口即可实现:根据设备品牌,获取所述弹框配置信息。
需要说明的是,上述HTTP接口实例仅为示例,不作为对本申请的限制。
请返回图2,步骤S204,读取所述弹框配置信息。
作为示例,如图4所示,所述步骤S204可以包括步骤S402。其中:步骤S402,通过循环遍历的方式从所述数据库中读取所述弹框配置信息。
作为示例,循环遍历的频率可以是每秒一次,通过循环遍历的方式从所述数据库中读取所述弹框配置信息,从而读取性能比较高。
作为示例,所读取的弹框配置信息包括配置的弹框标题信息、弹框控件信息、事件类型、设备品牌。弹框标题信息可以包括弹框标题名称与弹框标题ID其中的一个或两个。弹框控件信息可以包括弹框控件名称(比如:弹框按钮名称)与弹框控件ID(比如:弹框按钮ID)其中的一个或两个。事件类型可以是点击类型或输入类型。设备品牌可以是OPPO、vivo、honor、小米等。
请返回图2,步骤S206,根据所读取的弹框配置信息及当前页面信息查找需要点击的弹框控件坐标。
作为示例,如图5所示,所述步骤S206可以包括步骤S502~S512。其中:步骤S502,定时转存所述当前页面的页面树,其中,所述页面树至少包括所述当前页面的弹框标题信息;步骤S504,筛选所读取的弹框配置信息的事件类型为输入类型还是点击类型;步骤S506,在所述页面树中查找所读取的弹框配置信息的弹框标题信息;步骤S508,当查找到所读取的弹框配置信息的弹框标题信息时,判断所读取的弹框配置信息的设备品牌是否为预设设备品牌;步骤S510,如果所读取的弹框配置信息的设备品牌不是所述预设设备品牌,则通过XML解析方式查找所述需要点击的弹框控件坐标;步骤S512,如果所读取的弹框配置信息的设备品牌是所述预设设备品牌,则通过OCR解析方式查找所述需要点击的弹框控件坐标。
作为示例,所述页面树可以是一个XML格式的文本,可以包括终端设备(比如:Android手机)当前页面中各个元素及对应坐标。
作为示例,对于非预设设备品牌的终端设备(比如:honor手机、小米手机),没有安全限制,页面树可以同时包括弹框标题信息、弹框控件信息及弹框控件坐标。其中,弹框标题信息可以包括弹框标题名称与弹框标题ID二者其中的一个或者两个。弹框控件信息可以包括弹框控件名称与弹框控件ID二者其中的一个或者两个。
换言之,如果是非预设设备品牌的终端设备,页面树可以包括:弹框标题名称、弹框标题ID、弹框控件名称(比如:弹框关闭按钮名称)、弹框控件ID(比如:弹框关闭按钮ID)、弹框控件坐标(比如:弹框关闭按钮的坐标)。其中:弹框标题名称与弹框标题ID有可能其中一个或者两个存在于页面树,弹框控件名称与弹杠控件ID有可能其中一个或两个存在于页面树,弹框控件坐标是会存在于页面树的。
作为示例,对于预设设备品牌的终端设备(比如:OPPO手机、vivo手机),有安全限制,页面树可以仅包括弹框标题信息,而不包括弹框控件信息与弹框控件坐标。其中,弹框标题信息可以包括弹框标题名称与弹框标题ID二者其中的一个或者两个。
作为示例,如图6所示,所述步骤S510可以包括步骤S602~S604。其中:步骤S602,在所述页面树中继续查找所读取的弹框配置信息的弹框控件信息;步骤S604,如果查找到所读取的弹框配置信息的弹框控件信息,则根据所查找到的弹框控件信息在所述页面树中查找所述需要点击的弹框控件坐标。
作为示例,如图7所示,所述步骤S512可以包括步骤S702~S708。其中:步骤S702,截取所述当前页面的页面图像;步骤S704,通过OCR识别所述页面图像中的多个字符串及对应的坐标以获取坐标列表,所述坐标列表包括所述当前页面的弹框标题信息(弹框标题名称)、弹框控件信息(弹框标题名称)及弹框控件坐标;步骤S706,在所述坐标列表中查找所读取的弹框配置信息的弹框控件信息;步骤S708,如果查找到所读取的弹框配置信息的弹框控件信息,则根据所查找到的弹框控件信息在所述坐标列表中查找所述需要点击的弹框控件坐标。
作为示例,如图8所示,所述步骤S206还可以包括步骤S802-S804。其中:步骤S802,判断是否在所述页面树或所述坐标列表中查找到所述需要点击的弹框控件坐标;步骤S804,如果在所述页面树或所述坐标列表中没有查找到所述需要点击的弹框控件坐标,则产生并通知异常报告。
作为示例,如果在所述页面树或所述坐标列表中没有查找到所述需要点击的弹框控件坐标,则产生异常报告,并给测试人员发送邮件/企业微信,通知异常报告。
请返回图2,步骤S208,点击所述需要点击的弹框控件坐标以完成弹框处理。
作为示例,如图9所示,所述步骤S208可以包括步骤S902。其中:步骤S902,如果所读取的弹框配置信息的事件类型为所述输入类型,且在所述页面树或所述坐标列表中查找到所述需要点击的弹框控件坐标,则通过adb命令点击所述需要点击的弹框控件坐标以输入文本信息;或如果所读取的弹框配置信息的事件类型为所述点击类型,且在所述页面树或所述坐标列表中查找到所述需要点击的弹框控件坐标,则通过adb命令点击所述需要点击的弹框控件坐标以关闭对应弹框。作为示例,无论弹框控件的clickable属性是false还是true,均可以通过adb命令处理弹框(比如:均可以点击控件坐标来关闭弹框)。故,兼容性非常好。
实施例二
图10示意性示出了根据本申请实施例二的弹框处理方法的应用环境图与流程图。
如图10所示,本申请实施例二的弹框处理方法可以包括步骤S1~S13,其中:
步骤S1,在云平台,人工配置(也可称为人工维护)各种品牌手机的弹框配置信息,云平台接收弹框配置信息并存储于云平台的数据库中,所述弹框配置信息可以包括:弹框标题名称、弹框标题ID、弹框控件名称(比如:弹框按钮名称)、弹框控件ID(比如:弹框按钮ID)、事件类型(点击还是输入)、设备品牌(比如:OPPO、vivo、honor、小米)。其中,弹框标题名称与弹框标题ID两者有可能同时存在,也有可能仅存在其中一个,两者统称为弹框标题信息;弹框控件名称与弹框控件ID两者有可能同时存在,也有可能仅存在其中一个,两者统称为弹框控件信息。
步骤S2,部署在宿主机10上的弹框处理服务12通过调用云平台的HTTP接口定时(比如:每隔1秒),拉取云端数据固化到本地,比如:从云平台的数据库定时下载弹框配置信息并存储在本地数据库中。作为示例,所述本地数据库可以指宿主机10的Redis缓存数据库,所述弹框配置信息存储在Redis缓存数据库中,因此访问速度会特别快。
作为示例,通过调用HTTP接口也可称为通过HTTP请求,HTTP接口可以是HTTP接口,可选的,该HTTP接口可以是REST API,REST API比较友好,当然也可以是其他形式的接口。
步骤S3,部署在宿主机10上的弹框处理服务12通过循环遍历的方式从所述数据库中读取所述弹框配置信息。作为示例,循环遍历的频率可以是每秒一次,通过循环遍历的方式从所述数据库中读取所述弹框配置信息,从而读取性能比较高。
作为示例,所读取的弹框配置信息可以包括:弹框标题名称、弹框标题ID、弹框控件名称(比如:弹框按钮名称)、弹框控件ID(比如:弹框按钮ID)、事件类型(点击还是输入)、设备品牌(比如:OPPO、vivo、honor、小米)。其中:弹框标题名称与弹框标题ID有可能其中一个或者两个同时存在,统称为弹框标题信息;弹框控件名称与弹杠控件ID有可能其中一个或两个同时存在,统称为弹框控件信息。
步骤S4,部署在宿主机10上的弹框处理服务12定时(比如:每隔1.5秒)dump(转存)当前页面的页面树。作为示例,把终端设备(比如:Andriod手机)当前页面dump(转存)成XML格式的文本,所述XML格式的文本即是页面树。所述页面树是一个XML格式的文本,包括手机当前页面中各个元素及对应坐标。
作为示例,对于非预设设备品牌的终端设备(比如:honor手机、小米手机),没有安全限制,页面树可以同时包括弹框标题信息、弹框控件信息及弹框控件坐标。其中,弹框标题信息可以包括弹框标题名称与弹框标题ID二者其中的一个或者两个。弹框控件信息可以包括弹框控件名称与弹框控件ID二者其中的一个或者两个。
换言之,如果是非预设设备品牌的终端设备,页面树可以包括:弹框标题名称、弹框标题ID、弹框控件名称(比如:弹框关闭按钮名称)、弹框控件ID(比如:弹框关闭按钮ID)、弹框控件坐标(比如:弹框关闭按钮的坐标)。其中:弹框标题名称与弹框标题ID有可能其中一个或者两个存在于页面树,弹框控件名称与弹杠控件ID有可能其中一个或两个存在于页面树,弹框控件坐标是会存在于页面树的。
作为示例,对于预设设备品牌的终端设备(比如:OPPO手机、vivo手机),有安全限制,页面树可以仅包括弹框标题信息,而不包括弹框控件信息与弹框控件坐标。其中,弹框标题信息可以包括弹框标题名称与弹框标题ID二者其中的一个或者两个。
步骤S5,筛选S3中所读取的弹框配置信息的事件类型是输入类型还是点击类型。
针对输入类型与点击类型,步骤S6-S12均相同,唯步骤S13与S13a不同。
步骤S6,在所述页面树中查找所读取的弹框配置信息的弹框标题信息(比如:弹框标题名称和/或ID)。
作为示例,在步骤S3中可能一次性读取了多个弹框配置信息(比如:第一个、第二个),如果无法查找到所读取的第一个弹框配置信息的弹框标题信息,则继续在页面树中查找第二个弹框配置信息的弹框标题信息。如果查找到所读取的弹框配置信息的弹框标题信息,则继续执行S7。
步骤S7,当查找到所读取的弹框配置信息的弹框标题信息时,判断所读取的弹框配置信息的设备品牌是否为预设设备品牌。作为示例,所述预设设备品牌可以是OPPO/vivo等有安全限制的手机品牌,这些手机dump页面树可以仅包括弹框标题信息,而不包括弹框控件信息与弹框控件坐标。
如果所读取的弹框配置信息的设备品牌不是预设设备品牌,则执行步骤S8,通过XML解析方式查找需要点击的弹框控件坐标。
作为示例,通过XML解析方式来查找弹框控件坐标可以包括:在所述页面树中继续查找所读取的弹框配置信息的弹框控件信息(弹框控件名称和/或ID);如果查找到所读取的弹框配置信息的弹框控件信息(弹框控件名称和/或ID),则根据所查找到的弹框控件信息(弹框控件名称和/或ID)在所述页面树中查找需要点击的弹框控件坐标。
如果所读取的弹框配置信息的设备品牌是预设设备品牌,则执行步骤S9,通过OCR解析方式查找需要点击的弹框控件坐标。
作为示例,通过OCR解析方式查找弹框控件坐标可以包括:截取当前页面的页面图像;通过OCR识别所述页面图像中的多个字符串及对应的坐标以获取坐标列表,所述坐标列表包括当前页面的弹框标题信息(弹框标题名称)、弹框控件信息(弹框控件名称)及弹框控件坐标;在所述坐标列表中查找所读取的弹框配置信息中的弹框控件信息(弹框控件名称);如果查找到所读取的弹框配置信息的弹框控件信息(弹框控件名称),则根据所查找到的弹框控件信息(弹框控件名称)在所述坐标列表中查找需要点击的弹框控件坐标。
步骤S10,判断是否在所述页面树或所述坐标列表中查找到需要点击的弹框控件坐标。
步骤S11与S12,如果没有在所述页面树或所述坐标列表中查找到需要点击的弹框控件坐标,则产生异常报告,并给测试人员发送邮件/企业微信通知异常报告。
步骤S13,如果所述事件类型为输入类型,且在所述页面树或所述坐标列表中查找到需要点击的弹框控件坐标,则通过adb命令点击所述需要点击的弹框控件坐标以输入文本信息。作为示例,无论弹框控件的clickable属性是false还是true,均可以通过adb命令处理弹框。故,兼容性非常好。
步骤S13a,如果所述事件类型为点击类型,且在所述页面树或所述坐标列表中查找到需要点击的弹框控件坐标,则通过adb命令点击所述需要点击的弹框控件坐标以关闭弹框。
背景技术是基于AccessibilityService的弹框处理技术;而本申请不是基于AccessibilityService的弹框处理技术。与背景技术相比,本申请实施例有以下优点:
(1)因为背景技术是基于accessibilityService,而自动化测试框架(比如:Airtest、uiautomator2、Appium)是基于accessibility API,两者有冲突,在执行自动化测试任务时,会自动杀掉AccessbilityService,导致AccessbilityService不可用,无法自动处理弹框;只有在不执行自动化测试任务时,Accessbility Service才有可能正常使用来自动处理弹框。故,兼容性差。
而,本申请不是基于accessiblity Service,无论是否执行自动化测试任务均可自动处理弹框。故,兼容性好。
(2)因为背景技术中AccessibilityService是基于弹框控件处理弹框(比如:点击弹框控件而关闭弹框),所以当弹框控件的clickable属性是false时,不能处理弹框(比如:无法点击弹框控件来关闭弹框);当弹框控件的clickable属性是true时,方才可以处理弹框(比如:可以点击弹框控件来关闭弹框)。故,兼容性差。
而本申请不是基于弹框控件处理弹框(比如:点击弹框控件而关闭弹框),而是基于弹框控件坐标来处理弹框(比如:点击弹框控件坐标而关闭弹框)。故,无论弹框控件的clickable属性是false还是true,均可以通过adb命令处理弹框(比如:均可以点击弹框控件坐标来关闭弹框)。故,兼容性非常好。
(3)背景技术是基于AccessiblityService,每次有新类型手机,都需要对新类型手机的系统弹框信息进行硬编码为agent APP安装到新类型手机,故,适配成本很高。
而本申请在云端(云平台)维护(配置)各个机型的系统弹框信息,可以从云平台获取弹框配置信息,不需要硬编码,故适配成本低。
实施例三
图11示意性示出了根据本申请实施例三的弹框处理系统的框图,该弹框处理系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图11所示,该弹框处理系统110可以包括获取模块112、读取模块114、查找模块116及处理模块118。
获取模块112,用于从云平台获取并存储弹框配置信息。
作为示例,所述获取模块112用于通过调用所述云平台的HTTP接口定时(比如:每隔1秒)下载所述弹框配置信息并存储在数据库。作为示例,所述数据库可以指Redis缓存数据库,所述弹框配置信息存储在Redis缓存数据库中,因此访问速度会特别快。
作为示例,通过调用HTTP接口也可称为通过HTTP请求,HTTP接口可以是HTTP接口,可选的,该HTTP接口可以是REST API,REST API比较友好,当然也可以是其他形式的接口。
举例来讲,所述HTTP接口实例可以如下:
HTTP接口名:http://demo.bilibili.com/mirror/getPopupByBrand?brand=xxx;
请求方式:GET;
请求参数:brand(设备品牌);
返回结果:设备品牌、弹框标题信息、弹框控件信息、事件类型;
通过调用所述HTTP接口即可实现:根据设备品牌,获取所述弹框配置信息。
需要说明的是,上述HTTP接口实例仅为示例,不作为对本申请的限制。
读取模块114,用于读取所述弹框配置信息。
作为示例,所述读取模块114用于通过循环遍历的方式从所述数据库中读取所述弹框配置信息。
作为示例,循环遍历的频率可以是每秒一次,通过循环遍历的方式从所述数据库中读取所述弹框配置信息,从而读取性能比较高。
作为示例,所读取的弹框配置信息包括配置的弹框标题信息、弹框控件信息、事件类型、设备品牌。弹框标题信息可以包括弹框标题名称与弹框标题ID其中一个或两个。弹框控件信息可以包括弹框控件名称(比如:弹框按钮名称)与弹框控件ID(比如:弹框按钮ID)其中一个或两个。事件类型可以是点击类型或输入类型。设备品牌可以是OPPO、vivo、honor、小米等。
查找模块116,用于根据所读取的弹框配置信息及当前页面信息查找需要点击的弹框控件坐标。
作为示例,所述查找模块116用于:定时转存所述当前页面的页面树,其中,所述页面树至少包括所述当前页面的弹框标题信息;筛选所读取的弹框配置信息的事件类型为输入类型还是点击类型;在所述页面树中查找所读取的弹框配置信息的弹框标题信息,当查找到所读取的弹框配置信息的弹框标题信息时,判断所读取的弹框配置信息的设备品牌是否为预设设备品牌;如果所读取的弹框配置信息的设备品牌不是所述预设设备品牌,则通过XML解析方式查找所述需要点击的弹框控件坐标;如果所读取的弹框配置信息的设备品牌是所述预设设备品牌,则通过OCR解析方式查找所述需要点击的弹框控件坐标。
作为示例,所述页面树可以是一个XML格式的文本,可以包括终端设备(比如:Android手机)当前页面中各个元素及对应坐标。
作为示例,对于非预设设备品牌的终端设备(比如:honor手机、小米手机),没有安全限制,页面树可以同时包括弹框标题信息、弹框控件信息及弹框控件坐标。其中,弹框标题信息可以包括弹框标题名称与弹框标题ID二者其中的一个或者两个。弹框控件信息可以包括弹框控件名称与弹框控件ID二者其中的一个或者两个。
换言之,如果是非预设设备品牌的终端设备,页面树可以包括:弹框标题名称、弹框标题ID、弹框控件名称(比如:弹框关闭按钮名称)、弹框控件ID(比如:弹框关闭按钮ID)、弹框控件坐标(比如:弹框关闭按钮的坐标)。其中:弹框标题名称与弹框标题ID有可能其中一个或者两个存在于页面树,弹框控件名称与弹杠控件ID有可能其中一个或两个存在于页面树,弹框控件坐标是会存在于页面树的。
作为示例,对于预设设备品牌的终端设备(比如:OPPO手机、vivo手机),有安全限制,页面树可以仅包括弹框标题信息,而不包括弹框控件信息与弹框控件坐标。其中,弹框标题信息可以包括弹框标题名称与弹框标题ID二者其中的一个或者两个。
作为示例,如果所读取的弹框配置信息的设备品牌不是所述预设设备品牌,所述查找模块116还用于:在所述页面树中继续查找所读取的弹框配置信息的弹框控件信息(弹框控件名称和/或ID);如果查找到所读取的弹框配置信息的弹框控件信息(弹框控件名称和/或ID),则根据所查找到的弹框控件信息(弹框控件名称和/或ID)在所述页面树中查找所述需要点击的弹框控件坐标。
作为示例,如果所读取的弹框配置信息的设备品牌是所述预设设备品牌,所述查找模块116还用于:截取所述当前页面的页面图像;通过OCR识别所述页面图像中的多个字符串及对应的坐标以获取坐标列表,所述坐标列表包括所述当前页面的弹框标题信息(弹框标题名称)、弹框控件信息(弹框控件名称)及弹框控件坐标;在所述坐标列表中查找所读取的弹框配置信息的弹框控件信息(弹框控件名称);如果查找到所读取的弹框配置信息的弹框控件信息(弹框控件名称),则根据所查找到的弹框控件信息(弹框控件名称)在所述坐标列表中查找所述需要点击的弹框控件坐标。
作为示例,所述查找模块116还用于:判断是否在所述页面树或所述坐标列表中查找到所述需要点击的弹框控件坐标;如果在所述页面树或所述坐标列表中没有查找到所述需要点击的弹框控件坐标,则产生并通知异常报告。
作为示例,如果在所述页面树或所述坐标列表中没有查找到所述需要点击的弹框控件坐标,则产生异常报告,并给测试人员发送邮件/企业微信,通知异常报告。
处理模块118,用于点击所述需要点击的弹框控件坐标以完成弹框处理。
作为示例,所述处理模块118还用于:如果所读取的弹框配置信息的事件类型为所述输入类型,且在所述页面树或所述坐标列表中查找到所述需要点击的弹框控件坐标,则通过adb命令点击所述需要点击的弹框控件坐标以输入文本信息;或如果所读取的弹框配置信息的事件类型为所述点击类型,且在所述页面树或所述坐标列表中查找到所述需要点击的弹框控件坐标,则通过adb命令点击所述需要点击的弹框控件坐标以关闭对应弹框。作为示例,无论弹框控件的clickable属性是false还是true,均可以通过adb命令处理弹框(比如:均可以点击控件坐标来关闭弹框)。故,兼容性非常好。
实施例四
图12示意性示出了根据本申请实施例四的适于弹框处理方法的计算机设备1000的硬件架构示意图。在本申请一示例性的实施例中,计算机设备1000可以是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)、网关等。如图12所示,计算机设备1000至少包括但不限于:可通过系统总线相互通信链接存储器1010、处理器1020、网络接口1030。其中:
存储器1010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器1010可以是计算机设备1000的内部存储模块,例如该计算机设备1000的硬盘或内存。在另一些实施例中,存储器1010也可以是计算机设备1000的外部存储设备,例如该计算机设备1000上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器1010还可以既包括计算机设备1000的内部存储模块也包括其外部存储设备。本实施例中,存储器1010通常用于存储安装于计算机设备1000的操作系统和各类应用软件,例如弹框处理方法的程序代码等。此外,存储器1010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器1020在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器1020通常用于控制计算机设备1000的总体操作,例如执行与计算机设备1000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器1020用于运行存储器1010中存储的程序代码或者处理数据。
网络接口1030可包括无线网络接口或有线网络接口,该网络接口1030通常用于在计算机设备1000与其他计算机设备之间建立通信链接。例如,网络接口1030用于通过网络将计算机设备1000与外部终端相连,在计算机设备1000与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(WidebandCode Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图12仅示出了具有部件1010-1030的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器1010中的弹框处理方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器1020)所执行,以完成本申请实施例。
实施例五
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的弹框处理方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中弹框处理方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种弹框处理方法,其特征在于,所述方法包括:
从云平台获取并存储弹框配置信息;
读取所述弹框配置信息;
根据所读取的弹框配置信息及当前页面信息查找需要点击的弹框控件坐标;
点击所述需要点击的弹框控件坐标以完成弹框处理。
2.根据权利要求1所述的弹框处理方法,其特征在于:
所述从云平台获取弹框配置信息并存储所述弹框配置信息,包括:通过调用所述云平台的HTTP接口定时下载所述弹框配置信息并存储在数据库;
所述读取所述弹框配置信息,包括:通过循环遍历的方式从所述数据库中读取所述弹框配置信息。
3.根据权利要求1或2所述的弹框处理方法,其特征在于,所读取的弹框配置信息包括配置的弹框标题信息、弹框控件信息、事件类型、设备品牌;
所述根据所读取的弹框配置信息及当前页面信息查找需要点击的弹框控件坐标,包括:
定时转存所述当前页面的页面树,其中,所述页面树至少包括所述当前页面的弹框标题信息;
筛选所读取的弹框配置信息的事件类型为输入类型还是点击类型;
在所述页面树中查找所读取的弹框配置信息的弹框标题信息;
当查找到所读取的弹框配置信息的弹框标题信息时,判断所读取的弹框配置信息的设备品牌是否为预设设备品牌;
如果所读取的弹框配置信息的设备品牌不是所述预设设备品牌,则通过XML解析方式查找所述需要点击的弹框控件坐标;
如果所读取的弹框配置信息的设备品牌是所述预设设备品牌,则通过OCR解析方式查找所述需要点击的弹框控件坐标。
4.根据权利要求3所述的弹框处理方法,其特征在于,所述页面树是XML格式的文本,还包括所述当前页面的弹框控件信息及弹框控件坐标;
所述通过XML解析方式查找所述需要点击的弹框控件坐标,包括:
在所述页面树中继续查找所读取的弹框配置信息的弹框控件信息;
如果查找到所读取的弹框配置信息的弹框控件信息,则根据所查找到的弹框控件信息在所述页面树中查找所述需要点击的弹框控件坐标。
5.根据权利要求3所述的弹框处理方法,其特征在于,所述通过OCR解析方式查找所述需要点击的弹框控件坐标,包括:
截取所述当前页面的页面图像;
通过OCR识别所述页面图像中的多个字符串及对应的坐标以获取坐标列表,所述坐标列表包括所述当前页面的弹框标题信息、弹框控件信息及弹框控件坐标;
在所述坐标列表中查找所读取的弹框配置信息的弹框控件信息;
如果查找到所读取的弹框配置信息的弹框控件信息,则根据所查找到的弹框控件信息在所述坐标列表中查找所述需要点击的弹框控件坐标。
6.根据权利要求4或5所述的弹框处理方法,其特征在于,所述根据所读取的弹框配置信息及当前页面信息查找需要点击的弹框控件坐标,包括:
判断是否在所述页面树或所述坐标列表中查找到所述需要点击的弹框控件坐标;
如果在所述页面树或所述坐标列表中没有查找到所述需要点击的弹框控件坐标,则产生并通知异常报告。
7.根据权利要求6所述的弹框处理方法,其特征在于,所述点击所述需要点击的弹框控件坐标以完成弹框处理,包括:
如果所读取的弹框配置信息的事件类型为所述输入类型,且在所述页面树或所述坐标列表中查找到所述需要点击的弹框控件坐标,则通过adb命令点击所述需要点击的弹框控件坐标以输入文本信息;或
如果所读取的弹框配置信息的事件类型为所述点击类型,且在所述页面树或所述坐标列表中查找到所述需要点击的弹框控件坐标,则通过adb命令点击所述需要点击的弹框控件坐标以关闭对应弹框。
8.一种弹框处理系统,其特征在于,包括:
获取模块,用于从云平台获取并存储弹框配置信息;
读取模块,用于读取所述弹框配置信息;
查找模块,用于根据所读取的弹框配置信息及当前页面信息查找需要点击的弹框控件坐标;
处理模块,用于点击所述需要点击的弹框控件坐标以完成弹框处理。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1~7中任一项所述的弹框处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1~7中任一项所述的弹框处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110954285.2A CN113608817B (zh) | 2021-08-19 | 2021-08-19 | 弹框处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110954285.2A CN113608817B (zh) | 2021-08-19 | 2021-08-19 | 弹框处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113608817A true CN113608817A (zh) | 2021-11-05 |
CN113608817B CN113608817B (zh) | 2024-05-07 |
Family
ID=78341288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110954285.2A Active CN113608817B (zh) | 2021-08-19 | 2021-08-19 | 弹框处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113608817B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005050094A (ja) * | 2003-07-28 | 2005-02-24 | Toshiba Corp | 光学的文字読取装置 |
CN102129368A (zh) * | 2010-01-20 | 2011-07-20 | 腾讯科技(深圳)有限公司 | 界面皮肤更换系统及方法 |
CN105808257A (zh) * | 2016-03-08 | 2016-07-27 | 杭州朗和科技有限公司 | 一种应用弹窗识别方法和装置 |
CN108628657A (zh) * | 2018-05-09 | 2018-10-09 | 深圳壹账通智能科技有限公司 | 弹窗处理方法、装置、计算机设备及存储介质 |
CN109947650A (zh) * | 2019-03-20 | 2019-06-28 | 广州云测信息技术有限公司 | 脚本步骤处理方法、装置和系统 |
CN110069311A (zh) * | 2019-04-24 | 2019-07-30 | 努比亚技术有限公司 | 应用程序窗口显示方法、装置、移动终端及可读存储介质 |
US20200310555A1 (en) * | 2019-03-29 | 2020-10-01 | Boe Technology Group Co., Ltd. | Remote information input method, device and system |
CN111767203A (zh) * | 2019-04-01 | 2020-10-13 | 北京奇虎科技有限公司 | 基于应用测试的弹框处理方法及系统 |
CN112083973A (zh) * | 2020-09-18 | 2020-12-15 | 珠海豹趣科技有限公司 | 一种窗口关闭方法、装置、电子设备及存储介质 |
CN112988568A (zh) * | 2021-02-04 | 2021-06-18 | 上海硬通网络科技有限公司 | 游戏测试方法、装置及电子设备 |
CN113032264A (zh) * | 2021-03-29 | 2021-06-25 | 网易(杭州)网络有限公司 | 页面视图控件的检测方法及装置 |
-
2021
- 2021-08-19 CN CN202110954285.2A patent/CN113608817B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005050094A (ja) * | 2003-07-28 | 2005-02-24 | Toshiba Corp | 光学的文字読取装置 |
CN102129368A (zh) * | 2010-01-20 | 2011-07-20 | 腾讯科技(深圳)有限公司 | 界面皮肤更换系统及方法 |
CN105808257A (zh) * | 2016-03-08 | 2016-07-27 | 杭州朗和科技有限公司 | 一种应用弹窗识别方法和装置 |
CN108628657A (zh) * | 2018-05-09 | 2018-10-09 | 深圳壹账通智能科技有限公司 | 弹窗处理方法、装置、计算机设备及存储介质 |
CN109947650A (zh) * | 2019-03-20 | 2019-06-28 | 广州云测信息技术有限公司 | 脚本步骤处理方法、装置和系统 |
US20200310555A1 (en) * | 2019-03-29 | 2020-10-01 | Boe Technology Group Co., Ltd. | Remote information input method, device and system |
CN111767203A (zh) * | 2019-04-01 | 2020-10-13 | 北京奇虎科技有限公司 | 基于应用测试的弹框处理方法及系统 |
CN110069311A (zh) * | 2019-04-24 | 2019-07-30 | 努比亚技术有限公司 | 应用程序窗口显示方法、装置、移动终端及可读存储介质 |
CN112083973A (zh) * | 2020-09-18 | 2020-12-15 | 珠海豹趣科技有限公司 | 一种窗口关闭方法、装置、电子设备及存储介质 |
CN112988568A (zh) * | 2021-02-04 | 2021-06-18 | 上海硬通网络科技有限公司 | 游戏测试方法、装置及电子设备 |
CN113032264A (zh) * | 2021-03-29 | 2021-06-25 | 网易(杭州)网络有限公司 | 页面视图控件的检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113608817B (zh) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9444899B2 (en) | Use of internet information services logging to collect user information in an asynchronous manner | |
US10621211B2 (en) | Language tag management on international data storage | |
US11113050B2 (en) | Application architecture generation | |
CN108920691B (zh) | 前端静态资源的管理方法、装置、计算机设备及存储介质 | |
US20130290898A1 (en) | Method for presenting prompt message, terminal and server | |
CN112579118B (zh) | 微服务的配置信息更新方法、装置、系统、介质和设备 | |
CN107798064B (zh) | 页面处理方法、电子设备及计算机可读存储介质 | |
CN113138757B (zh) | 前端代码自动生成方法、装置、服务器、系统及介质 | |
CN112632358A (zh) | 一种资源链接获取方法、装置、电子设备及存储介质 | |
CN110716804A (zh) | 无用资源的自动删除方法、装置、存储介质及电子设备 | |
CN116737693A (zh) | 数据迁移方法及装置、电子设备和计算机可读存储介质 | |
CN109492144B (zh) | 软件系统的关联关系分析方法、装置和存储介质 | |
CN110825622A (zh) | 软件测试方法、装置、设备和计算机可读介质 | |
CN110837500A (zh) | 基于socal内嵌窗口的数据筛选方法、装置以及计算机设备 | |
CN113608817A (zh) | 弹框处理方法及系统 | |
CN112783903B (zh) | 生成更新日志的方法和装置 | |
CN110471708B (zh) | 基于可重用组件的配置项获取的方法及装置 | |
CN112650569A (zh) | 基于Oracle代码的定时任务关系网络图生成方法及相关设备 | |
CN112083945B (zh) | Npm安装包的更新提示方法、装置、电子设备及存储介质 | |
CN113419760B (zh) | 打开/保存工程文件的方法、装置、计算机设备和介质 | |
CN113934953B (zh) | 网页首屏渲染方法及装置 | |
CN116594876A (zh) | 一种接口测试方法、装置、设备及存储介质 | |
CN117931219A (zh) | 前端项目实现方法、装置、电子设备和存储介质 | |
CN112256646A (zh) | 操作文件系统子目录的方法、装置、电子设备及存储介质 | |
CN118095212A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |