首页> 中国专利> 新特性兼容性检测系统及方法、电子设备及可读存储介质

新特性兼容性检测系统及方法、电子设备及可读存储介质

摘要

本发明实施例提供一种新特性兼容性检测系统及方法、电子设备及可读存储介质,包括:数据库内存储有至少一个目标新特性与至少一个目标浏览器兼容性的数据;文件配置模块用于基于在编码之前输入的浏览器生成待检测浏览器、并基于在编码过程中输入的代码配制待检测新特性;兼容性检测模块用于接收并基于所述待检测新特性在所述数据库中进行检索并进行比对,基于检索结果和比对结果确定兼容性检测结果;单元测试模块用于接收并基于所述兼容配置组进行单元测试,并根据所述兼容配置组是否通过单元测试选择性地输出相应的单元测试结果。本发明实施例可以减少后续测试人员的工作,节约企业成本,也能减少开发人员新特性使用时人为查询的时间。

著录项

  • 公开/公告号CN112540925A

    专利类型发明专利

  • 公开/公告日2021-03-23

    原文格式PDF

  • 申请/专利权人 贝壳技术有限公司;

    申请/专利号CN202011488582.4

  • 发明设计人 邹琴;

    申请日2020-12-16

  • 分类号G06F11/36(20060101);

  • 代理机构11002 北京路浩知识产权代理有限公司;

  • 代理人蒋娟

  • 地址 300457 天津市滨海新区经济技术开发区南港工业区综合服务区办公楼C座一层112室05单元

  • 入库时间 2023-06-19 10:21:15

说明书

技术领域

本发明涉及浏览器的兼容性检测领域,特别涉及一种新特性兼容性检测系统及方法、电子设备及可读存储介质。

背景技术

随着前端技术的不断发展,Javascript的标准ECMAScript也在日益更新中,新增特性在浏览器的兼容性方面得到了极大的考验,如何在开发过程中保证使用的新特性可以兼容到目标浏览器,如何在使用CSS新特性时兼容目标浏览器,是亟待解决的问题。

现有技术是采用将新特性编译成浏览器可以识别的版本来解决问题,例如,针对ES6(ECMAScript 6)的新特性,目前使用的方案是利用语法解析转换工具,将ES6的语法编译成大部分浏览器可以识别的ES5(ECMAScript 5)的语法,通用的转化方案有babel,traceur, jsx,typescript,es6-shim,采用比较常用的babel举例,该方案虽然可以转义ES6,但并不是所有的新特性都可以成功的转译成浏览器识别的语法。并且该方法也只有在编译的时候才能进行转换,过程中也没有提示,导致并不知道哪些是可以成功进行转译的,哪些是不能的进行转译的,这样的一个过程对于用户来说就相当于是黑盒,不知道内部发生了什么,也无法收到此过程的反馈。因此,这类在编译的时候进行新特性的转换以适配于各种浏览器的方案的弊端在于,不小心用了不能转译的新特性,又逃过了编译工具的转换,那么就会导致页面错误。

而在编码过程中,新特性(JavaScript或者CSS的新特性)兼容性的处理,大部分都是采用人工在caniuse官网上查询,测试阶段用各个不同的浏览器重复性测试,这种人为的查询测试行为,可能存在一些主观因素,或者测试不全的问题,费时费力,也是属于重复性工作,例如,现在有N个用户使用同一个新特性,假设大家都不知道这个新特性的兼容性,那么N个用户要查N遍,并且测试的工作量也是N倍,重复性工作,浪费人力。从长远来看,这种在编码过程中兼容性处理方式,对于企业存在成本的浪费,同时也制肘着前端技术的发展。

发明内容

为了解决现有技术中只能在编译的时候将新特性语法转译成浏览器可以识别的语法,人工检测新特性兼容性费时费力、无法直观得到检测结果的问题,本发明实施例提供一种可以在代码编写的同时实时检测新特性对于浏览器的兼容性,能够节约查询新特性兼容性和后续测试成本的新特性兼容性检测系统及方法、电子设备及可读存储介质。

本发明实施例提供一种新特性兼容性检测系统,包括数据库、文件配置模块、兼容性检测模块、单元测试模块:

所述数据库内存储有至少一个目标新特性与至少一个目标浏览器兼容性的数据,且以至少一个新特性作为索引,至少一个目标新特性与至少一个目标浏览器的兼容性作为索引内容;

所述文件配置模块,用于基于在编码之前输入的浏览器生成待检测浏览器、并基于在编码过程中输入的代码配制待检测新特性;

所述兼容性检测模块,用于接收并基于所述待检测新特性在所述数据库中进行检索,并将检索结果和接收的待检测浏览器进行比对,基于检索结果和比对结果确定兼容性检测结果,所述兼容性检测结果包括兼容配置组和不兼容配置组;

所述单元测试模块,用于接收并基于所述兼容配置组进行单元测试,并根据所述兼容配置组是否通过单元测试选择性地输出相应的单元测试结果。

优选的是,所述的新特性兼容性检测系统,其中,还包括提示告警模块,所述提示告警模块用于接收并基于所述不兼容配置组或单元测试结果,输出相应的提示信息和/或告警信息。

优选的是,所述的新特性兼容性检测系统,其中,所述将检索结果和接收的待检测浏览器进行比对,基于检索结果和比对结果确定兼容性检测结果,所述兼容性检测结果包括兼容配置组和不兼容配置组具体包括:

当检索结果为未检索到与所述待检测新特性兼容的目标浏览器时,则将所述待检测新特性与待检测浏览器返回不兼容配置组,并将所述不兼容配置组反馈给所述提示告警模块;

当检索结果为检索到与所述待检测新特性兼容的目标浏览器时,将检索到的目标浏览器与所述待检测浏览器进行比对,若比对结果为所述待检测浏览器与检索到的目标浏览器不同时,则将所述待检测新特性与待检测浏览器返回不兼容配置组,并将所述不兼容配置组反馈给所述提示告警模块;

当比对结果为所述待检测浏览器与检索到的目标浏览器相同时,则将所述待检测新特性与待检测浏览器返回兼容配置组。

优选的是,所述的新特性兼容性检测系统,其中,所述根据所述兼容配置组是否通过单元测试选择性地输出相应的单元测试结果具体包括:

当所述兼容配置组通过单元测试时,则输出所述兼容配置组单元测试通过的结果;

当所述兼容配置组未通过单元测试时,则输出所述兼容配置组单元测试未通过的结果,并将所述不兼容配置组反馈给所述提示告警模块;

将输出的不兼容配置组返回所述数据库,以实现对所述数据库的更新。

本发明实施例提供一种新特性兼容性检测方法,包括:

基于在编码之前输入的浏览器生成待检测浏览器、并基于在编码过程中输入的代码配制待检测新特性;

接收并基于所述待检测新特性在数据库中进行检索,并将检索结果和接收的待检测浏览器进行比对,基于检索结果和比对结果确定兼容性检测结果,所述兼容性检测结果包括兼容配置组和不兼容配置组;

接收并基于所述兼容配置组进行单元测试,并根据所述兼容配置组是否通过单元测试选择性地输出相应的单元测试结果;

其中,所述数据库内存储有至少一个目标新特性与至少一个目标浏览器兼容性的数据,且以至少一个新特性作为索引,至少一个目标新特性与至少一个目标浏览器的兼容性作为索引内容。

优选的是,所述的新特性兼容性检测方法,其中,还包括:

接收并基于所述不兼容配置组或单元测试结果,输出相应的提示信息和/或告警信息。

优选的是,所述的新特性兼容性检测方法,其中,所述将检索结果和接收的待检测浏览器进行比对,基于检索结果和比对结果确定兼容性检测结果,所述兼容性检测结果包括兼容配置组和不兼容配置组具体包括:

当检索结果为未检索到与所述待检测新特性兼容的目标浏览器时,则将所述待检测新特性与待检测浏览器返回不兼容配置组;

当检索结果为检索到与所述待检测新特性兼容的目标浏览器时,将检索到的目标浏览器与所述待检测浏览器进行比对,若比对结果为所述待检测浏览器与检索到的目标浏览器不同时,则将所述待检测新特性与待检测浏览器返回不兼容配置组;

当比对结果为所述待检测浏览器与检索到的目标浏览器相同时,则将所述待检测新特性与待检测浏览器返回兼容配置组。

优选的是,所述的新特性兼容性检测方法,其中,所述根据所述兼容配置组是否通过单元测试选择性地输出相应的单元测试结果具体包括:

当所述兼容配置组通过单元测试时,则输出所述兼容配置组单元测试通过的结果;

当所述兼容配置组未通过单元测试时,则输出所述兼容配置组单元测试未通过的结果;

将输出的不兼容配置组返回所述数据库,以实现对所述数据库的更新。

本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的新特性兼容性检测方法的步骤。

本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的新特性兼容性检测方法的步骤。

本发明实施例提供的新特性兼容性检测系统中,数据库用于保存并更新新特性及其兼容性,作为兼容性检测的依据,在代码编写的时候实时监测使用的新特性的兼容性,让代码编写人员能够及时发现新特性是否可以兼容想要兼容的浏览器,直接在编码阶段就可以提前检测兼容性;内置单元测试,能够将兼容性的检测提前到编码前,而不用仅仅依赖于编译工具,也解决了编译工具对于某些新特性无法编译导致页面问题。将这些问题提前暴露于编码的时候,也可以提前处理预防浏览器兼容性带来的问题,可以减少后续测试人员的工作,节约企业成本,也能减少开发人员新特性使用时人为查询的时间。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的新特性兼容性检测系统的示意图;

图2为本发明实施例提供的新特性兼容性检测方法的示意图;

图3为本发明实施例提供的电子设备的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的新特性兼容性检测系统的示意图,如图1所示,该系统包括:数据库10、文件配置模块20、兼容性检测模块30、单元测试模块40:

所述数据库10内存储有至少一个目标新特性与至少一个目标浏览器兼容性的数据,且以至少一个新特性作为索引,至少一个目标新特性与至少一个目标浏览器的兼容性作为索引内容。

数据库10中的初始数据例如可以从caniuse中获取,在后续的检测过程中,可以通过caniuse新数据或单元测试模块40的反馈结果,对数据库10进行新增或删除、迭代更新,以使得数据库10不断更新,更加精准,也可以给一部分更新权限给特定用户,这些特定用户可以提出数据库10更新申请,待审核通过可以更新数据库10,这些特定用户包括数据库10维护人员等。至少一个目标浏览器可以包含多个现有技术中的浏览器,可以是各个版本的浏览器,例如火狐、谷歌、百度等不同版本浏览器。

所述文件配置模块20,用于基于在编码之前输入编辑器中的浏览器生成待检测浏览器、并基于在编码过程中输入的代码配制待检测新特性。

例如用户要开始编一段代码,在编写这段代码之前,需要考虑这段代码需要兼容哪一些浏览器,此时,可以利用文件配置模块20预设一个配置文件,这个配置文件里面可以写入一些想要兼容的浏览器,写好之后就相当于配置好待检测浏览器,然后就开始编程,在编程过程中,基于在编码过程中输入的代码配制待检测新特性,根据本案的新特性兼容性检测系统可以检测出待检测新特性是否兼容于编程之前预设的那些待检测浏览器。

用编辑器中的API,将兼容性软件进行包裹,形成该编辑器的自定义插件。以需要适配的浏览器及检测方式作为插件的配置,实现在编码过程中输入的时候实时检测输入的代码,或者为用户提供检测按钮,当出发检测按钮的时候,进行检测,提供主动或被动检测两种方式。

所述兼容性检测模块30,用于接收并基于所述待检测新特性在所述数据库10中进行检索,并将检索结果和接收的待检测浏览器进行比对,基于检索结果和比对结果确定兼容性检测结果,所述兼容性检测结果包括兼容配置组和不兼容配置组。

优选的,还包括提示告警模块,所述提示告警模块用于接收并基于所述不兼容配置组或单元测试结果,输出相应的提示信息和/或告警信息。

待检测新特性在所述数据库10中进行检索,也就是,查询待检测新特性是否在数据库10中,若在,则进一步将检索结果与接收的待检测浏览器进行比对;也就是说,所述将检索结果和接收的待检测浏览器进行比对,基于检索结果(包含查询到的新特性以及兼容新特性的目标浏览器)和比对结果确定兼容性检测结果,所述兼容性检测结果包括兼容配置组和不兼容配置组具体包括以下几种情况:

当检索结果为未检索到与所述待检测新特性兼容的目标浏览器时,则将所述待检测新特性与待检测浏览器返回不兼容配置组,并将所述不兼容配置组反馈给所述提示告警模块;

当检索结果为检索到与所述待检测新特性兼容的目标浏览器时,将检索到的目标浏览器与所述待检测浏览器进行比对,若比对结果为所述待检测浏览器与检索到的目标浏览器不同时,则将所述待检测新特性与待检测浏览器返回不兼容配置组,并将所述不兼容配置组反馈给所述提示告警模块;

当比对结果为所述待检测浏览器与检索到的目标浏览器相同时,则将所述待检测新特性与待检测浏览器返回兼容配置组。

提示告警模块根据兼容性检测模块30输出的不兼容配置组,输出相应的提示信息,此阶段的结果是表示检测出新特性与哪些浏览器不兼容,可以提示用户。

所述单元测试模块40,用于接收并基于所述兼容配置组进行单元测试,并根据所述兼容配置组是否通过单元测试选择性地输出相应的单元测试结果。

所述根据所述兼容配置组是否通过单元测试选择性地输出相应的单元测试结果具体包括:

当所述兼容配置组通过单元测试时,则输出所述兼容配置组单元测试通过的结果;

当所述兼容配置组未通过单元测试时,则输出所述兼容配置组单元测试未通过的结果,并将所述不兼容配置组反馈给所述提示告警模块;

所述单元测试模块40还用于将输出的不兼容配置组返回所述数据库10,以实现对所述数据库10的更新。

提示告警模块根据单元测试模块40输出的不兼容配置组,输出相应的告警信息,此阶段的结果是表示兼容性检测模块30检测出新特性与哪些浏览器兼容的结果是错误的,可以告警修正系统的兼容性检测模块30或者数据库10,并将不兼容配置组反馈给用户并根据结果实现对所述数据库10的部分删除更新。单元测试通过的兼容配置组无需反馈,可以节约编码过程中信息量,信息是实时反馈的,所以默认没有反馈就正常。

本案的新特性兼容性检测系统中,数据库10用于保存并更新新特性及其兼容性,作为兼容性检测的依据,在代码编写的时候实时监测使用的新特性的兼容性,让代码编写人员能够及时发现新特性是否可以兼容想要兼容的浏览器,直接在编码阶段就可以提前检测兼容性,内置单元测试,可以减少后续测试人员的工作,节约企业成本,也能减少开发人员新特性使用时人为查询的时间。

通过本案可以实现编码人员在编码的时候实时的检测所使用的新特性的兼容性,并且给到提示,而不用再去网上查询新特性的可用性,也不需要测试人员在测试的时候找不同的电脑不同的浏览器,分版本去测试,可以大量减少测试开发人员的时间,为企业节约成本,并且能够将兼容性的检测提前到编码前,而不用仅仅依赖于编译工具,也解决了编译工具对于某些新特性无法编译导致页面问题。将这些问题提前暴露于编码的时候,也可以提前处理预防浏览器兼容性带来的问题。

图2为本发明实施例提供的新特性兼容性检测方法的示意图,如图2所示,该方法包括:

S1:基于在编码之前输入的浏览器生成待检测浏览器、并基于在编码过程中输入的代码配制待检测新特性;

S2:接收并基于所述待检测新特性在数据库10中进行检索,并将检索结果和接收的待检测浏览器进行比对,基于检索结果和比对结果确定兼容性检测结果,所述兼容性检测结果包括兼容配置组和不兼容配置组;

S3:接收并基于所述兼容配置组进行单元测试,并根据所述兼容配置组是否通过单元测试选择性地输出相应的单元测试结果;

其中,所述数据库10内存储有至少一个目标新特性与至少一个目标浏览器兼容性的数据,且以至少一个新特性作为索引,至少一个目标新特性与至少一个目标浏览器的兼容性作为索引内容。

还包括:

接收并基于所述不兼容配置组或单元测试结果,输出相应的提示信息和/或告警信息。

所述将检索结果和接收的待检测浏览器进行比对,基于检索结果和比对结果确定兼容性检测结果,所述兼容性检测结果包括兼容配置组和不兼容配置组具体包括:

当检索结果为未检索到与所述待检测新特性兼容的目标浏览器时,则将所述待检测新特性与待检测浏览器返回不兼容配置组;

当检索结果为检索到与所述待检测新特性兼容的目标浏览器时,将检索到的目标浏览器与所述待检测浏览器进行比对,若比对结果为所述待检测浏览器与检索到的目标浏览器不同时,则将所述待检测新特性与待检测浏览器返回不兼容配置组;

当比对结果为所述待检测浏览器与检索到的目标浏览器相同时,则将所述待检测新特性与待检测浏览器返回兼容配置组。

所述根据所述兼容配置组是否通过单元测试选择性地输出相应的单元测试结果具体包括:

当所述兼容配置组通过单元测试时,则输出所述兼容配置组单元测试通过的结果;

当所述兼容配置组未通过单元测试时,则输出所述兼容配置组单元测试未通过的结果;

所述单元测试模块40还用于将输出的不兼容配置组返回所述数据库10,以实现对所述数据库10的更新。

本案实施例的新特性兼容性检测方法的工作原理与上述实施例的新特性兼容性检测系统是相应的,此处不再一一赘述。

图3示例了一种电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器 310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行一种新特性兼容性检测方法,该方法包括:

利用新特性兼容性检测模型对目标图像进行新特性兼容性检测;

所述新特性兼容性检测模型的生成方法包括:

S1:基于在编码之前输入的浏览器生成待检测浏览器、并基于在编码过程中输入的代码配制待检测新特性;

S2:接收并基于所述待检测新特性在数据库10中进行检索,并将检索结果和接收的待检测浏览器进行比对,基于检索结果和比对结果确定兼容性检测结果,所述兼容性检测结果包括兼容配置组和不兼容配置组;

S3:接收并基于所述兼容配置组进行单元测试,并根据所述兼容配置组是否通过单元测试选择性地输出相应的单元测试结果;

其中,所述数据库10内存储有至少一个目标新特性与至少一个目标浏览器兼容性的数据,且以至少一个新特性作为索引,至少一个目标新特性与至少一个目标浏览器的兼容性作为索引内容。

此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行一种新特性兼容性检测方法,该方法包括:

利用新特性兼容性检测模型对目标图像进行新特性兼容性检测;

所述新特性兼容性检测模型的生成方法包括:

S1:基于在编码之前输入的浏览器生成待检测浏览器、并基于在编码过程中输入的代码配制待检测新特性;

S2:接收并基于所述待检测新特性在数据库10中进行检索,并将检索结果和接收的待检测浏览器进行比对,基于检索结果和比对结果确定兼容性检测结果,所述兼容性检测结果包括兼容配置组和不兼容配置组;

S3:接收并基于所述兼容配置组进行单元测试,并根据所述兼容配置组是否通过单元测试选择性地输出相应的单元测试结果;

其中,所述数据库10内存储有至少一个目标新特性与至少一个目标浏览器兼容性的数据,且以至少一个新特性作为索引,至少一个目标新特性与至少一个目标浏览器的兼容性作为索引内容。

又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行一种新特性兼容性检测方法,该方法包括:

利用新特性兼容性检测模型对目标图像进行新特性兼容性检测;

所述新特性兼容性检测模型的生成方法包括:

S1:基于在编码之前输入的浏览器生成待检测浏览器、并基于在编码过程中输入的代码配制待检测新特性;

S2:接收并基于所述待检测新特性在数据库10中进行检索,并将检索结果和接收的待检测浏览器进行比对,基于检索结果和比对结果确定兼容性检测结果,所述兼容性检测结果包括兼容配置组和不兼容配置组;

S3:接收并基于所述兼容配置组进行单元测试,并根据所述兼容配置组是否通过单元测试选择性地输出相应的单元测试结果;

其中,所述数据库10内存储有至少一个目标新特性与至少一个目标浏览器兼容性的数据,且以至少一个新特性作为索引,至少一个目标新特性与至少一个目标浏览器的兼容性作为索引内容。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号