应用程序中H5页面的测试方法、装置和计算机设备与流程

文档序号:13909967阅读:290来源:国知局
应用程序中H5页面的测试方法、装置和计算机设备与流程

本申请涉及计算机技术领域,特别是涉及一种应用程序中h5页面的测试方法、装置和计算机设备。



背景技术:

随着移动终端中应用程序的增多,应用程序中h5页面出现的也越来越多。在应用程序发布之前,对应用程序中h5页面的测试也成为一项重要工作。在传统的方式中,测试人员是在测试终端的浏览器中模拟应用程序中的h5页面进行测试。由于测试环境不是在真实的应用程序webview(网络视图)中进行测试的,需要另外处理h5页面中的操作,例如,在h5页面中登录等,使得h5页面中的数据交互不够完整,由此导致测试数据不够准确。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种在应用程序中h5页面测试时有效提高测试准确性的应用程序中h5页面的测试方法、装置、计算机设备和存储介质。

一种应用程序中h5页面的测试方法,包括:

获取待测h5页面,生成所述待测h5页面对应的测试命令;

将所述测试命令发生至移动终端,以使得移动终端运行的应用程序根据所述测试命令对待测h5页面进行测试,并通过webview内核记录相应的测试数据;

接收移动终端返回的测试数据;

对所述测试数据进行转换,生成har文件;

对所述har文件进行解析,生成待测h5页面对应的测试报告。

在其中一个实施例中,所述对所述测试数据进行转换,生成har文件的步骤,包括:

将二进制的测试数据转换为json文件;所述json文件中包括待测h5页面中发起的多个请求以及接收到的多个响应,请求与响应乱序排列;

对乱序的多个请求和响应进行解析,生成har文件。

在其中一个实施例中,所述对乱序的多个请求和响应进行解析,生成har文件的步骤,包括:

获取待测h5页面对应的页面标识,根据页面标识在json文件中查询对应的多个乱序的请求和响应;

获取请求标识,根据请求标识查询对应的响应标识;

利用请求标识与对应的响应标识获取一一对应的请求和响应;

根据一一对应的请求和响应生成一个http请求;

利用多个http请求生成har文件。

在其中一个实施例中,所述方法还包括:

访问服务器中的移动终端管理平台;

通过所述移动终端管理平台获取移动终端标识;

根据所述移动终端标识对移动终端中应用程序的待测h5页面进行远程测试。

在其中一个实施例中,所述方法还包括:

根据测试报告,将待测h5页面标记为已测h5页面;

获取已测h5页面对应的评分项和评分规则;

利用所述har文件、评分项和评分规则对已测h5页面进行评分。

一种应用程序中h5页面的测试装置,所述装置包括:

测试控制模块,用于获取待测h5页面,生成所述待测h5页面对应的测试命令;将所述测试命令发生至移动终端,以使得移动终端运行的应用程序根据所述测试命令对待测h5页面进行测试,并通过webview内核记录相应的测试数据;接收移动终端返回的测试数据;

测试数据转换模块,用于对所述测试数据进行转换,生成har文件;对所述har文件进行解析,生成待测h5页面对应的测试报告。

在其中一个实施例中,所述测试数据转换模块还用于将二进制的测试数据转换为json文件;所述json文件中包括待测h5页面中发起的多个请求以及接收到的多个响应,请求与响应乱序排列;对乱序的多个请求和响应进行解析,生成har文件。

在其中一个实施例中,所述装置还包括远程连接模块,用于访问服务器中的移动终端管理平台;通过所述移动终端管理平台获取移动终端标识;根据所述移动终端标识对移动终端中应用程序的待测h5页面进行远程测试。

一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机可读指令,所述指令被所述处理器执行时,使得所述处理器执行上述方法的步骤。

一个或多个存储有计算机可读指令的计算机可读非易失性存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述方法的步骤。

上述应用程序中h5页面的测试方法、装置、计算机设备和存储介质,移动终端中运行的应用程序在接收到测试命令后,根据测试命令对待测h5页面进行测试,并通过webview内核记录反映待测h5页面性能的测试数据。测试终端接收移动终端返回的测试数据,对测试数据进行转换生成har文件,从而可以利用har文件得到待测h5页面对应的测试报告。在这个过程中,由于待测h5页面是在真实的webview环境中进行测试的,而且待测h5页面与服务器的数据交互是完整的,能够有效提高测试数据的准确性。在测试过程中也不需要额外搭建测试环境,可以对待测h5页面直接进行测试,由此使得h5页面的测试变得更容易操作。

附图说明

图1为一个实施例中应用程序中h5页面的测试方法的应用场景图;

图2为图1中测试终端的框图;

图3为一个实施例中应用程序中h5页面的测试方法的流程图;

图4为一个实施例中应用程序中h5页面的测试装置的框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请实施例中所提供的应用程序中h5(第5代html(hypertextmarkuplanguage,超文本标记语言))页面的测试方法可以应用于如图1所示的应用场景中。其中,测试终端102与移动终端104通过usb(universalserialbus,通用串行总线)接口和数据线进行连接。移动终端104中安装了应用程序,应用程序中可以运行h5页面。测试终端102中安装了测试工具,在测试终端102与移动终端104建立连接之后,测试工具与应用程序可以通过浏览器远程协议进行通信。测试终端102中运行的测试工具获取待测h5页面。测试人员可以在测试工具生成待测h5页面的测试命令。测试工具通过浏览器远程协议将测试命令发生至移动终端104中运行的应用程序。应用程序接收测试命令,根据测试命令对待测h5页面进行测试,并且通过webview(网络视图)内核记录相应的测试数据。移动终端104通过应用程序将测试数据返回至测试终端102。测试终端102利用测试工具对接收到的不可读的测试数据进行转换生成可读的har文件,通过对har文件进行解析,生成待测h5页面对应的测试报告。

图2为一个实施例中测试终端的内部框图。该测试终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器和usb接口、显示屏和输入装置。其中,测试终端的处理器用于提供计算和控制能力。该测试终端的存储器包括非易失性存储介质、内存储器。该测试终端的非易失性存储介质存储有操作系统和和计算机可读指令,该测试终端的内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机可读指令被处理器执行时以实现一种应用程序中h5页面的测试方法。usb接口用于与移动终端进行连接。测试终端的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该测试终端可以是台式电脑、笔记本电脑、手机或者平板电脑等。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的测试终端的限定,具体的测试终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,如图3所示,提供了一种应用程序中h5页面的测试方法,以该方法应用于测试终端为例进行说明,具体包括:

步骤302,获取待测h5页面,生成待测h5页面对应的测试命令。

步骤304,将测试命令发生至移动终端,以使得移动终端运行的应用程序根据测试命令对待测h5页面进行测试,并通过webview内核记录相应的测试数据。

移动终端中安装了应用程序,应用程序中可以运行h5页面。移动终端也可以称为被测终端。测试终端与移动终端可以建立本地连接,也可以建立远程连接。具体的,测试终端可以通过usb接口与数据线与移动终端建立本地连接。测试终端也可以通过访问服务器中运行的移动终端管理平台与移动终端建立远程连接。

在其中一个实施例中,该方法还包括:访问服务器中的移动终端管理平台;通过移动终端管理平台获取移动终端标识;根据移动终端标识对移动终端中应用程序的待测h5页面进行远程测试。

服务器中运行的移动终端管理平台可以与多台待测的移动终端进行连接。当测试人员身边暂时没有待测的移动终端,而又需要通过待测的移动终端对应用程序中的h5页面进行测试时,可以考虑远程测试。测试人员可以通过测试终端中展示的web(网络)页面访问移动终端管理平台,获取到移动终端管理平台当前已连接的多个移动终端。测试人员利用测试终端可以在web页面中选择一个或多个移动终端。测试人员可以通过web页面对已选择的移动终端进行操作,例如安装应用程序等。

测试终端中安装了测试工具,在测试终端与移动终端建立连接之后,测试终端中的测试工具与移动终端中的应用程序可以通过浏览器远程协议进行通信。

当测试终端与移动终端之间是本地连接时,测试人员可以在移动终端中打开应用程序的待测h5页面。当测试终端与移动之间是远程连接时,测试人员可以通过web页面打开应用程序的待测h5页面。测试终端中运行的测试工具获取待测h5页面。测试人员可以在测试工具展示的测试界面中点击“开始”按键,测试工具响应测试人员的操作,生成待测h5页面的测试命令。测试工具通过浏览器远程协议将测试命令发生至移动终端中运行的应用程序。应用程序接收测试命令,根据测试命令对待测h5页面进行测试。

具体的,应用程序根据测试命令,清空当前待测h5页面中的缓存内容。清空之后,刷新待测h5页面,向服务器发送请求。服务器响应来自待测h5页面的请求,向待测h5页面返回相应数据。应用程序接收服务器返回的数据,将接收到的数据加载至待测h5页面。

在应用程序根据测试命令对待测h5页面进行测试时,应用程序通过webview内核记录相应的调试信息。调试信息也可以称为测试数据,包括:请求总数、请求类型、请求响应时间、请求内容长度、请求内容格式、页面响应时间、页面加载时间以及请求响应状态等。测试数据反映了待测h5页面的页面性能。

由于应用程序根据测试命令对待测h5页面中的缓存内容进行了清空,由此在待测h5页面刷新之后,webview内核能够准确记录待测h5页面中页面性能数据。

步骤306,接收移动终端返回的测试数据。

步骤308,对测试数据进行转换,生成har文件。

步骤310,对har文件进行解析,生成待测h5页面对应的测试报告。

webview内核记录完待测h5页面对应的测试数据之后,应用程序将测试数据发送至测试终端中运行的测试工具。具体的,应用程序读取测试数据,按照websocket协议(一种网络协议)将测试数据生成二进制数据流,将二进制数据流通过浏览器远程协议发送至测试工具。测试工具接收二进制数据流,对二进制数据流进行转换,生成har(一种用来储存http(hypertexttransferprotocol,超文本传输协议)请求和响应的通用文件格式)文件。

测试终端利用测试工具对har文件进行解析,读取json(javascriptobjectnotation,javascript对象标记)格式的测试数据,包括:页面加载时间、请求总数、请求方式、请求的url以及响应等。测试工具根据测试数据生成待测h5页面对应的测试报告。

本实施例中,移动终端中运行的应用程序在接收到测试命令后,根据测试命令对待测h5页面进行测试,并通过webview内核记录反映待测h5页面性能的测试数据。测试终端接收移动终端返回的测试数据,对测试数据进行转换生成har文件,从而可以利用har文件得到待测h5页面对应的测试报告。在这个过程中,由于待测h5页面是在真实的webview环境中进行测试的,而且待测h5页面与服务器的数据交互是完整的,能够有效提高测试数据的准确性。在测试过程中也不需要额外搭建测试环境,可以对待测h5页面直接进行测试,由此使得h5页面的测试变得更容易操作。

在一个实施例中,对测试数据进行转换,生成har文件的步骤,包括:将二进制的测试数据转换为json文件;json文件中包括待测h5页面中发起的多个请求以及接收到的多个响应,请求与响应乱序排列;对乱序的多个请求和响应进行解析,生成har文件。

本实施例中,由于移动终端中运行的应用程序将测试数据生成二进制数据流之后,使得二进制数据流变得不可读,因此测试终端在接收到二进制数据流之后,需要对二进制的测试数据进行转换。具体的,测试工具将二进制的测试数据转换为可读文本格式,即转换为可读字符串。测试工具将可读文本格式的测试数据转换为json格式,生成相应的json文件。

待测h5页面可以向服务器发送多个请求,服务器会响应多个请求,返回对应的数据。在二进制的测试数据转换为json文件后,json文件中的请求与响应是乱序排列的。测试工具需要将乱序的请求与响应进行调整,以便生成http请求。

如果待测h5页面中存在页面跳转,那么json文件中至少包括两个h5页面的请求和响应。为了能够准确获取到待测h5页面的请求与响应,测试工具需要根据待测h5页面对应的页面标识在json文件中提取相应的请求和响应。

在其中一个实施例中,对乱序的多个请求和响应进行解析,生成har文件的步骤,包括:获取待测h5页面对应的页面标识,根据页面标识在json文件中查询对应的多个乱序的请求和响应;获取请求标识,根据请求标识查询对应的响应标识;利用请求标识与对应的响应标识获取一一对应的请求和响应;根据一一对应的请求和响应生成一个http请求;利用多个http请求生成har文件。

测试工具利用待测h5页面对应的页面标识在json文件中查询对应的多个乱序的请求和响应。例如,待测h5页面的页面标识为a,跳转页面的页面标识为b,待测h5页面中的请求标识为a10,一一对应的响应的标识为a20。跳转页面中的请求标识为b10,一一对应的响应的标识为b20。测试工具根据待测h5页面的页面标识查询对应请求和响应,利用一一对应的请求和响应生成一个完整的http请求,例如,利用a10的请求与a20的响应生成一个完整的http请求。测试工具获取har文件的格式,根据har文件的格式,读取多个http请求中的数据,生成har文件。har文件中可以采用json格式记录测试数据,包括:页面加载时间、请求总数、请求方式、请求的url以及响应等。通过对har文件进行解析,读取json格式的测试数据,由此可以快速生成待测h5页面对应的测试报告。

在一个实施例中,该方法还包括:根据测试报告,将待测h5页面标记为已测h5页面;获取已测h5页面对应的评分项和评分规则;利用har文件、评分项和评分规则对已测h5页面进行评分。

本实施例中,测试工具生成待测h5页面对应的测试报告之后,将待测h5页面标记为已测h5页面。以此提示测试人员已对该h5页面完成了相应的测试工作。为了便于测试人员对该h5页面的性能有直观了解,测试工具还可以利用测试报告中的测试数据对已测h5页面进行评分。

具体的,测试工具获取已测h5页面对应的评分项,包括:页面加载时间、页面请求数、页面流量、页面有无http请求错误、页面有无js或css文件压缩等。每一项评分项都配置了对应的评分规则,测试工具根据评分规则可以进行评分。例如,如果页面加载时间大于5秒钟,页面请求书大于30个,页面流量超过1mb直接返回不及格。总分为100,100分评价为优,100到90分评价为良好,80到70分评价为一般,70到60分评价为及格,小于60分评价为差。通过对已测h5页面进行评分,能够使得测试人员根据分数高低直观了解h5页面的性能优劣,为测试人员提供了方便。

如图4所示,本申请还提供了一种应用程序中h5页面的测试装置,该装置的内部结构可对应于如图2所示的结构,下述每个模块可全部或部分通过软件、硬件或其组合来实现。在一个实施例中,该装置包括:测试控制模块402和测试数据转换模块404,其中:

测试控制模块402,用于获取待测h5页面,生成待测h5页面对应的测试命令;将测试命令发生至移动终端,以使得移动终端运行的应用程序根据测试命令对待测h5页面进行测试,并通过webview内核记录相应的测试数据;接收移动终端返回的测试数据。

测试数据转换模块404,用于对测试数据进行转换,生成har文件;对har文件进行解析,生成待测h5页面对应的测试报告。

在其中一个实施例中,测试数据转换模块404还用于将二进制的测试数据转换为json文件;json文件中包括待测h5页面中发起的多个请求以及接收到的多个响应,请求与响应乱序排列;对乱序的多个请求和响应进行解析,生成har文件。

在其中一个实施例中,测试数据转换模块404还用于获取待测h5页面对应的页面标识,根据页面标识在json文件中查询对应的多个乱序的请求和响应;获取请求标识,根据请求标识查询对应的响应标识;利用请求标识与对应的响应标识获取一一对应的请求和响应;根据一一对应的请求和响应生成一个http请求;利用多个http请求生成har文件。

在一个实施例中,该装置还包括远程连接模块406,用于访问服务器中的移动终端管理平台;通过移动终端管理平台获取移动终端标识;根据移动终端标识对移动终端中应用程序的待测h5页面进行远程测试。

在一个实施例中,该装置还包括评分模块408,用于根据测试报告,将待测h5页面标记为已测h5页面;获取已测h5页面对应的评分项和评分规则;利用har文件、评分项和评分规则对已测h5页面进行评分。

在一个实施例中,本申请还提供了一种计算机设备,包括存储器及处理器,存储器中储存有计算机可读指令,指令被处理器执行时,使得处理器执行以下步骤:

获取待测h5页面,生成待测h5页面对应的测试命令;

将测试命令发生至移动终端,以使得移动终端运行的应用程序根据测试命令对待测h5页面进行测试,并通过webview内核记录相应的测试数据;

接收移动终端返回的测试数据;

对测试数据进行转换,生成har文件;

对har文件进行解析,生成待测h5页面对应的测试报告。

在一个实施例中,处理器执行计算机可读指令时还执行以下步骤:

将二进制的测试数据转换为json文件;json文件中包括待测h5页面中发起的多个请求以及接收到的多个响应,请求与响应乱序排列;

对乱序的多个请求和响应进行解析,生成har文件。

在一个实施例中,处理器执行计算机可读指令时还执行以下步骤:

获取待测h5页面对应的页面标识,根据页面标识在json文件中查询对应的多个乱序的请求和响应;

获取请求标识,根据请求标识查询对应的响应标识;

利用请求标识与对应的响应标识获取一一对应的请求和响应;

根据一一对应的请求和响应生成一个http请求;

利用多个http请求生成har文件。

在一个实施例中,处理器执行计算机可读指令时还执行以下步骤:

访问服务器中的移动终端管理平台;

通过移动终端管理平台获取移动终端标识;

根据移动终端标识对移动终端中应用程序的待测h5页面进行远程测试。

在一个实施例中,处理器执行计算机可读指令时还执行以下步骤:

根据测试报告,将待测h5页面标记为已测h5页面;

获取已测h5页面对应的评分项和评分规则;

利用har文件、评分项和评分规则对已测h5页面进行评分。

在一个实施例中,本申请还提供了一个或多个存储有计算机可读指令的计算机可读非易失性存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:

获取待测h5页面,生成待测h5页面对应的测试命令;

将测试命令发生至移动终端,以使得移动终端运行的应用程序根据测试命令对待测h5页面进行测试,并通过webview内核记录相应的测试数据;

接收移动终端返回的测试数据;

对测试数据进行转换,生成har文件;

对har文件进行解析,生成待测h5页面对应的测试报告。

在一个实施例中,计算机可读指令被处理器执行时还执行以下步骤:

将二进制的测试数据转换为json文件;json文件中包括待测h5页面中发起的多个请求以及接收到的多个响应,请求与响应乱序排列;

对乱序的多个请求和响应进行解析,生成har文件。

在一个实施例中,计算机可读指令被处理器执行时还执行以下步骤:

获取待测h5页面对应的页面标识,根据页面标识在json文件中查询对应的多个乱序的请求和响应;

获取请求标识,根据请求标识查询对应的响应标识;

利用请求标识与对应的响应标识获取一一对应的请求和响应;

根据一一对应的请求和响应生成一个http请求;

利用多个http请求生成har文件。

在一个实施例中,计算机可读指令被处理器执行时还执行以下步骤:

访问服务器中的移动终端管理平台;

通过移动终端管理平台获取移动终端标识;

根据移动终端标识对移动终端中应用程序的待测h5页面进行远程测试。

在一个实施例中,计算机可读指令被处理器执行时还执行以下步骤:

根据测试报告,将待测h5页面标记为已测h5页面;

获取已测h5页面对应的评分项和评分规则;

利用har文件、评分项和评分规则对已测h5页面进行评分。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1