CN112394921A - 应用程序的界面获取方法、装置、计算机设备和存储介质 - Google Patents

应用程序的界面获取方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112394921A
CN112394921A CN202011394866.7A CN202011394866A CN112394921A CN 112394921 A CN112394921 A CN 112394921A CN 202011394866 A CN202011394866 A CN 202011394866A CN 112394921 A CN112394921 A CN 112394921A
Authority
CN
China
Prior art keywords
interface
click
application program
picture
click command
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
CN202011394866.7A
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.)
Jiangsu Tongfudun Information Security Technology Co ltd
Jiangsu Pay Egis Technology Co ltd
Original Assignee
Jiangsu Tongfudun Information Security Technology Co ltd
Jiangsu Pay Egis Technology 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 Jiangsu Tongfudun Information Security Technology Co ltd, Jiangsu Pay Egis Technology Co ltd filed Critical Jiangsu Tongfudun Information Security Technology Co ltd
Priority to CN202011394866.7A priority Critical patent/CN112394921A/zh
Publication of CN112394921A publication Critical patent/CN112394921A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请涉及一种应用程序的界面获取方法、装置、计算机设备和存储介质。所述方法包括:响应于应用程序的启动操作,获取点击命令流文件,点击命令流文件中包含多条点击命令,每条点击命令包含对应的界面元素图片;根据点击命令中包含的界面元素图片,从应用程序的界面中确定与界面元素图片匹配的目标区域;对与目标区域执行点击操作,并响应于点击操作进行界面跳转。采用本方法能够减少了自动化点击的开发难度,提高产品开发效率;通过基于图像匹配技术查找界面元素所在位置,提高了在不同类型的应用程序间使用的兼容性;且避免了界面元素可能不存在而仍旧执行点击的误操作的情形。

Description

应用程序的界面获取方法、装置、计算机设备和存储介质
技术领域
本申请涉及信息安全技术领域,特别是涉及一种应用程序的界面获取方法、装置、计算机设备和存储介质。
背景技术
随着App(Application,应用程序)市场的繁荣兴盛,大量企业推出了自己的应用程序,促使移动互联网发展壮大。然而市面上的App质量良莠不齐,充斥着很多内容违规App,如涉黄,涉恐,涉政等。目前,可采用App界面图片内容识别的方式检测App是否存在内容违规问题。
传统技术中,App运行时的各界面图片可通过以下方式自动获取:基于App逆向解析得到的界面元素坐标;根据界面元素坐标点进行自动点击完成界面跳转;截图得到各界面图片。但是,仍然存在一些App,如HTML5(HyperText Markup Language 5,超文本5.0)应用,无法通过逆向解析完成自动化点击界面跳转任务。或者,预先针对每个界面配置界面元素的固定坐标点;在进行界面内容测试时,通过根据固定坐标点进行自动化点击操作;截图得到各界面图片。但是,存在一些App在运行时的部分界面元素是随机出现的,无法通过固定坐标点的方式完成自动化点击界面跳转任务。因此,传统技术中的方案无法对任意App进行界面自动化点击完成界面跳转任务,从而无法得到各界面的界面图片。
发明内容
基于此,有必要针对上述技术问题,提供一种能够对任意App进行界面自动化点击完成界面跳转任务的应用程序的界面获取方法、装置、计算机设备和存储介质。
第一方面,本申请实施例公开一种应用程序的界面获取方法,所述方法包括:
响应于应用程序的启动操作,获取点击命令流文件,所述点击命令流文件中包含多条点击命令,每条点击命令包含对应的界面元素图片;
根据所述点击命令中包含的界面元素图片,从所述应用程序的界面中确定与所述界面元素图片匹配的目标区域;
对与所述目标区域执行点击操作,并响应于所述点击操作进行界面跳转。
在其中一个实施例中,所述点击命令流的生成方式,包括:
从所述应用程序的主界面开始,获取从所述主界面中采集的界面元素图片;
根据所述主界面的界面元素图片生成第一个点击命令;
响应于对所述主界面中界面元素的点击操作,展示第二个界面,并以此类推,得到与每个界面对应的点击命令;
按照所述点击命令的生成顺序保存所得到的点击命令,生成所述点击命令流文件。
在其中一个实施例中,所述根据所述点击命令中包含的界面元素图片,从所述应用程序的界面中确定与所述界面元素图片匹配的目标区域,包括:
从所述应用程序的主界面开始,每展示一个新的界面,则根据所述点击命令流文件中点击命令的生成顺序,获取对应的点击命令,直至所述点击命令执行完毕;
根据当前获取的点击命令中包含的当前界面元素图片,从所述应用程序的当前展示界面中确定与所述当前界面元素匹配的目标区域。
在其中一个实施例中,所述根据当前获取的点击命令中包含的当前界面元素图片,从所述应用程序的当前展示界面中确定与所述当前界面元素匹配的目标区域,包括:
对所述应用程序的当前展示界面进行截图,得到当前界面图片;
通过模板匹配从所述当前界面图片中确定与所述当前界面元素图片匹配的目标区域。
在其中一个实施例中,对所述目标区域执行点击操作,包括:
获取所述目标区域的位置坐标;
根据所述目标区域的位置坐标确定所述目标区域的中心点;
对所述中心点执行点击操作。
在其中一个实施例中,所述方法还包括:
每展示一个新的界面,则对所展示的界面进行截图,得到对应的界面图片;
对每个界面图片进行识别,得到所述每个界面图片中的界面内容;
若判断任一界面图片对应的界面内容中存在违规内容,则生成应用程序违规的测试结果;
若判断所述每个界面图片对应的界面内容中都不存在所述违规内容,则生成应用程序合规的测试结果。
第二方面,本申请实施例公开一种应用程序的界面获取装置,所述装置包括:
文件获取模块,用于响应于应用程序的启动操作,获取点击命令流文件,所述点击命令流文件中包含多条点击命令,每条点击命令包含对应的界面元素图片;
目标区域确定模块,用于根据所述点击命令中包含的界面元素图片,从所述应用程序的界面中确定与所述界面元素图片匹配的目标区域;
界面跳转模块,用于对与所述目标区域执行点击操作,并响应于所述点击操作进行界面跳转。
在其中一个实施例中,所述装置还包括:
图片采集模块,用于从所述应用程序的主界面开始,获取从所述主界面中采集的界面元素图片;
点击命令生成模块,用于根据所述主界面的界面元素图片生成第一个点击命令;响应于对所述主界面中界面元素的点击操作,展示第二个界面,并以此类推,得到与每个界面对应的点击命令;
点击命令流生成模块,用于按照所述点击命令的生成顺序保存所得到的点击命令,生成所述点击命令流文件。
第三方面,本申请实施例公开一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项实施例所述的方法的步骤。
第四方面,本申请实施例公开一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一项实施例所述的方法的步骤。
上述应用程序的界面获取方法、装置、计算机设备和存储介质,预先将界面元素图片进行保存生成点击命令流文件;在检测到应用程序的启动操作后,从点击命令流文件的点击命令中获取界面元素图片;根据所得到的界面元素图片从当前界面中确定匹配的目标区域,并针对目标区域执行自动化点击操作,实现界面跳转。本申请的技术方案基于图像匹配技术实现自动化点击,相对传统技术而言,无需了解应用程序的内部结构、开发框架以及编程语言等技术细节,对应用程序进行逆向解析,也无需提前记录界面元素的固定坐标位置,便能对应用程序实施点击操作,减少了自动化点击的开发难度,提高了产品开发效率;通过基于图像匹配技术查找界面元素所在位置,提高了在不同类型的应用程序间使用的兼容性;且避免了界面元素可能不存在而仍旧执行点击的误操作的情形。
附图说明
图1为一个实施例中应用程序的界面获取方法的应用环境图;
图2为一个实施例中应用程序的界面获取方法的流程示意图;
图3为一个实施例中生成点击命令流文件生成步骤的流程示意图;
图4为另一个实施例中确定目标区域步骤的流程示意图;
图5为一个实施例中应用程序的界面获取方法的流程示意图;
图6为一个实施例中生成点击命令流文件生成步骤的流程示意图;
图7为一个实施例中应用程序的界面获取装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的应用程序的界面获取方法,可以应用于终端中。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。应用程序的界面获取基于自动化点击程序实现。终端预先部署有自动化点击程序的执行文件。在自动对应用程序触发启动操作后,获取与应用程序对应的点击命令流文件。从点击命令流文件中的点击命令中的获取界面元素图片。根据界面元素图片确定界面中与界面元素图片匹配的目标区域。对目标区域自动执行点击操作,跳转到下一个界面,进而对下一个界面实施信息安全检测。
在另一个实施例中,本申请提供的应用程序的界面获取方法还可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行通信。服务器120中预先存储有多个应用程序的点击命令流文件,以供至少一个终端110调用。终端110预先部署有自动话点击程序。在终端110自动对应用程序触发启动操作后,向服务器120发送点击命令流文件的获取请求,获取请求中携带应用程序的关联信息(例如,唯一性地标识、应用程序名称等),请求服务器120根据应用程序的关联信息查找到对应的点击命令流文件,并将该点击命令流文件返回至终端110。终端110从点击命令流文件中获取点击命令的界面元素图片。根据界面元素图片确定界面中与界面元素图片匹配的目标区域。对目标区域执行点击操作,跳转到下一个界面,进而对下一个界面实施信息安全检测。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种应用程序的界面获取方法,以该方法应用于终端为例进行说明,包括以下步骤:
步骤S210,响应于应用程序的启动操作,获取点击命令流文件,点击命令流文件中包含多条点击命令,每条点击命令包含对应的界面元素图片。
其中,应用程序是指为完成某项或多项特定工作的计算机程序,它运行在用户模式,可以和用户进行交互,具有可视的用户界面。
点击命令流是由一条条点击命令组成的命令组合,这些点击命令按照一定顺序排布,能够完成对界面元素的自动点击功能。点击命令流中的点击命令可以按照应用程序的界面打开顺序排布;或者随机排布;或者用户依需求进行自定义排布等。每个点击命令中携带界面元素图片。
界面元素是指应用程序界面中所包含的能够满足用户交互要求的元素,例如,可以是控件、超链接等。界面元素图片是用户预先在应用程序的界面中进行截图采集得到的图片。
具体地,对应用程序进行信息安全检测可以是用户手动触发的;也可以是终端自动触发的,例如,预先配置在每天的固定时间点自动对应用程序执行信息安全检测。终端响应于信息安全检测的启动指令,对待检测的应用程序实施启动操作。终端获取待检测的应用程序的关联信息。根据应用程序的关联信息从本地数据库或者服务器中获取对应的点击命令流文件。
步骤S220,根据点击命令中包含的界面元素图片,从应用程序的界面中确定与界面元素图片匹配的目标区域。
具体地,终端从第一点击命令开始,每进入一个应用程序的界面,按照点击命令流中点击命令的排布,从点击命令流文件中相应的获取下一个点击命令,并从所获取的点击命令中得到界面元素图片。终端对当前界面元素图片和应用程序的当前界面进行自动匹配,从应用程序的当前界面中确定与当前界面元素图片最匹配的目标区域。其中,自动匹配可以通过模板匹配、图像特征检索等技术实现。
步骤S230,对与目标区域执行点击操作,并响应于点击操作进行界面跳转。
具体地,由于目标区域是与界面元素图片最匹配的区域,因此可以认为该区域包含可点击的界面元素,且可点击的界面元素与界面元素图片中包含的界面元素一致。终端自动对目标区域执行点击操作,并自动响应该点击操作进行页界面跳转。相应地,终端从点击命令流中获取下一个点击命令,并重复步骤S220和步骤S230,以此类推,直至点击命令流中的点击命令全部执行完毕。
在一个可能性实施例中,应用程序的数量可以有多个。预先定义应用程序列表,应用程序列表中包含的应用程序是需进行信息安全检测的应用程序。终端根据应用程序列表中定义的顺序依次对每个应用程序执行如步骤S210~步骤S230所述的内容,直至对应用程序列表中包含的所有应用程序全部检测完毕。
在一个可能性实施例中,应用程序可以在信息安全测试前就已安装在终端中;也可以是在触发信息安全检测的执行指令时,根据应用程序的关联信息自行下载并安装至终端中。在信息安全检测结束后,终端保存检测结果,并自行卸载已检测的应用程序,从而可以节省终端设备的运行空间。
在一个可能性实施例中,步骤S210~步骤S230所述的技术方案还可以应用于模拟输入账号、输入密码等私有化配置属性,可通过上述技术方案动态配置口令(例如手机口令)等设置,从而避免校验逻辑未通过而无法执行后续操作的情况。
上述应用程序的界面获取方法中,预先将界面元素图片进行保存生成点击命令流文件;在检测到应用程序的启动操作后,从点击命令流文件的点击命令中获取界面元素图片;根据所得到的界面元素图片从当前界面中确定匹配的目标区域,并针对目标区域执行自动化点击操作,实现界面跳转。本申请的技术方案基于图像匹配技术实现自动化点击,相对传统技术而言,无需了解应用程序的内部结构、开发框架以及编程语言等技术细节,对应用程序进行逆向解析,也无需提前记录界面元素的固定坐标位置,便能对应用程序实施点击操作,减少了自动化点击的开发难度,提高了产品开发效率;通过基于图像匹配技术查找界面元素所在位置,提高了在不同类型的应用程序间使用的兼容性;且避免了界面元素可能不存在而仍旧执行点击的误操作的情形。
在一个实施例中,对点击命令流文件的一种生成方式进行说明。如图3所示,可以通过以下步骤实现:
步骤S310,从应用程序的主界面开始,获取从主界面中采集的界面元素图片。
步骤S320,根据主界面的界面元素图片生成第一个点击命令。
其中,在本实施例中,点击命令流文件是一个有序列表,由用户手动定义。列表里每项描述当前需要点击的界面元素图片。整个点击命令流描述了应用程序的一次完整的点击过程。
具体地,对于任一个需要信息安全检测的应用程序,用户对该应用程序触发启动操作,使应用程序的客户端响应启动操作,展示应用程序的主界面。从应用程序的主界面开始,用户对主界面中的界面元素实施截图操作,使终端获取对应的界面元素截图。用户将界面元素截图加入至点击命令中,生成第一个点击命令。
步骤S330,响应于对主界面中界面元素的点击操作,展示第二个界面,并以此类推,得到与每个界面对应的点击命令。
步骤S340,按照点击命令的生成顺序保存所得到的点击命令,生成点击命令流文件。
具体地,在生成第一个点击命令后,用户触发主界面中的界面元素,使终端展示第二个界面。参照步骤S310和步骤S320继续获取第二界面中的界面元素截图,并根据所得到的界面元素截图生成对应的点击命令。用户参照上述步骤依次打开应用程序的每个界面,并对每个界面中的界面元素实时截图操作,从而得到对应的点击命令,直至应用程序的所有界面都访问完毕。用户按照点击命令的生成顺序保存所得到的点击命令,生成与应用程序对应的点击命令流文件,并将所得到的点击命令流文件保存在本地数据库或者服务器中。
在一个可能性实施例中,应用程序的界面中可能包含多个界面元素。在这种情况下,可以在点击命令流文件中插入包含“返回界面元素”图片的点击命令,使得终端能够对同一个界面中的不同界面元素自动实施点击操作,从而更加全面地获取应用程序的界面图片。
本实施例中,通过用户手动依次打开应用程序的每个界面,对每个界面中的界面元素实时截图操作,从而得到对应的点击命令,并根据点击命令的生成顺序生成点击命令流文件,使得所得到的点击命令流文件能够覆盖应用程序的完整点击过程,从而有助于提高对应用程序进行信息安全检测的准确性。
在一个实施例中,如图4所示,步骤S220,根据点击命令中包含的界面元素图片,从应用程序的界面中确定与界面元素图片匹配的目标区域,可以通过以下步骤实现:
步骤S221,从应用程序的主界面开始,每展示一个新的界面,则根据点击命令流文件中点击命令的生成顺序,获取对应的点击命令,直至点击命令执行完毕。
步骤S222,根据当前获取的点击命令中包含的当前界面元素图片,从应用程序的当前展示界面中确定与当前界面元素匹配的目标区域。
具体地,终端响应于信息安全检测的启动指令,自动对应用程序实施启动操作。终端启动预先部署的自动化点击程序,通过自动化点击程序获取应用程序对应的点击命令流文件,并从点击命令流文件中解析出点击命令序列。本实施例所采用的点击命令流文件是参照图3对应的实施例得到的。因此,从应用程序的主界面开始,在跳转至当前展示界面后,则按照点击命令流中点击命令的顺序获取对应的当前点击命令,并从当前点击命令中得到当前界面元素图片。从当前展示界面中确定与当前界面元素图片最匹配的区域,作为目标区域。对目标区域自动执行点击操作,继续进入下一个展示界面,重复上述执行过程,直至所有的点击命令都执行完毕。
本实施例中,通过采用覆盖应用程序的完整点击过程的点击命令流文件,从而能够获取应用程序的每个界面,有助于提高对应用程序进行信息安全检测的准确性。
在一个实施例中,对界面元素图片和应用程序界面的匹配过程进行说明。步骤S222,根据当前获取的点击命令中包含的当前界面元素图片,从应用程序的当前展示界面中确定与当前界面元素匹配的目标区域,包括:对应用程序的当前展示界面进行截图,得到当前界面图片;通过模板匹配从当前界面图片中确定与当前界面元素图片匹配的目标区域。
具体地,在跳转至应用程序的当前展示界面后,终端对当前展示界面自动进行截图操作,得到当前界面图片。将当前界面元素图片作为参考,按照预设方向(例如从左至右,从上至下)将当前界面元素图片在当前界面图片上进行滑动,得到与当前界面元素图片一样大小的图像块。计算每个图像块和当前界面元素图片的相似度,并取相似度最高的图像块,作为目标区域。其中,相似度可以采用匹配算法(例如平方差匹配、标准平方差匹配、相关匹配等)或者图片特征相关性等算法得到。
本实施例中,通过采用模板匹配技术从当前界面图片中确定点击区域,匹配过程直观,且由于模板匹配技术简洁易于调试,从而减少了调试成本,提高了自动化点击程序的健壮性。
在一个实施例中,步骤S230,对目标区域执行点击操作,包括:获取目标区域的位置坐标;根据目标区域的位置坐标确定目标区域的中心点;对中心点执行点击操作。
具体地,在模板匹配的过程中所得到的图像块的形状可以为任意形状,例如圆形、矩形等。终端获取目标区域的位置坐标,根据目标区域的位置坐标计算得到目标区域的中心点位置坐标。进而对中心点位置坐标执行点击操作。示例性地,位置坐标可以通过像素坐标表征;图像块为矩形。在确定目标区域后,终端获取目标区域四个端点的像素坐标。根据四个端点的像素坐标计算得到矩形中心点的像素坐标。进而对中心点的像素坐标执行点击操作,使应用程序自动跳转至下一个界面。
本实施例中,在确定与界面元素图片最为匹配的目标区域后,进一步地根据目标区域的位置坐标确定目标区域的中心点,对中心点执行点击操作,可以提高自动点击的精度。
在一个实施例中,在步骤S230,每展示一个新的界面,则对所展示的界面进行截图,得到对应的界面图片之后,还包括以下步骤;对每个界面图片进行识别,得到每个界面图片中的界面内容;若判断任一界面图片对应的界面内容中存在违规内容,则生成应用程序违规的测试结果;若判断每个界面图片对应的界面内容中都不存在违规内容,则生成应用程序合规的测试结果。
具体地,应用程序每打开一个界面,则自动触发截图指令,得到对应的界面图片。针对每个界面图片,通过预先部署的深度学习算法识别得到每个界面图片中的界面内容,并基于所得到的界面内容判断应用程序是否存在信息安全隐患。示例性地,通过OCR(Optical Character Recognition,光学字符识别)技术对每个界面图片进行字符识别,得到每个界面图片中的文字内容。对所得到的文字内容进行敏感词识别。若判断文字内容中存在敏感词,则认为应用程序存在违规内容,生成应用程序违规的测试结果。进一步地,若判断每个界面图片对应的界面内容中都不存在违规内容,则生成应用程序合规的测试结果。
本实施例中,通过基于自动化点击程序获取应用程序的完整界面内容,并使终端根据完整界面内容自行判断应用程序是否存在违规内容,无需用户手动介入,自动化程度高,从而可以提高测试的效率;通过引入深度学习技术,可以提高测试的准确性。
在一个实施例中,提供了一种具体的应用程序的界面获取方法,以应用程序为Android安卓操作系统下的应用程序为例进行说明,如图5所示,包括以下步骤:
步骤S510,终端自动触发应用程序的启动操作。
步骤S520,终端获取点击命令流文件。
其中,点击命令流文件中包含多条点击命令,每条点击命令包含对应的界面元素图片。多条点击命令按照应用程序的实际界面打开顺序进行排序。参照图6,对点击命令流文件的生成方式进行说明:
步骤S521,响应于用户触发的启动操作,启动应用程序。
步骤S522,从应用程序的主界面开始,响应于用户对当前界面中界面元素的截图操作,得到对应的界面元素图片。界面元素为测试过程中需要执行点击操作的元素。
步骤S523,根据当前界面元素图片生成当前点击命令,将当前点击命令加入至点击命令流中。
步骤S524,响应于对当前界面元素的点击操作,跳转至下一个界面。若下一个界面中存在需要点击的界面元素图片,则重复执行步骤S511~步骤S514,直至到达应用程序的最后一个界面,获取所有的界面元素图片。
步骤S525,按照点击命令的生成顺序(即应用程序的界面打开顺序)保存所得到的点击命令,生成点击命令流文件。
步骤S530,从应用程序的主界面开始,每展示一个新的界面,则根据点击命令流文件中点击命令的生成顺序,获取对应的点击命令。进一步地,若点击命令流中所有点击命令都执行完毕,则结束该流程。
步骤S540,对应用程序的当前展示界面进行截图,得到当前界面图片。
具体地,自动化点击程序通过ADB(Andorid Debug Bridge,安卓调试桥)命令截取应用程序的当前整个屏幕内容,作为当前界面图片。
步骤S550,通过模板匹配从当前界面图片中确定与当前界面元素图片匹配的目标区域。
步骤S560,获取目标区域的位置坐标,并根据目标区域的位置坐标确定目标区域的中心点。
步骤S570,对中心点执行点击操作,响应于点击操作进行界面跳转。
进一步地,还可以基于所得到的界面图片对应用程序执行信息安全检测。具体地,每展示一个新的界面,则对所展示的界面进行截图,得到对应的界面图片;对每个界面图片进行识别,得到每个界面图片中的界面内容;若判断任一界面图片对应的界面内容中存在违规内容,则生成应用程序违规的测试结果;若判断每个界面图片对应的界面内容中都不存在违规内容,则生成应用程序合规的测试结果。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种应用程序的界面获取装置700,包括:文件获取模块701、目标区域确定模块702和界面跳转模块703,其中:
文件获取模块701,用于响应于应用程序的启动操作,获取点击命令流文件,点击命令流文件中包含多条点击命令,每条点击命令包含对应的界面元素图片;目标区域确定模块702,用于根据点击命令中包含的界面元素图片,从应用程序的界面中确定与界面元素图片匹配的目标区域;界面跳转模块703,用于对与目标区域执行点击操作,并响应于点击操作进行界面跳转。
在一个实施例中,所述装置700还包括:图片采集模块,用于从应用程序的主界面开始,获取从主界面中采集的界面元素图片;点击命令生成模块,用于根据主界面的界面元素图片生成第一个点击命令;响应于对主界面中界面元素的点击操作,展示第二个界面,并以此类推,得到与每个界面对应的点击命令;点击命令流生成模块,用于按照点击命令的生成顺序保存所得到的点击命令,生成点击命令流文件。
在一个实施例中,目标区域确定模块702,包括:点击命令获取单元,用于从应用程序的主界面开始,每展示一个新的界面,则根据点击命令流文件中点击命令的生成顺序,获取对应的点击命令,直至点击命令执行完毕;目标区域确定单元,用于根据当前获取的点击命令中包含的当前界面元素图片,从应用程序的当前展示界面中确定与当前界面元素匹配的目标区域。
在一个实施例中,目标区域确定单元,包括:截图子单元,用于对应用程序的当前展示界面进行截图,得到当前界面图片;目标区域确定子单元,用于通过模板匹配从当前界面图片中确定与当前界面元素图片匹配的目标区域。
在一个实施例中,界面跳转模块703,包括:位置获取单元,用于获取目标区域的位置坐标;中心点确定单元,用于根据目标区域的位置坐标确定目标区域的中心点;点击单元,用于对中心点执行点击操作。
在一个实施例中,所述装置700还包括:截图模块,用于每展示一个新的界面,则对所展示的界面进行截图,得到对应的界面图片;图片识别模块,用于对每个界面图片进行识别,得到每个界面图片中的界面内容;应用测试模块,用于若判断任一界面图片对应的界面内容中存在违规内容,则生成应用程序违规的测试结果;若判断每个界面图片对应的界面内容中都不存在违规内容,则生成应用程序合规的测试结果。
关于应用程序的界面获取装置的具体限定可以参见上文中对于应用程序的界面获取方法的限定,在此不再赘述。上述应用程序的界面获取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种应用程序的界面获取方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
响应于应用程序的启动操作,获取点击命令流文件,点击命令流文件中包含多条点击命令,每条点击命令包含对应的界面元素图片;根据点击命令中包含的界面元素图片,从应用程序的界面中确定与界面元素图片匹配的目标区域;对与目标区域执行点击操作,并响应于点击操作进行界面跳转。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
从应用程序的主界面开始,获取从主界面中采集的界面元素图片;根据主界面的界面元素图片生成第一个点击命令;响应于对主界面中界面元素的点击操作,展示第二个界面,并以此类推,得到与每个界面对应的点击命令;按照点击命令的生成顺序保存所得到的点击命令,生成点击命令流文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
从应用程序的主界面开始,每展示一个新的界面,则根据点击命令流文件中点击命令的生成顺序,获取对应的点击命令,直至点击命令执行完毕;根据当前获取的点击命令中包含的当前界面元素图片,从应用程序的当前展示界面中确定与当前界面元素匹配的目标区域。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对应用程序的当前展示界面进行截图,得到当前界面图片;通过模板匹配从当前界面图片中确定与当前界面元素图片匹配的目标区域。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取目标区域的位置坐标;根据目标区域的位置坐标确定目标区域的中心点;对中心点执行点击操作。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
每展示一个新的界面,则对所展示的界面进行截图,得到对应的界面图片;对每个界面图片进行识别,得到每个界面图片中的界面内容;若判断任一界面图片对应的界面内容中存在违规内容,则生成应用程序违规的测试结果;若判断每个界面图片对应的界面内容中都不存在违规内容,则生成应用程序合规的测试结果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
响应于应用程序的启动操作,获取点击命令流文件,点击命令流文件中包含多条点击命令,每条点击命令包含对应的界面元素图片;根据点击命令中包含的界面元素图片,从应用程序的界面中确定与界面元素图片匹配的目标区域;对与目标区域执行点击操作,并响应于点击操作进行界面跳转。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
从应用程序的主界面开始,获取从主界面中采集的界面元素图片;根据主界面的界面元素图片生成第一个点击命令;响应于对主界面中界面元素的点击操作,展示第二个界面,并以此类推,得到与每个界面对应的点击命令;按照点击命令的生成顺序保存所得到的点击命令,生成点击命令流文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
从应用程序的主界面开始,每展示一个新的界面,则根据点击命令流文件中点击命令的生成顺序,获取对应的点击命令,直至点击命令执行完毕;根据当前获取的点击命令中包含的当前界面元素图片,从应用程序的当前展示界面中确定与当前界面元素匹配的目标区域。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对应用程序的当前展示界面进行截图,得到当前界面图片;通过模板匹配从当前界面图片中确定与当前界面元素图片匹配的目标区域。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取目标区域的位置坐标;根据目标区域的位置坐标确定目标区域的中心点;对中心点执行点击操作。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
每展示一个新的界面,则对所展示的界面进行截图,得到对应的界面图片;对每个界面图片进行识别,得到每个界面图片中的界面内容;若判断任一界面图片对应的界面内容中存在违规内容,则生成应用程序违规的测试结果;若判断每个界面图片对应的界面内容中都不存在违规内容,则生成应用程序合规的测试结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种应用程序的界面获取方法,其特征在于,所述方法包括:
响应于应用程序的启动操作,获取点击命令流文件,所述点击命令流文件中包含多条点击命令,每条点击命令包含对应的界面元素图片;
根据所述点击命令中包含的界面元素图片,从所述应用程序的界面中确定与所述界面元素图片匹配的目标区域;
对与所述目标区域执行点击操作,并响应于所述点击操作进行界面跳转。
2.根据权利要求1所述的方法,其特征在于,所述点击命令流文件的生成方式,包括:
从所述应用程序的主界面开始,获取从所述主界面中采集的界面元素图片;
根据所述主界面的界面元素图片生成第一个点击命令;
响应于对所述主界面中界面元素的点击操作,展示第二个界面,并以此类推,得到与每个界面对应的点击命令;
按照所述点击命令的生成顺序保存所得到的点击命令,生成所述点击命令流文件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述点击命令中包含的界面元素图片,从所述应用程序的界面中确定与所述界面元素图片匹配的目标区域,包括:
从所述应用程序的主界面开始,每展示一个新的界面,则根据所述点击命令流文件中点击命令的生成顺序,获取对应的点击命令,直至所述点击命令执行完毕;
根据当前获取的点击命令中包含的当前界面元素图片,从所述应用程序的当前展示界面中确定与所述当前界面元素匹配的目标区域。
4.根据权利要求3所述的方法,其特征在于,所述根据当前获取的点击命令中包含的当前界面元素图片,从所述应用程序的当前展示界面中确定与所述当前界面元素匹配的目标区域,包括:
对所述应用程序的当前展示界面进行截图,得到当前界面图片;
通过模板匹配从所述当前界面图片中确定与所述当前界面元素图片匹配的目标区域。
5.根据权利要求1所述的方法,其特征在于,对所述目标区域执行点击操作,包括:
获取所述目标区域的位置坐标;
根据所述目标区域的位置坐标确定所述目标区域的中心点;
对所述中心点执行点击操作。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
每展示一个新的界面,则对所展示的界面进行截图,得到对应的界面图片;
对每个界面图片进行识别,得到所述每个界面图片中的界面内容;
若判断任一界面图片对应的界面内容中存在违规内容,则生成应用程序违规的测试结果;
若判断所述每个界面图片对应的界面内容中都不存在所述违规内容,则生成应用程序合规的测试结果。
7.一种应用程序的界面获取装置,其特征在于,所述装置包括:
文件获取模块,用于响应于应用程序的启动操作,获取点击命令流文件,所述点击命令流文件中包含多条点击命令,每条点击命令包含对应的界面元素图片;
目标区域确定模块,用于根据所述点击命令中包含的界面元素图片,从所述应用程序的界面中确定与所述界面元素图片匹配的目标区域;
界面跳转模块,用于对与所述目标区域执行点击操作,并响应于所述点击操作进行界面跳转。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
图片采集模块,用于从所述应用程序的主界面开始,获取从所述主界面中采集的界面元素图片;
点击命令生成模块,用于根据所述主界面的界面元素图片生成第一个点击命令;响应于对所述主界面中界面元素的点击操作,展示第二个界面,并以此类推,得到与每个界面对应的点击命令;
点击命令流生成模块,用于按照所述点击命令的生成顺序保存所得到的点击命令,生成所述点击命令流文件。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202011394866.7A 2020-12-03 2020-12-03 应用程序的界面获取方法、装置、计算机设备和存储介质 Pending CN112394921A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011394866.7A CN112394921A (zh) 2020-12-03 2020-12-03 应用程序的界面获取方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011394866.7A CN112394921A (zh) 2020-12-03 2020-12-03 应用程序的界面获取方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN112394921A true CN112394921A (zh) 2021-02-23

Family

ID=74604999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011394866.7A Pending CN112394921A (zh) 2020-12-03 2020-12-03 应用程序的界面获取方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112394921A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104965596A (zh) * 2015-07-24 2015-10-07 上海宝宏软件有限公司 语音操控系统
WO2016095554A1 (zh) * 2014-12-19 2016-06-23 广州博冠信息科技有限公司 应用程序的测试方法、设备及系统
CN109117358A (zh) * 2017-06-23 2019-01-01 百度在线网络技术(北京)有限公司 用于电子设备的测试方法和测试装置
CN110659212A (zh) * 2019-09-20 2020-01-07 腾讯科技(深圳)有限公司 一种软件测试方法、装置、设备及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016095554A1 (zh) * 2014-12-19 2016-06-23 广州博冠信息科技有限公司 应用程序的测试方法、设备及系统
CN104965596A (zh) * 2015-07-24 2015-10-07 上海宝宏软件有限公司 语音操控系统
CN109117358A (zh) * 2017-06-23 2019-01-01 百度在线网络技术(北京)有限公司 用于电子设备的测试方法和测试装置
CN110659212A (zh) * 2019-09-20 2020-01-07 腾讯科技(深圳)有限公司 一种软件测试方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN108196930B (zh) 应用程序处理方法、装置、存储介质和计算机设备
CN109901834B (zh) 文档页面生成方法、装置、计算机设备和存储介质
CN102306117B (zh) 一种硬件检测自动报警的方法及装置
KR20140038381A (ko) 이동 통신 장치의 콘텐츠를 시험하기 위한 시스템 및 방법
CN108399124B (zh) 应用测试方法、装置、计算机设备和存储介质
US20170344449A1 (en) Testing method of electronic devices
CN109783351A (zh) 界面测试方法、装置及计算机可读存储介质
CN111324352A (zh) 一种应用页面的代码生成方法及相关设备
CN112612690A (zh) 一种用户界面信息处理方法、装置、电子设备及存储介质
CN110727595B (zh) 一种应用登录界面识别方法、智能终端及存储介质
CN111414309B (zh) 应用程序的自动化测试方法、计算机设备和存储介质
US11403209B2 (en) Rendering GUI test object of application under test to reflect test information
CN109815127B (zh) 自动化脚本转换方法、装置、计算机设备和存储介质
CN115118687B (zh) 消息推送方法、装置、存储介质及计算机设备
CN112394921A (zh) 应用程序的界面获取方法、装置、计算机设备和存储介质
US20170277722A1 (en) Search service providing apparatus, system, method, and computer program
CN113672826A (zh) 页面跳转方法、装置、计算机设备和存储介质
CN110825370A (zh) 移动端应用开发方法、装置及系统
US10545858B2 (en) Method for testing a graphical interface and corresponding test system
CN111190574B (zh) 多级联动组件的选项选择方法、装置、设备和存储介质
CN112162743A (zh) 驱动程序生成方法、装置、计算机设备和存储介质
CN115982018B (zh) 一种基于ocr的ui测试方法、系统、计算机设备和存储介质
Chu et al. Automated GUI testing for android news applications
CN113961466A (zh) 案例录制方法、装置、计算机设备和存储介质
CN112491799B (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