用于检测代码兼容性的方法、装置和电子设备制造方法及图纸

技术编号:25988678 阅读:16 留言:0更新日期:2020-10-20 18:56
本公开实施例公开了用于检测代码兼容性的方法、装置和电子设备。该方法的一具体实施方式包括:获取待检测代码;确定所述待检测代码所包括的目标函数;将所述目标函数与预先获取的第一函数的信息所指示的第一函数进行匹配,第一函数为预设应用对象所支持的函数,第一函数的信息包括第一函数的标识以及支持所述第一函数的应用对象的标识;基于匹配结果确定支持所述待检测代码的目标应用对象。可以提高对待检测代码的兼容性测试的效率。

【技术实现步骤摘要】
用于检测代码兼容性的方法、装置和电子设备
本公开涉及计算机
,尤其涉及一种用于检测代码兼容性的方法、装置和电子设备。
技术介绍
在代码开发的过程中,由于代码运行的环境的多样性,需要判断代码在各个应用对象上的兼容性状况,来保证代码在各个应用对象上能正常的执行。对于这种检测,一般情况是使用真机/模拟器在低版本的平台上实际运行代码,在模拟器中查看是否出现错误,以此来判断前端代码在各个应用对象的兼容性。
技术实现思路
提供该公开内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该公开内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。本公开实施例提供了一种用于检测代码兼容性的方法、装置和电子设备。第一方面,本公开实施例提供了一种用于检测代码兼容性的方法,包括:获取待检测代码;确定所述待检测代码所包括的目标函数;将所述目标函数与预先获取的第一函数的信息所指示的第一函数进行匹配,第一函数为预设应用对象所支持的函数,第一函数的信息包括第一函数的标识以及支持所述第一函数的应用对象的标识;基于匹配结果确定支持所述待检测代码的目标应用对象。第二方面,本公开实施例提供了一种用于检测代码兼容性的装置,包括:获取单元,用于获取待检测代码;第一确定单元,用于确定所述待检测代码所包括的目标函数;匹配单元,用于将所述目标函数与预先获取的第一函数的信息所指示的第一函数进行匹配,第一函数为预设应用对象所支持的函数,第一函数的信息包括第一函数的标识以及支持所述第一函数的应用对象的标识;第二确定单元,用于基于匹配结果确定支持所述待检测代码的目标应用对象。第三方面,本公开实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的用于检测代码兼容性的方法。第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的用于检测代码兼容性的方法的步骤。本公开实施例提供的用于检测代码兼容性的方法、装置和电子设备,通过获取待检测代码;确定所述待检测代码所包括的目标函数;将所述目标函数与预先获取的第一函数的信息所指示的第一函数进行匹配,第一函数为预设应用对象所支持的函数,第一函数的信息包括第一函数的标识以及支持所述第一函数的应用对象的标识;基于匹配结果确定支持所述待检测代码的目标应用对象。通过将待检测代码所包括的目标函数与预设应用对象所支持的第一函数进行匹配,根据匹配结果确定待检测代码在应用对象中的兼容向状况。相对于现有技术中,对待检测代码需要在真机或者应用对象的模拟器上进行测试,本实施例提供的方案,不需要在真机或者应用对象的模拟器上进行检测,可以提高对于代码的兼容性检测的测试的速度,对待检测代码在各应用对象中的兼容性测试的效率更高。附图说明结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。图1是根据本公开的用于检测代码兼容性的方法的一个实施例的流程图;图2是一个示意性语法树结构图;图3是根据本公开的用于检测代码兼容性的方法的另一个实施例的流程图;图4是根据本公开的用于检测代码兼容性的装置的一个实施例的结构示意图;图5是本公开的一个实施例的用于检测代码兼容性的方法可以应用于其中的示例性系统架构;图6是根据本公开实施例提供的电子设备的基本结构的示意图。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。请参考图1,其示出了根据本公开的用于检测代码兼容性的方法的一个实施例的流程。如图1所示该用于检测代码兼容性的方法,包括以下步骤:步骤101,获取待检测代码。在本实施例中,上述待检测代码可以是待在预设应用对象中运行的代码。上述应用对象可以是各种应用软件、应用程序。在一些应用场景中,上述应用对象可以为浏览器。当上述应用对象为浏览器时,上述待检测代码可以是待在浏览器页面上运行的代码。例如嵌入在浏览器的Web应用的代码。这里的获取待检测代码,包括获取开发者输入的待检测代码,或者根据用户输入的存储待检测代码的指定地址,从上述指定地址中获取上述待检测代码。上述待检测代码可以是使用JavaScript编写的代码。还可以是使用其他语言编写的代码。JavaScript是一种客户端脚本语言,运行在客户端浏览器中,每一个浏览器都有JavaScript的解析引擎。其是脚本语言,不需要编译,直接可以被浏览器解析执行。JavaScript可以增强用户和html页面的交互,可以控制html元素,让页面有一些动态的效果,增强用户的体验。步骤102,确定待检测代码包括的目标函数。在步骤101中获取到待检测代码之后,可以使用各种方法对待检测代码进行分析,从而确定待检测代码包括的目标函数。这里的目标函数可以是待检测代码所包括的多个函数。当应用对象为浏览器时,上述目标函数可以为由事件触发的调用函数。事件触发的调用函数是指,当某个事件发生时,可以以同步或者异步方式调用的函数。作为示例,这里的目标函数可以是调用window对象的函数,也可以是方法调用函数,正则匹配函数等。在本实施例的一些可选的实现方式中,上述步骤102可以包括如下步骤:...

【技术保护点】
1.一种用于检测代码兼容性的方法,其特征在于,包括:/n获取待检测代码;/n确定所述待检测代码所包括的目标函数;/n将所述目标函数与预先获取的第一函数的信息所指示的第一函数进行匹配,第一函数为预设应用对象所支持的函数,第一函数的信息包括第一函数的标识以及支持所述第一函数的应用对象的标识;/n基于匹配结果确定支持所述待检测代码的目标应用对象。/n

【技术特征摘要】
1.一种用于检测代码兼容性的方法,其特征在于,包括:
获取待检测代码;
确定所述待检测代码所包括的目标函数;
将所述目标函数与预先获取的第一函数的信息所指示的第一函数进行匹配,第一函数为预设应用对象所支持的函数,第一函数的信息包括第一函数的标识以及支持所述第一函数的应用对象的标识;
基于匹配结果确定支持所述待检测代码的目标应用对象。


2.根据权利要求1所述的方法,其特征在于,所述确定所述待检测代码所包括的目标函数,包括:
对所述待检测代码进行语法分析,确定所述待检测代码对应的语法树;
基于所述语法树对应的节点确定所述待检测代码所包括的目标函数。


3.根据权利要求1所述的方法,其特征在于,所述目标函数的数量为两个以上,以及
所述将所述目标函数与预先获取的第一函数的信息所指示的第一函数进行匹配,包括:
将每一个目标函数与各个第一函数进行匹配;以及
所述基于匹配结果确定支持所述待检测代码的目标应用对象,包括:
将与全部目标函数匹配成功的第一函数所对应的应用对象确定为所述目标应用对象。


4.根据权利要求1所述的方法,其特征在于,所述预设应用对象包括第一应用对象,以及
所述基于匹配结果确定支持所述待检测代码的目标应用对象,包括:
若待检测代码所包括的各个目标函数均与第一应用对象所支持的第一函数匹配成功,则确定所述第一应用对象以及所述第一应用对象所对应的第二应用对象为目标应用对象,其中
所述第二应用对象为所述第一应用对象的更新版本。


5.根据权利要求2所述的方法,其特征在于,所述基于所述语法树对应的节点确定所述待检测代码所包括的目标函数,包括:
对所述语法树的各个节点进行遍历,在遍历过程中基于预设规则确定每一节点是否包括目标函数。


6.根据权利要求1-5之一所述的方法,其特征在于,所述应用对象为浏览器。


7.一种用于检测代码兼容性的装置,其特征在于,包括:
获取单元,用于获取待检测代码;
第一确定单元,用于确定所述待检测...

【专利技术属性】
技术研发人员:韩希鹏刘秉楠王聪肖禅杨远航樊华
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1