CN110162730A - 信息处理方法、装置、计算机设备及存储介质 - Google Patents

信息处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110162730A
CN110162730A CN201910359053.5A CN201910359053A CN110162730A CN 110162730 A CN110162730 A CN 110162730A CN 201910359053 A CN201910359053 A CN 201910359053A CN 110162730 A CN110162730 A CN 110162730A
Authority
CN
China
Prior art keywords
page
application program
event information
jump
determining
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
Application number
CN201910359053.5A
Other languages
English (en)
Other versions
CN110162730B (zh
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.)
Beijing Wutong Chelian Technology Co Ltd
Original Assignee
Beijing Wutong Chelian 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 Beijing Wutong Chelian Technology Co Ltd filed Critical Beijing Wutong Chelian Technology Co Ltd
Priority to CN201910359053.5A priority Critical patent/CN110162730B/zh
Publication of CN110162730A publication Critical patent/CN110162730A/zh
Application granted granted Critical
Publication of CN110162730B publication Critical patent/CN110162730B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种信息处理方法、装置、计算机设备及计算机存储介质,应用于计算机技术领域,包括:根据应用程序的源代码,确定所述应用程序的页面跳转信息;根据所述页面跳转信息,确定页面之间的跳转关系;基于所述页面之间的跳转关系及页面内容,生成表征所述应用程序的业务逻辑的页面交互流程图。所述方法可以保证针对应用程序的页面交互的业务逻辑的全面信息,提高工作效率。

Description

信息处理方法、装置、计算机设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种信息处理方法、装置、计算机设备及存储介质。
背景技术
为了维护应用程序或为所述应用程序开发新的功能的情况下,开发人员需要先了解所述应用程序的业务逻辑。目前主要是通过人工体验或者反向工程工具等方式来得到所述应用程序的业务逻辑关系,而利用上述这些方式来获得业务逻辑关系存在工作量大、工作效率低、业务逻辑遗漏等问题。
发明内容
有鉴于此,本发明实施例提供一种信息处理方法、装置、计算机设备及存储介质。
为达到上述目的,本发明的技术方案是这样实现的:
一种信息处理方法,所述方法包括:
根据应用程序的源代码,确定所述应用程序的页面跳转事件信息;
根据所述页面跳转事件信息,确定页面之间的跳转关系;
基于所述页面之间的跳转关系及页面内容,生成表征所述应用程序的业务逻辑的页面交互流程图。
上述方案中,根据应用程序的源代码,确定所述应用程序的页面跳转事件信息,包括:
根据所述应用程序的源代码,确定基于所述应用程序所包含的用户界面UI所产生的第一类页面跳转事件信息。
上述方案中,所述根据所述应用程序的源代码,确定基于所述应用程序所包含的用户界面UI所产生的第一类页面跳转事件信息,包括:
根据所述应用程序的源代码,从针对于UI显示的UI组件或链接文本的交互事件信息,选择出会导致页面跳转的所述第一类页面跳转事件信息。
上述方案中,所述根据所述应用程序的源代码,确定基于应用程序所包含的用户界面UI所产生的第一类页面跳转事件信息,包括:
根据所述应用程序的源代码,从显示特定UI时所对应的侦听事件中选择出会导致页面跳转的所述第一类页面跳转事件信息。
上述方案中,所述根据应用程序的源代码,确定所述应用程序的页面跳转事件信息,包括以下至少之一:
根据所述应用程序的源代码,确定所述应用程序的页面架构所包含的第一类页面的页面跳转事件信息;
根据所述应用程序的源代码,确定所述应用程序中所述页面架构以外的第二类页面的页面跳转事件信息。
上述方案中,所述第二类页面为弹窗页面;所述第一类页面为所述弹窗页面以外能与其他页面发生页面跳转的页面。
上述方案中,所述方法还包括:
根据所述应用程序的源代码,确定由所述应用程序所安装的操作系统所产生的导致所述应用程序的页面发生跳转的系统事件信息;
所述根据所述页面跳转事件信息,确定页面之间的跳转关系,包括:
根据所述页面跳转事件信息及所述系统事件信息,确定页面之间的跳转关系。
本发明实施例还提供一种信息处理装置,所述装置包括:
第一确定模块,用于根据应用程序的源代码,确定所述应用程序的页面跳转事件信息;
第二确定模块,用于根据所述页面跳转事件信息,确定页面之间的跳转关系;
生成模块,用于基于所述页面之间的跳转关系及页面内容,生成表征所述应用程序的业务逻辑的页面交互流程图。
本发明实施例还提供一种计算机设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中所述处理器用于运行所述计算机程序时,实现本发明任一实施例所述的信息处理方法。
本发明实施例还提供一种计算机存储介质,存储有可执行程序,所述可执行程序被处理器执行时,实现本发明任一实施例所述的信息处理方法。
本发明实施例所提供的信息处理方法,通过根据应用程序的源代码,确定所述应用程序的页面跳转事件信息;根据所述页面跳转事件信息,确定页面之间的跳转关系;基于所述页面之间的跳转关系及页面内容,生成表征所述应用程序的业务逻辑的页面交互流程图。如此,本发明实施例能够直接基于源代码分析确定应用程序的针对页面交互的业务逻辑,相对于相关技术中,通过人工体验应用程序等方式获得应用程序的针对页面交互的业务逻辑而言,通过人工体验应用程序来获得所述业务逻辑需要花费时间成本大,并且在人工体验过程中很可能存在页面信息中跳转功能的遗漏;因此,本发明实施例由于能够直接基于源代码分析确定应用程序的针对页面交互的业务逻辑,一方面能为维护应用程序或为应用程序开发新功能的开发人员快速提供所述应用程序的业务逻辑,以供开发人员进行参考,减轻了开发人员通过人工体验或利用反向工具来获得业务逻辑的工作量,进而提高了对应用程序的业务逻辑的获取的工作效率;另一方面,通过上述方法获得的应用程序的页面交互的业务逻辑更加全面,避免了业务逻辑的遗漏所造成的维护或开发工作的无效;从而提高了维护应用程序和开发应用程序新功能时的工作效率。
附图说明
图1为本发明实施例提供的一种信息处理方法的流程示意图;
图2为本发明实施例提供的一种信息处理方法的场景示意图;
图3为本发明实施例提供的一种信息处理方法所确定的页面交互流程图;
图4为本发明另一实施例提供的一种信息处理方法的场景示意图;
图5为本发明另一实施例提供的一种信息处理方法所确定的页面交互流程图;
图6为本发明具体实施例提供的一种信息处理方法的流程示意图;
图7为本发明实施例提供的一种信息处理装置的功能结构示意图;
图8为本发明实施例提供的一种计算机设备的硬件结构示意图。
具体实施方式
以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在发明的说明书中所使用的术语只是为了描述具体的实施例的目标,不是旨在于限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意和所有的组合。
本发明实施例的应用场景可以是:开发人员在维护已有的应用程序或者为已有的应用程序新增新的功能时,需要获得所述应用程序现有存在的业务逻辑。通过获得的针对所述应用程序现有存在的业务逻辑的基础上,进行新的业务逻辑的规划和布局。
图1为本发明实施例提供的一种信息处理方法的流程示意图,如图1所示,所述方法包括以下步骤:
步骤101:根据应用程序的源代码,确定所述应用程序的页面跳转事件信息;
步骤102:根据所述页面跳转事件信息,确定页面之间的跳转关系;
步骤103:基于所述页面之间的跳转关系及页面内容,生成表征所述应用程序的业务逻辑的页面交互流程图。
可以理解的是,所述方法可以应用在计算机设备中,该计算机设备能够读取所述源代码的代码信息。所述计算机设备可以具体为手机、平板电脑、笔记本电脑和台式电脑等。
可以理解的是,所述页面跳转事件信息包括页面之间的跳转关系。这里,步骤102可以为从所述页面跳转事件信息中提取页面之间的跳转关系。
这里的页面可以理解为应用程序的信息页,一般承载了应用程序的相关文本、图像、表格、链接等元素。这里的页面跳转可以理解为从一个页面跳转到另一个页面的过程,页面跳转通常是通过触发导致的。
进一步地,页面之间的跳转关系可以至少包括导致页面跳转的UI(UserInterface,用户界面),以及基于UI导致的页面跳转的UI的所属页面及目标页面。换而言之,至少由UI、UI所属页面及目标页面三者来确定所述页面之间的跳转关系。
这里,所述UI可以理解为是系统和用户之间进行交互和信息交换的媒介,实现信息的内部形式与人类可以接受形式之间的转换。UI是介于用户与硬件而设计彼此之间交互沟通相关软件,目的在使得用户能够方便有效率地去操作硬件以达成双向之交互,完成所希望借助硬件完成之工作。这里,应用软件中的UI可以是终端设备的显示屏上的可用于操作的虚拟控件,例如,虚拟按键或链接文本等。
可以理解的是,UI在所述应用程序中可以表现为显示的UI以及隐藏的UI,例如,显示的UI可以是显示在终端设备的显示屏上的按键、链接;隐藏的UI可以是特定UI用于检测特定操作的控件,例如,用于侦听长按的特定UI,或者用于侦听点击的特定UI。
在一可选实施例中,所述步骤102,可以包括:根据所述应用程序的源代码,确定基于所述应用程序所包含的UI所产生的第一类页面跳转事件信息。
其中,所述第一类页面跳转事件信息,可以理解为基于所述应用程序所包含的UI所产生的。也就是说,针对应用程序所包含的UI所产生的能够导致页面跳转的相关事件信息都可以被归于所述第一类页面跳转事件;针对应用程序所包含的UI以外能够导致页面跳转的相关事件信息不被称为第一类页面跳转事件。
这里,所述根据所述应用程序的源代码,确定基于应用程序所包含的UI所产生的第一类页面跳转事件信息,包括:根据所述应用程序的源代码,从针对于UI显示的UI组件或链接文本的交互事件信息,选择出会导致页面跳转的所述第一类页面跳转事件信息。
这里所述UI组件可以理解为针对于UI显示的视图对象,还可以理解为用于供用户进行输入操作的控件,所述UI组件可以包括以下至少之一:页面中的按钮、输入框、单选框、多选框、列表;这里,所述输入操作可以包括手动操作和/或语音操作等各种能够与UI完成交互的操作。
具体地,所述根据应用程序的源代码,从针对于UI显示的UI组件的交互事件信息,选择出会导致页面跳转的所述第一类页面跳转事件信息,包括:根据所述应用程序的源代码,获取所述源代码中每个页面的UI组件的交互事件信息;根据所述UI组件的交互事件信息,判断所述UI组件是否会导致页面进行跳转;将能够导致页面进行跳转的对应的UI组件的交互事件信息提取出来;根据提取出的UI组件的交互事件信息确定所述第一类页面跳转事件信息。其中,所述UI组件的交互事件信息包括UI组件的ID(IDentity,身份识别码)、名称、操作信息,UI组件的所属页面、UI组件的目标页面。
这里,所述根据所述UI组件的交互事件信息,判断所述UI组件是否会导致页面进行跳转,包括:根据所述UI组件的交互事件信息,确定所述UI组件操作前UI所属页面,与UI组件的目标页面;比对UI组件所属页面与UI组件的目标页面的页面信息;如果UI组件所属页面与UI组件的目标页面的页面信息的页面信息相同,则所述UI组件不会导致页面进行跳转,如果操作前UI组件所属页面与UI组件的目标页面的页面信息的页面信息不同,则所述UI组件会导致页面进行跳转,此时提取能够导致页面进行跳转的对应的UI组件的交互事件信息。
例如,以源代码程序为java编程语言为例,遍历所有页面的java代码,通过识别关键字来识别UI组件,例如,是按钮、输入框、列表等,识别UI组件的ID,识别点击相关的关键字段,例如点击对应的关键字段为onClick、长按相关的关键字,例如长按对应的关键字段为onLongClick,提取onClick、onLongClick后边的大括号内的逻辑代码,判定是否有启动接口组件相关的关键字和展示相关的关键字,例如,启动接口组件对应的代码关键字段为startActivity,展示对应的关键字段为show,从而确定出跳转的目标页面的页面信息。
这里,所述页面信息可以为用于区分页面的相关信息;具体地,所述页面信息,可以包括以下至少之一:页面名称、页面启动接口、页面类名、页面别名。
在一些实施例中,通过识别源代码中针对页面的标签信息,来识别所述页面的页面名称、页面启动接口、页面类名以及页面别名中的至少一种。
具体地,所述通过识别源代码中针对页面的标签信息,来识别所述页面信息,包括以下至少之一:
通过识别第一类标签信息,确定所述页面的页面名称;
通过识别第二类标签信息,确定所述页面的页面启动接口;
通过识别第三类标签信息,确定所述页面的页面类名;
通过识别第四类标签信息,确定所述页面的页面别名。
如此,可以通过识别页面的页面信息中面名称、页面启动接口、页面类名以及页面别名中的至少一种,确定UI组件所属页面与UI组件的目标页面的页面信息是否相同。
例如,以源代码程序为java编程语言为例,可以通过解析应用程序的配置文件中,通过名称属性标签,例如名称属性标签对应的关键字段为activity,识别所述页面的页面名称;通过类名标签,例如类名标签对应的关键字段为name识别所述页面的页面类别;通过业务代理标签,例如业务代理标签对应的关键字段为action识别所述页面的页面启动接口;通过别名标签,例如别名标签对应的关键字段为activity-alias识别所述页面的页面别名。
这里,所述根据提取出的UI组件的交互事件信息确定所述第一类页面跳转事件信息,包括:通过根据所述UI组件的交互事件信息中包含的UI组件的所属页面的页面信息以及所述UI组件的目标页面的页面信息,确定所述第一类页面跳转事件信息。
具体地,所述根据应用程序的源代码,从针对于UI显示的链接文本的交互事件信息,选择出会导致页面跳转的所述第一类页面跳转事件信息,包括:根据所述应用程序的源代码,获取所述源代码中每个页面的链接文本的交互事件信息;根据所述链接文本的交互事件信息,判断所述链接文本的交互事件信息是否会导致页面进行跳转;将能够导致页面进行跳转的对应的链接文本的交互事件信息提取出来;根据提取出的链接文本的交互事件信息确定所述第一类页面跳转事件信息。
需要说明的是,所述链接文本是指电子计算机程序的各个模块之间传递参数和控制指令,是指从一个页面指向一个目标的连接关系,所指向的目标可以的另一个页面,也可以是相同页面上的不同位置,可以是图片、电子邮件地址、甚至其他应用程序。
这里,所述链接文本的交互事件信息包括链接文本,链接文本所属的页面以及链接文本的目标指向。如果链接文本的目标指向为另一个页面时,确定所述链接文本可以导致页面进行跳转。
这里,所述根据提取出的所述连接文本相关信息确定所述第一类页面跳转事件信息,包括:通过根据所述链接文本的交互事件信息中包含的链接文本的所属页面的页面信息以及所述链接文本的目标指向页面的页面信息,确定所述第一类页面跳转事件信息。
在本实施例中,通过根据所述应用程序的源代码,从针对于UI显示的UI组件或链接文本的交互事件信息,选择出会导致页面跳转的所述第一类页面跳转事件信息,也就是,可以对所有的UI显示的UI组件和链接文本中选择出包含能够导致页面跳转的UI组件和链接文本的第一类页面跳转事件信息,如此所有显示的UI对应的页面交互流程图中业务逻辑都进行了分析,可以保证页面交互流程图针对现实的UI的全面性,不会产生遗漏;进一步地,由于能够将不能导致页面跳转的UI组件和链接文本进行剔除,使得最终生成的页面交互流程图简洁、可读性更高。
在另一可选的实施例中,所述根据所述应用程序的源代码,确定基于应用程序所包含的用户界面UI所产生的第一类页面跳转事件信息,包括:根据所述应用程序的源代码,从显示特定UI时所产生的侦听事件中选择出会导致页面跳转的第一类页面跳转事件信息。
这里,根据所述应用程序的源代码,从显示特定UI时所对应的侦听事件中选择出会导致与页面跳转的所述第一类页面跳转事件信息,包括:根据所述应用程序的源代码,获取所述源代码中侦听事件信息;根据所述侦听事件信息,判断所述侦听事件信息是否会导致页面进行跳转;将能够导致页面进行跳转的对应的侦听事件信息提取出来;根据提取出的所述侦听事件信息确定所述第一类页面跳转事件信息。
其中,所述侦听事件信息包括侦听事件的关键词信息以及侦听对象信息。这里,所述侦听对象信息可以理解为显示特定的UI,例如,侦听对象可以是显示的按钮,通过侦听所述按钮的点击事件以及长按事件,判断所述按钮在点击事件或长按事件下是否产生页面跳转;这里,所述侦听事件的关键词信息包括用于进行侦听的相关语句,例如,在java编程语言中,可以通过识别侦听事件对应的关键字段来获取特定UI的侦听事件,例如,侦听点击事件对应的关键字段为“setOnClickListener”,可以通过识别“setOnClickListener”来侦听特定UI的点击事件,侦听长按事件对应的关键字段为“SetOnLongClickListener”,可以通过识别“SetOnLongClickListener”来侦听特定UI的长按事件。
这里,所述根据提取出的所述侦听事件信息确定所述第一类页面跳转事件信息,包括:通过根据所述侦听事件信息中包含的侦听对象信息,以及针对侦听事件所产生的页面跳转事件信息,其中,所述页面跳转事件信息包括侦听对象所属页面的页面信息和跳转的目标页面的页面信息,从而确定所述第一类页面跳转事件信息。
在本实施例中,通过根据所述应用程序的源代码,从显示特定UI时所对应的侦听事件中选择出会导致页面跳转的所述第一类页面跳转事件信息。这样一来,可以对特定的UI进行业务逻辑的提取,例如对点击或长按特定页面,或者长按特定按钮的业务逻辑进行提取,可以进一步优化表征业务逻辑的页面交互流程图,避免对于隐藏的页面之间跳转关系的遗漏,相比较人工体验而言,通过本实施例得到的所述业务流程图不仅更加全面,而且能够减少人工针对例如长按事件等特殊事件的尝试过程,能大大减少工作量,提高工作效率。
在另一可选的实施例中,所述步骤102,可以包括以下至少之一:
根据所述应用程序的源代码,确定所述应用程序的页面架构所包含第一类页面的页面跳转事件信息;
根据所述应用程序的源代码,确定所述应用程序中所述页面架构以外的第二类页面的页面跳转事件信息。
这里,请结合图2,图2为本发明实施例提供的一种信息处理方法的场景示意图,如图2所示,图2左图表示应用程序当前正处于第一页面21;图2右图表示应用程序当前正处于第二页面22;当用户点击“针对UI显示的UI组件”,例如,用户点击“女装”按键211,进入到第二页面22;同时可以通过第二页面22中的返回按键221返回第一页面21。这里,所述第一页面和第二页面为第一类页面,可理解的是,第一页面和第二页面为应用程序的页面架构中的其中两个页面。
在一具体实施例中,所述第一页面可以是首页。计算机设备可以通过识别源代码中的第五类标签,确定应用程序的首页。例如,在java编程语言中,通过识别category标签,来是否页面是否为首页。在识别出首页后,可以以首页作为所述页面流程图的起始页,生成所述页面流程图。请参阅图3,图3本发明实施例提供的一种信息处理方法所确定的页面交互流程图,如图3所示,以所述应用程序的首页作为起始页生成所述页面交互流程图,该页面交互流程图中包括页面之间的跳转关系和页面内容,所述页面之间的跳转关系包括跳转的原页面、目标页面以及导致跳转的事件。这里,所述页面之间的跳转关系包括从应用程序的首页通过按键1跳转到页面1,通过按键2跳转到页面2的相关关系;所述页面内容包括可以导致页面跳转的相关内容,例如,首页中包括的按键内容。在本实施例中,通过将首页确定出来,再以首页作为页面流程图中的起始页,可以增加所述页面流程图的可读性。
请继续参阅图2,在图2的左图中,覆盖在第一页面21上的第三页面31是与所述第一页面和第二页面所代表的第一类页面不同的第二类页面。所述第二类页面是所述应用程序的页面架构以外的页面。在本实施例中,所述页面跳转事件信息中可以包括第二类页面的页面跳转事件信息。
在一些实施例中,第二类页面可以为弹窗页面;所述第一类页面为所述弹窗页面以外能够与其他页面发生页面跳转的页面。
在本实施例中,所述弹窗页面是覆盖在当前显示页面上的页面,可以由当前显示页跳转出来。
在另一可选的实施例中,所述方法还包括:
根据所述应用程序的源代码,确定由所述应用程序所安装的操作系统所产生的导致所述应用程序的页面发生跳转的系统事件信息;
所述根据所述页面跳转事件信息,确定页面之间的跳转关系,包括:
根据所述页面跳转事件信息及所述系统事件信息,确定页面之间的跳转关系。
这里,所述根据所述应用程序的源代码,确定由所述应用程序所安装的操作系统所产生的导致所述应用程序的页面发生跳转的系统事件信息,包括:根据所述应用程序的源代码,确定由所述应用程序所安装的操作系统所产生的导致所述应用程序页面发生跳转的时钟事件信息、电量变化信息以及网络变化信息中的至少一种。
在本实施例中,所述根据所述应用程序的源代码,确定由所述应用程序所安装的操作系统所产生的导致所述应用程序的页面发生跳转的系统事件信息,包括:根据所述应用程序的源代码,确定基于所述应用程序所安装的操作系统所产生的第一系统事件信息;根据所述第一系统事件信息,选择出能够导致页面跳转的第二系统事件信息,将所述第二系统事件信息作为确定的所述应用程序安装的操作系统所产生的导致所述应用程序的页面发生跳转的系统事件信息。
在本实施例中,通过根据选择的导致所述应用程序的页面发生跳转的系统事件信息以及所述页面跳转事件信息,确定页面之间的跳转关系,从而基于该跳转关系所生成的页面交互流程图不仅包括基于页面跳转事件信息引起的页面跳转的页面跳转关系,还包括了基于系统事件引起的页面跳转的页面跳转关系。
请参阅图4,图4为本发明另一实施例提供的一种信息处理方法的场景示意图,如图4所示,所述系统事件信息包括电量变化信息。这里,所述电量变化信息包括电量变化以及电量变化所带来的页面跳转信息,当电量低于20%时,系统将弹出一个提示弹窗页面41,在该提示弹窗页面41中提示用户是否将系统设置为节电模式。这里,所述系统事件信息不仅包括电量变化,还包括因电量变化而弹出的提示弹窗页面的页面信息。因此,根据上述实施例所述的页面跳转事件信息以及本实施例所述的系统事件信息,可以确定一个更加全面的针对应用程序的页面流程图。
具体地,可参阅图5,图5为本发明另一实施例提供的一种信息处理方法所确定的页面交互流程图,如图5所示,在所述页面交互流程图中包含了由系统事件信息引起的页面跳转关系,例如,系统事件发生,应用程序跳转到页面5中。
以下通过具体实施例对本发明实施例的技术方案进一步说明。
图6为本发明具体实施例所提供的一种信息处理方法的流程示意图,如图6所示,以下,以java编程语言环境为例,所述方法包括:
步骤601:页面信息提取(例如页面名称、动作监听、启动方式等)。
这里,通过应用程序的源代码,遍历提取所有页面的页面信息,提取的页面信息包括页面名称、页面启动接口、页面类名、页面别名、是否是应用程序的首页等,其中,所述页面启动接口又包括业务代理action、短链接和URI(Uniform Resource Identifier,统一资源标识符)。
具体地,解析应用程序配置文件,例如根据源代码解析关键字段为AndroidManifest.xml对应的配置文件,识别activity标签下的标签值label获取页面名称,识别name标签确定页面类名;识别action标签下的标签值获得页面启动接口;识别首页标签,例如关键字段为category标签的首页标签,确定是否为首页;识别activity-alias标签确认name和目标接口targetActivity来识别页面别名。
另一实施例中,遍历所有java文件,识别会话标签,例如会话标签对应的关键字段为Dialog,例如识别提示会话标签AlertDialog字段,识别为弹窗页面,通过设置标题关键字段,例如设置标题对应的关键字段为setTitle来接口识别弹框名称。或者,在另一些实施方式中,还可以通过识别窗口标签,例如通过窗口标签对应的关键字段WindowManager.addView接口识别所有悬浮窗口。
步骤602:交互事件提取(点击、滑动、长按等),页面之间的跳转关系提取,建立页面交互逻辑。
这里,对每个页面提取UI组件(按钮、输入框、单选、多选、列表等等)。提取的信息包括ID,名称,操作(点击、滑动、拖动),所属页面。如果相关操作产生页面跳转,则提取跳转目标页面标识(类名、别名、启动接口等等)。
具体地,通过识别到页面类名,遍历所有页面的java代码,通过识别关键字setOnClickListener、setOnLongClickListener、setNegativeButton、setPositiveButton等等,提取操作的视图对象,通过其实现类确定类型,例如Button、TextView、ListView等等,通过视图对象的赋值语句findViewById,标识视图对象id。识别onClick、onLongClick关键字,提取其后边的大括号内逻辑代码,判定是否有startActivity和show字段,从而确定页面启动接口,进而确定操作的视图对象对应的目标页面,以此来建立页面交互逻辑。
需要说明的是,这里的操作的视图对象,可以理解为上述实施例所述的UI组件。
步骤603:特殊事件提取(例如低电量、网络变化、无网、定时等),提取系统事件信息,建立针对页面的系统事件处理逻辑。
这里,从源代码中提取系统事件(时钟、电量变化、网络变化等等),并且提取事件响应逻辑。提取的信息包括事件类型、名称,如果事件响应后产生页面跳转,则提取跳转目标页面标识(页面类名、页面别名、页面启动接口等等)。
具体地,通过识别到页面类名,遍历所有页面的java代码,通过识别系统事件对应的参数,例如,通过识别系统对应的参数的关键字段registerReceiver,识别系统事件,通过意图过滤器IntentFilter设置的具体action字符串,和系统事件字典表对比识别具体的系统事件名称。同时再识别系统广播中响应对应的关键字段onReceive的方法识别startActivity和show字段,从而确定页面启动接口,进而确定系统事件对应的目标页面,以此来建立针对页面的系统事件处理逻辑。
步骤604:依据页面信息、页面交互逻辑以及针对页面的系统事件处理逻辑,产生应用程序的页面交互流程图。
具体地,依据UI组件提取的所述页面和目标页面、及系统事件响应的目标页面,可以构建整个应用程序的页面交互逻辑,进而生成应用程序的页面交互流程图。
需要说明的是,上述步骤601-604不限制步骤的顺序,只要能够最终得到应用程序的页面交互逻辑即可。
本发明实施例,通过提取源代码中的页面跳转事件信息,以及系统事件信息,根据所述页面跳转事件信息以及所述系统事件信息,确定页面之间的跳转关系;根据所述跳转关系以及页面内容,生成表征所述应用程序的业务逻辑的页面交互流程图,基于此,能够代替人工,采用自动化的方式生成交互流程图,不仅提高了工作效率,同时提供了一种更全面的文本信息的提取方式,使得生成的页面交互流程图的业务逻辑更全面。
如图7所示,本发明实施例还提供了一种信息处理装置,所述装置包括:第一确定模块71、第二确定模块72以及生成模块73;其中,
所述第一确定模块71,用于根据应用程序的源代码,确定所述应用程序的页面跳转事件信息;
所述第二确定单元72,用于根据所述页面跳转事件信息,确定页面之间的跳转关系;
所述生成模块73,用于基于所述页面之间的跳转关系及页面内容,生成表征所述应用程序的业务逻辑的页面交互流程图。
在一些实施例中,所述第一确定模块71,还用于根据所述应用程序的源代码,确定基于所述应用程序所包含的用户界面UI所产生的第一类页面跳转事件信息。
在一些实施例中,所述第一确定模块71,具体用于根据所述应用程序的源代码,从针对于UI显示的UI组件或链接文本的交互事件信息,选择出会导致页面跳转的所述第一类页面跳转事件信息。
在一些实施例中,所述第一确定模块72,具体用于根据所述应用程序的源代码,从显示特定UI时所对应的侦听事件中选择出会导致页面跳转的所述第一类页面跳转事件信息。
在一些实施例中,所述第一确定模块72,还用于以下至少之一:
根据所述应用程序的源代码,确定所述应用程序的页面架构所包含的第一类页面的页面跳转事件信息;
根据所述应用程序的源代码,确定所述应用程序中所述页面架构以外的第二类页面的页面跳转事件信息。
在一些实施例中,所述第二类页面为弹窗页面;所述第一类页面为所述弹窗页面以外能与其他页面发生页面跳转的页面。
在一些实施例中,所述装置还包括第三确定模块,所述第三确定模块用于:
根据所述应用程序的源代码,确定由所述应用程序所安装的操作系统所产生的导致所述应用程序的页面发生跳转的系统事件信息;
所述第二确定模块72,还用于根据所述页面跳转事件信息及所述系统事件信息,确定页面之间的跳转关系。
这里需要指出的是:以上信息处理装置项的描述,与上述信息处理方法项描述是类似的,同方法的有益效果描述,不做赘述。对于本发明信息处理装置实施例中未披露的技术细节,请参照本发明信息处理方法实施例的描述。
如图8所示,本发明实施例还公开了一种计算机设备,所述计算机设备包括:处理器81和用于存储能够在处理器81上运行计算机程序的存储器82,其中所述处理器81用于运行所述计算机程序时,实现应用于所述计算机设备的所述信息处理方法。
在一些实施例中,本发明实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
而处理器可能种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
在一些实施例中,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital SignalProcessing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(ProgrammableLogic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本发明又一实施例提供了一种计算机存储介质,该计算机可读存储介质存储有可执行程序,所述可执行程序被处理器执行时,可实现应用于所述交通工具的信息处理方法的步骤。例如,如图1-图6所示的方法中的一个或多个。
在一些实施例中,所述计算机存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种信息处理方法,其特征在于,所述方法包括:
根据应用程序的源代码,确定所述应用程序的页面跳转事件信息;
根据所述页面跳转事件信息,确定页面之间的跳转关系;
基于所述页面之间的跳转关系及页面内容,生成表征所述应用程序的业务逻辑的页面交互流程图。
2.根据权利要求1所述的方法,其特征在于,根据应用程序的源代码,确定所述应用程序的页面跳转事件信息,包括:
根据所述应用程序的源代码,确定基于所述应用程序所包含的用户界面UI所产生的第一类页面跳转事件信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述应用程序的源代码,确定基于应用程序所包含的用户界面UI所产生的第一类页面跳转事件信息,包括:
根据所述应用程序的源代码,从针对于UI显示的UI组件或链接文本的交互事件信息,选择出会导致页面跳转的所述第一类页面跳转事件信息。
4.根据权利要求2所述的方法,其特征在于,所述根据所述应用程序的源代码,确定基于应用程序所包含的用户界面UI所产生的第一类页面跳转事件信息,包括:
根据所述应用程序的源代码,从显示特定UI时所对应的侦听事件中选择出会导致页面跳转的所述第一类页面跳转事件信息。
5.根据权利要求1所述的方法,其特征在于,所述根据应用程序的源代码,确定所述应用程序的页面跳转事件信息,包括以下至少之一:
根据所述应用程序的源代码,确定所述应用程序的页面架构所包含的第一类页面的页面跳转事件信息;
根据所述应用程序的源代码,确定所述应用程序中所述页面架构以外的第二类页面的页面跳转事件信息。
6.根据权利要求5所述的方法,所述第二类页面为弹窗页面;所述第一类页面为所述弹窗页面以外能与其他页面发生页面跳转的页面。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述应用程序的源代码,确定由所述应用程序所安装的操作系统所产生的导致所述应用程序的页面发生跳转的系统事件信息;
所述根据所述页面跳转事件信息,确定页面之间的跳转关系,包括:
根据所述页面跳转事件信息及所述系统事件信息,确定页面之间的跳转关系。
8.一种信息处理装置,其特征在于,所述装置包括:
第一确定模块,用于根据应用程序的源代码,确定所述应用程序的页面跳转事件信息;
第二确定模块,用于根据所述页面跳转事件信息,确定页面之间的跳转关系;
生成模块,用于基于所述页面之间的跳转关系及页面内容,生成表征所述应用程序的业务逻辑的页面交互流程图。
9.一种计算机设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中所述处理器用于运行所述计算机程序时,实现权利要求1至7任一项所述的信息处理方法。
10.一种计算机存储介质,其特征在于,存储有可执行程序,所述可执行程序被处理器执行时,实现如权利要求1至7任一项所述的信息处理方法。
CN201910359053.5A 2019-04-30 2019-04-30 信息处理方法、装置、计算机设备及存储介质 Active CN110162730B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910359053.5A CN110162730B (zh) 2019-04-30 2019-04-30 信息处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910359053.5A CN110162730B (zh) 2019-04-30 2019-04-30 信息处理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110162730A true CN110162730A (zh) 2019-08-23
CN110162730B CN110162730B (zh) 2021-10-15

Family

ID=67633045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910359053.5A Active CN110162730B (zh) 2019-04-30 2019-04-30 信息处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110162730B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324340A (zh) * 2020-02-20 2020-06-23 腾讯科技(深圳)有限公司 基于网页副本的交互方法、装置、存储介质和计算机设备
CN112860522A (zh) * 2021-03-02 2021-05-28 北京梧桐车联科技有限责任公司 程序的运行监控方法、装置及设备
CN115203618A (zh) * 2022-09-13 2022-10-18 北京达佳互联信息技术有限公司 页面处理方法、装置、电子设备及存储介质
CN115964114A (zh) * 2023-01-17 2023-04-14 前海飞算云智软件科技(深圳)有限公司 应用页面展示方法、装置、存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03201133A (ja) * 1989-12-28 1991-09-03 Sanyo Electric Co Ltd 情報処理装置
WO2016105328A1 (en) * 2014-12-22 2016-06-30 Hewlett Packard Enterprise Development Lp Execution of interaction flows
CN108021362A (zh) * 2017-12-21 2018-05-11 南京大学 基于XACML访问控制机制的Android应用访问控制代码生成方法
CN108647133A (zh) * 2018-04-28 2018-10-12 深圳市小牛在线互联网信息咨询有限公司 用户操作轨迹记录方法、装置、存储介质以及计算机设备
CN109032568A (zh) * 2018-07-13 2018-12-18 孟智平 程序逻辑的生成方法、终端设备及存储介质
CN109344062A (zh) * 2018-09-26 2019-02-15 深圳壹账通智能科技有限公司 页面跨域跳转测试的方法及终端设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03201133A (ja) * 1989-12-28 1991-09-03 Sanyo Electric Co Ltd 情報処理装置
WO2016105328A1 (en) * 2014-12-22 2016-06-30 Hewlett Packard Enterprise Development Lp Execution of interaction flows
CN108021362A (zh) * 2017-12-21 2018-05-11 南京大学 基于XACML访问控制机制的Android应用访问控制代码生成方法
CN108647133A (zh) * 2018-04-28 2018-10-12 深圳市小牛在线互联网信息咨询有限公司 用户操作轨迹记录方法、装置、存储介质以及计算机设备
CN109032568A (zh) * 2018-07-13 2018-12-18 孟智平 程序逻辑的生成方法、终端设备及存储介质
CN109344062A (zh) * 2018-09-26 2019-02-15 深圳壹账通智能科技有限公司 页面跨域跳转测试的方法及终端设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李雅雯: "基于IFML的跨平台移动应用界面的模型转换研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
李雅雯等: "基于MVC的IFML建模方法研究", 《软件导刊》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324340A (zh) * 2020-02-20 2020-06-23 腾讯科技(深圳)有限公司 基于网页副本的交互方法、装置、存储介质和计算机设备
CN111324340B (zh) * 2020-02-20 2021-07-20 腾讯科技(深圳)有限公司 基于网页副本的交互方法、装置、存储介质和计算机设备
CN112860522A (zh) * 2021-03-02 2021-05-28 北京梧桐车联科技有限责任公司 程序的运行监控方法、装置及设备
CN115203618A (zh) * 2022-09-13 2022-10-18 北京达佳互联信息技术有限公司 页面处理方法、装置、电子设备及存储介质
CN115964114A (zh) * 2023-01-17 2023-04-14 前海飞算云智软件科技(深圳)有限公司 应用页面展示方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN110162730B (zh) 2021-10-15

Similar Documents

Publication Publication Date Title
CN110162730B (zh) 信息处理方法、装置、计算机设备及存储介质
CN108804299B (zh) 应用程序异常处理方法及装置
CN110020292B (zh) 网页内容提取方法以及终端设备
CN108153551B (zh) 一种业务流程页面的展现方法和装置
US7917755B1 (en) Identification of localized web page element
CN110955428A (zh) 一种页面显示方法、装置、电子设备及介质
US10073766B2 (en) Building signatures of application flows
CN106844181B (zh) 用于记录用户行为的方法、系统及移动终端
CN111552633A (zh) 接口的异常调用测试方法、装置、计算机设备及存储介质
CN109947635B (zh) 一种数据上报方法、装置、存储介质及终端设备
EP2839628B1 (en) Providing rule based analysis of content to manage activation of web extension
CN111831542B (zh) Api应用调测方法及装置、存储介质
CN112000563A (zh) 用户行为的记录方法、装置及设备
US10705858B2 (en) Automatic import of third party analytics
CN112015626A (zh) 用户行为的记录方法、装置及设备
US20200117325A1 (en) Presenting captured data
CN110874216B (zh) 一种完备代码生成方法、装置、设备和存储介质
EP4124025A1 (en) Interaction information processing method and apparatus, electronic device and storage medium
CN111736825B (zh) 一种信息展示方法、装置、设备和存储介质
CN112307386A (zh) 信息监控方法、系统、电子设备及计算机可读存储介质
CN104182479A (zh) 一种处理信息的方法及装置
CN110232155B (zh) 浏览器界面的信息推荐方法及电子设备
CN111309428A (zh) 信息显示方法、信息显示装置、电子设备及存储介质
CN113282285B (zh) 代码编写方法、装置、电子设备及存储介质
CN108073638B (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