一种内核测试方法、装置和存储介质制造方法及图纸

技术编号:36430129 阅读:72 留言:0更新日期:2023-01-20 22:41
本申请实施例提供一种内核测试方法、装置和存储介质。本申请实施例提供了一种方法,主要包括:生成webview代理类的对象对不同类型的webview内核进行调用和切换,其中,webview代理类包括所述不同类型的webview实例,且webview代理类定义了不同类型的webview内核的功能接口,不同类型的webview内核的相同功能对应同一接口;根据调用不同类型的webview内核所产生的测试数据从不同类型的webview内核中选择目标内核;采用本申请实施例能够给开发和测试人员降低测试应用程序所适配的webview内核时的工作量,增加测试和开发效率。增加测试和开发效率。增加测试和开发效率。

【技术实现步骤摘要】
一种内核测试方法、装置和存储介质


[0001]本申请涉及计算机
,尤其涉及一种内核测试方法、装置和存储介质。

技术介绍

[0002]随着终端软件的迅猛发展,市面上常见的app(application program,应用程序)越来越多,而在app中一般会内嵌有某一种类型的webview(网页视图)内核而不是直接使用安卓原生的webview内核,通过该webview内核实现app中的H5(HTML5)界面的加载和浏览。
[0003]目前常见的webview内核有很多种,如腾讯X5webview内核、安卓原生的webview内核、UC浏览器内核等,而应用程序在开发过程中并不能直接确定哪一种类型的webview内核能使应用程序的H5界面呈现的画面更接近原生的展示效果,因此需要大量的测试来确定该应用程序所适配的最优的webview内核。
[0004]在对webview内核进行测试的过程中,会在app中内嵌多种类型的webview内核依次进行测试,但切换内核会需要大量的操作,如删除上一次测试中使用的webview内核依赖、切换webview内核引用,每切换一次webview内核就要进行一次上述操作,这给开发和测试人员增加了非常多的工作量,降低了测试和开发效率。

技术实现思路

[0005]本申请实施例一种内核测试方法、装置和存储介质,能够给开发和测试人员降低测试应用程序所适配的webview内核时的工作量,增加测试和开发效率。
[0006]第一方面,本申请实施例提供了一种内核测试方法,所述方法应用于app,所述app包括webview代理类和不同类型的webview内核,所述方法包括:
[0007]生成webview代理类的对象,其中,所述webview代理类包括所述不同类型的webview实例,且所述webview代理类定义了所述不同类型的webview内核的功能接口,所述不同类型的webview内核的相同功能对应同一接口,所述webview代理类的对象用于调用所述webview代理类中的所述不同类型的webview实例,实现webview的功能;
[0008]在运行所述app的过程中,根据所述webview代理类的对象依次调用所述不同类型的webview内核;
[0009]根据调用所述不同类型的webview内核所产生的测试数据从所述不同类型的webview内核中选择目标内核。
[0010]本方法通过所述webview代理类的对象来调用不同类型的webview内核,并将所述不同类型的webview内核中相同功能的api接口进行抹平,以此实现灵活切换webview内核的目的。其中,代理类为真实对象提供一个代理对象以控制对真实对象的访问,这就是说,所述webview代理类是起到了一个模版的作用,并不能去调用和访问真实对象,所述真实对象是一种方法,如,在本申请实施例中所述真实对象就是所述不同类型的webview实例,一般来说,只有对象才能访问对象,而此处的所述实例相当于对象,因此所述webview代理类的对象可通过访问所述webview实例来进行webview功能的使用。
[0011]因此,在本方法中,在生成所述webview代理类的对象之前,先生成所述webview代理类,在所述webview代理类创建所述不同类型的webview实例,并通过重新定义所述不同类型的webview内核中相同功能的api(application Programming Interface,应用程序编程接口)并统一为同一接口,这代表着所述webview代理类的对象可通过所述webview实例上的所述同一接口,访问所述不同类型的webview内核的对象,以此进行webview功能的使用,无需进行繁杂的删除、替换的操作,这也是本方法实现灵活切换内核的关键一步,因此,在一种可选的实施方式中,先生成所述webview代理类,再生成所述webview代理类的对象,在又一种可选的实施方式中,所述app中包括了所述webview代理类,仅需生成所述webview代理类的对象即可;想要生成所述webview代理类的对象,对所述webview代理类进行调用即可。
[0012]其次是实际测试阶段,在此阶段中在运行所述app的过程中,根据所述webview代理类的对象依次调用所述不同类型的webview内核;在依次调用所述不同类型的webview内核运行实现webview功能的过程中会产生非常多的数据,如H5页面的启动时间,对画面的渲染程度等,将上述数据作为测试数据进行汇总,可用于筛选适配所述app的webview内核。
[0013]最后,当所有的webview的内核都调用过一次之后,本轮测试结束,根据本轮测试所得到的所述测试数据对所述不同类型的webview内核进行评估,得分最高的一个或多个类型的webv iew内核即可确定为目标内核。因此本方法使开发人员和测试人员减少了在切换所述不同类型的webview内核的工作量,增加了测试效率,进而增加了开发效率。
[0014]在第一方面的又一种可能的实施方式中,所述app包括初始状态的webview代理类,在所述生成所述webview代理类的对象之前,还包括:
[0015]在初始状态的webview代理类中,创建与所述不同类型的webview内核中每个类型的webview内核分别对应的webview实例;
[0016]将所述app中的webview内核中相同功能的接口重新定义并统一为同一接口;
[0017]将与所述不同类型的webview内核中每个类型的webview内核分别对应的webview实例和配套组件的代理类进行封装,以生成所述webview代理类,其中,所述配套组件至少包括webchromeClient、webresourceResponse和webviewClient。
[0018]首先,需要提前说明,一个类的使用需要对象和接口,所述初始状态的webview代理类也是类的一种,即所述初始状态的webview代理类的使用同样需要对象和方法,具体的,所述webview代理类用于调用不同类型的webview内核,以实现webview的功能,因此,所述webview代理类的使用需要的是所述webview的对象,即所述webview实例,以及接口。
[0019]具体的,在所述初始状态的webview代理类中,创建与所述不同类型的webview内核中每个类型的webview内核分别对应的webview实例,所述webview实例即是webview的对象,这也就代表着在创建所述webview实例之后,所述初始状态的webview代理类有资格去实现webview的功能,但是还缺接口去调用,因此,在创建所述webview实例后,将所述app中的webview内核中相同功能的接口重新定义并统一为同一接口,并将所述同一接口代理到所述webview实例的api接口上,这代表着路径,也就是接口,和所述webview实例均在所述初本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内核测试方法,其特征在于,所述方法应用于应用程序app,所述app包括不同类型的webview内核,包括:生成webview代理类的对象,其中,所述webview代理类包括不同类型的webview实例,且所述webview代理类定义了所述不同类型的webview内核的功能接口,所述不同类型的webview内核的相同功能对应同一接口,所述webview代理类的对象用于调用所述webview代理类中的所述不同类型的webview实例,实现webview的功能;在运行所述app的过程中,根据所述webview代理类的对象依次调用所述不同类型的webview内核;根据调用所述不同类型的webview内核所产生的测试数据从所述不同类型的webview内核中选择目标内核。2.根据权利要求1所述的方法,其特征在于,所述app包括初始状态的webview代理类,在所述生成所述webview代理类的对象之前,还包括:在初始状态的webview代理类中,创建与所述不同类型的webview内核中每个类型的webview内核分别对应的webview实例;将所述app中的webview内核中相同功能的接口重新定义并统一为同一接口;将与所述不同类型的webview内核中每个类型的webview内核分别对应的webview实例和配套组件的代理类进行封装,以生成所述webview代理类,其中,所述配套组件至少包括webchromeClient、webresourceResponse和webviewClient。3.根据权利要求1所述的方法,其特征在于,所述生成所述webview代理类的对象之前,还包括:获取所述不同类型的webview内核中的第一webview内核的参数信息,其中,所述第一webview内核为所述不同类型的webview内核中的任一类型的webview内核;根据所述第一webview内核的参数信息确定所述第一webview内核的类型;根据所述第一webview内核的类型确认是否将所述第一webview内核初始化;若确认将所述第一webview内核初始化,则将所述第一webview内核中的软件开发工具包sdk初始化。4.根据权利要求3所述的方法,其特征在于,所述获取所述不同类型的webview内核中的第一webview内核的参数信息,包括:从配置组件中获取所述不同类型的webview内核中的第一webview内核的参数信息,所述配置组件用于存放所述app的配置信息,所述配置信息包括所述不同类型的webview内核的参数信息;若从所述配置组件中获取到所述第一webview内核的参数信息,且获取到的所述第一webview内核的参数信息不为空,则根据所述配置组件发送的所述第一webview内核的参数信息确定所述第一webview内核的类型;若未从所述配置组件中获取到所述第一webview内核的参数信息或获取到的所述第一webview内核的参数信息为空,则根据预设第一webview内核的参数信息确定所述webview内核的类型。5.根据权利要求2所述的方法,其特征在于,...

【专利技术属性】
技术研发人员:杨志荧谢雄彪邓文强刘伟
申请(专利权)人:招联消费金融有限公司
类型:发明
国别省市:

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

1