【技术实现步骤摘要】
接口检测工具生成、接口检测方法、装置、设备及介质
本公开实施例涉及安卓开发
,尤其涉及一种接口检测工具生成、接口检测方法、装置、设备及介质。
技术介绍
Android工程的构建工具为Gradle。Gradle以Module(模块)的概念来管理整个Android工程。一个Android工程中可以存在多个Module,其中包含一个主Module和多个子Module。主Module可以依赖多个子Module。将一个庞大的Android工程拆分为不同的Module,可以实现不同业务模块之间的解耦,完成工程的模块化重构,从而实现优化工程的目的。Gradle通过其自建的一套基于Groovy的DSL(特定领域语言,DomainSpecificLanguage)语言来实现工程中不同Module之间的依赖关系描述。图1a是现有技术中不同模块之间依赖关系的效果示意图,如图1a所示,ModuleA依赖于Modulelib1和Modulelib2。Gradle为开发者提供了Module粒度的代码复用和封装的基础设施,但Module的应用存在一个问题,即如何限制一个Module对外暴露的API(应用程序接口,ApplicationProgrammingInterface)。图1b是现有技术中不同模块之间依赖关系的效果示意图,如图1b所示,ModuleA依赖于ModuleB,ModuleB内部包括InnerUtil这个类,这个Class仅针对于ModuleB内部使用。开发者通过Groovy代码声明ModuleA与ModuleB的依 ...
【技术保护点】
1.一种接口检测工具生成方法,其特征在于,包括:/n根据接口导出规则的规则内容生成规则解析器;/n根据所述规则解析器和第一预设插件生成本地接口检测插件;/n根据所述规则解析器和第二预设插件生成外部接口检测插件。/n
【技术特征摘要】
1.一种接口检测工具生成方法,其特征在于,包括:
根据接口导出规则的规则内容生成规则解析器;
根据所述规则解析器和第一预设插件生成本地接口检测插件;
根据所述规则解析器和第二预设插件生成外部接口检测插件。
2.根据权利要求1所述的方法,其特征在于,所述规则解析器用于对获取的待检测对象的接口导出规则进行解析;
所述根据接口导出规则的规则内容生成规则解析器,包括:
根据所述接口导出规则定义规则结构体;所述规则结构体用于承载对所述待检测对象的接口导出规则进行解析得到规则结果集;
生成正则解析逻辑;所述正则解析逻辑用于对所述待检测对象的接口导出规则进行文本模式匹配,得到各个模块的规则结构体定义。
3.根据权利要求1所述的方法,其特征在于,所述本地接口检查插件用于对待检测对象的应用程序接口API进行本地检测,生成本地测试对象;
所述根据所述规则解析器和第一预设插件生成本地接口检测插件,包括:
确定所述本地接口检测插件的基本交互事件的基本交互形式及本地错误信息提示形式;
生成各所述基本交互形式匹配的监听方式;
根据所述规则解析器生成所述本地接口检测插件的第一核心检测逻辑;
生成各所述本地错误信息提示形式匹配的本地错误信息提示方式。
4.根据权利要求3所述的方法,其特征在于,所述根据所述规则解析器生成所述本地接口检测插件的第一核心检测逻辑,包括:
在确定基本交互事件被触发后,查找所述待检测对象的接口导出规则的配置文件;
根据所述规则解析器读取并解析查找到的所述接口导出规则的配置文件,生成本地规则结果集;
根据所述本地规则结果集,生成所述待检测对象中每个模块的本地黑名单列表;
根据所述本地黑名单列表扫描所述待检测对象,并将扫描到的错误调用API加入本地扫描接口集合中。
5.根据权利要求4所述的方法,其特征在于,在确定基本交互事件被触发之前,还包括:
根据所述基本交互事件匹配的监听方式,对所述待检测对象的各所述基本交互事件进行监听;
在将扫描到的错误调用API加入本地扫描接口集合中之后,还包括:
如果确定所述本地扫描接口集合不为空,则采用所述错误信息提示方式进行错误提示。
6.根据权利要求1所述的方法,其特征在于,所述外部接口检测插件用于对本地测试对象的API进行外部检测,生成目标检测结果;
所述根据所述规则解析器和第二预设插件生成外部接口检测插件,包括:
确定所述外部接口检测插件的交互形式;
复用所述规则解析器的规则解析逻辑;
生成文本检索引擎;
根据所述规则解析器生成所述外部接口检测插件的第二核心检测逻辑;
生成外部错误信息的输出方式。
<...
【专利技术属性】
技术研发人员:管伟,张祖俭,
申请(专利权)人:北京字节跳动网络技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。