一种获取应用的首屏时间的方法、装置及存储介质与流程

文档序号:15700916发布日期:2018-10-19 19:49阅读:277来源:国知局

本发明涉及计算机技术领域,尤其涉及一种获取应用的首屏时间的方法、装置及存储介质。



背景技术:

随着互联网技术的快速发展,基于互联网技术产生的各类应用,极大的丰富了人们的娱乐生活,这样的应用如游戏类应用、视频类应用、网页浏览类应用等,然而,各类应用的首屏时间是影响用户体验的重要因素,首屏时间的长短会直接影响用户的去留,因此,如何获取应用的首屏时间以便对应用进行进一步的优化,从而提升应用的体验度是一个需要考虑的技术问题之一。



技术实现要素:

本发明实施例提供一种获取应用的首屏时间的方法、装置及存储介质,用于提高应用的首屏时间获取的准确度,以便对应用进一步优化,从而提升应用的体验度。

第一方面,本发明实施例提供了一种获取应用的首屏时间的方法,包括:

获取终端设备中的应用在加载过程中创建的各个页面的页面变化信息;

根据获取的各个页面的页面变化信息,获得每个页面的开始时间;

根据所述各个页面中,属于首屏的第一个页面和最后一个页面的开始时间,获得所述应用的首屏时间。

本发明实施例提供的应用的首屏时间获取方法,从加载应用的终端设备中,获取应用在加载过程中创建的各个页面的页面变化信息,进而从各个页面的页面变化信息中获得属于首屏的第一个页面运行的开始时间以及属于首屏的最后一个页面运行的开始时间,从而基于首屏的第一个页面运行的开始时间以及首屏的最后一个页面运行的开始时间,得到应用的首屏时间,由于本发明实施例中的首屏时间获取方法剔除了应用加载过程中不属于首屏加载的中间过程的加载时间,所以,能够更加准确的获取应用的首屏时间,以便对应用进一步的优化,从而提升应用的体验度。

可选的,所述各个页面的页面变化信息还包括每个页面的标题title以及链接地址url,所述获得每个页面的开始时间之后,所述方法还包括:

根据获取的各个页面的页面变化信息,获得每个页面的title以及url;

在终端界面上显示每个页面的开始时间、title以及url。

上述可选的方式,描述了本发明实施例还可以将获取的应用在加载过程中创建的各个页面的页面变化信息,如页面的运行的开始时间、运行的结束时间、可见开始时间、可见结束时间、title以及url等信息,显示在终端界面上,进而能够清晰、直观、且准确的区分加载过程中各个页面的变化信息。

可选的,所述根据所述各个页面中,属于首屏的第一个页面和最后一个页面的开始时间,获得所述首屏时间,具体包括:

根据各个页面中的title以及url,确定首屏加载过程中创建的第一个页面和最后一个页面;

获得所述首屏时间为:从所述第一个页面的开始时间至最后一个页面的开始时间之间的时间长度;

将获得的首屏时间显示到终端界面上。

上述可选的方式,描述了本发明实施例可以通过页面的title以及url来确定属于首屏的第一个页面和最后一个页面,进而确定第一个页面的开始时间至最后一个页面的开始时间之间的时间长度为应用的首屏时间,并且还可以在终端界面上显示首屏时间,便于直接观察到获得的首屏时间。

可选的,所述在终端界面上显示每个页面的开始时间、title以及url,具体包括:

根据每个页面从先到后的创建顺序,在可视化图形的时间轴上依次存储各个页面的页面变化信息,并将存储了各个页面的页面变化信息之后的可视化图形显示在终端界面上;以及

接收通过终端界面上的可视化图形时间轴上的目标位置输入的页面显示指令,所述页面显示指令包括:显示所述目标位置存储的页面的开始时间、title以及url。

可选的,所述获取所述应用在加载过程中创建的各个页面的页面变化信息,具体为:

基于浏览器远程调试协议,从加载应用的终端设备的浏览器获取所述应用在加载过程中创建的各个页面的页面变化信息。

可选的,所述从加载应用的终端设备的浏览器获取所述应用在加载过程中创建的各个页面的页面变化信息,具体包括:

根据预设采样间隔,从所述终端设备的浏览器采集应用加载过程中的页面变化信息,每采集一次,则根据当前采集的页面变化信息,确定当前新创建的页面的变化信息和/或当前关闭的页面的变化信息,从而获取加载过程中创建的各个页面的页面变化信息。

可选的,所述应用为h5应用,所述浏览器远程调试协议为谷歌浏览器chrome远程调试协议。

可选的,所述h5应用为h5游戏,根据采集到页面变化信息,确定采集到h5游戏的授权页面时,在终端界面显示所述h5游戏到达授权页面的提示信息。

第二方面,本发明实施例提供了一种获取应用的首屏时间的装置,包括:

获取单元,用于获取终端设备中的应用在加载过程中创建的各个页面的页面变化信息;

第一获得单元,用于根据获取的各个页面的页面变化信息,获得每个页面的开始时间;

第二获得单元,用于根据所述各个页面中,属于首屏的第一个页面和最后一个页面的开始时间,获得所述应用的首屏时间。

可选的,所述第一获得单元,还用于:

根据获取的各个页面的页面变化信息,获得每个页面的title以及url;

在终端界面上显示每个页面的开始时间、title以及url。

可选的,所述第二获得单元,还用于:

根据各个页面中的title以及url,确定首屏加载过程中创建的第一个页面和最后一个页面;

获得所述首屏时间为:从所述第一个页面的开始时间至最后一个页面的开始时间之间的时间长度;

将获得的首屏时间显示到终端界面上。

可选的,所述第一获得单元,还用于:

根据每个页面从先到后的创建顺序,在可视化图形的时间轴上依次存储各个页面的页面变化信息,并将存储了各个页面的页面变化信息之后的可视化图形显示在终端界面上;以及

接收通过终端界面上的可视化图形时间轴上的目标位置输入的页面显示指令,所述页面显示指令包括:显示所述目标位置存储的页面的开始时间、title以及url。

可选的,所述获取单元,还用于:

基于浏览器远程调试协议,从加载应用的终端设备的浏览器获取所述应用在加载过程中创建的各个页面的页面变化信息。

可选的,所述获取单元,还用于:

根据预设采样间隔,从所述终端设备的浏览器采集应用加载过程中的页面变化信息,每采集一次,则根据当前采集的页面变化信息,确定当前新创建的页面的变化信息和/或当前关闭的页面的变化信息,从而获取加载过程中创建的各个页面的页面变化信息。

可选的,所述应用为h5应用,所述浏览器远程调试协议为chrome远程调试协议。

可选的,所述h5应用为h5游戏,根据采集到页面变化信息,确定采集到h5游戏的授权页面时,在终端界面显示所述h5游戏到达授权页面的提示信息。

第三方面,本发明实施例提供了一种计算装置,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行如第一方面所述方法的步骤。

第四方面,本发明实施例提供了一种计算机可读介质,其特征在于,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行如第一方面所述方法的步骤。

在本发明实施例提供的应用的首屏时间获取方法中,考充分考虑到应用在加载过程,没有进行应用资源文件的下载或加载的中间过程如应用logo的加载、应用授权界面的加载、应用登录界面的加载等不应当归为应用的首屏时间,因此,在获取应用在加载过程中创建的各个页面的页面变化信息之后,根据获取的各个页面的页面变化信息,确定属于首屏的第一个页面和最后一个页面的开始时间,进而获得应用的首屏时间,所以,本发明实施例的应用的首屏时间获取方法首剔除了应用加载过程中不属于首屏加载的中间过程的加载时间,具有能够提高应用的首屏时间获取的准确度,以便对应用进一步的优化,从而提升应用的体验度的技术效果。同时,由于本发明实施例提供的首屏时间获取方法,能够获取应用在加载过程中创建的各个页面的页面变化信息,所以,也具有能够清晰、直观、且准确的显示应用在加载过程中所有页面的变化信息的技术效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。

图1为本发明实施例提供的一种应用场景示意图;

图2为本发明实施例提供的终端界面示意图;

图3为本发明实施例提供的首屏时间获取方法的一种流程图;

图4为本发明实施例提供的首屏时间获取方法的另一种流程图;

图5为本发明实施例提供的采集页面变化信息示意图;

图6为本发明实施例提供的可视化图形示意图;

图7为本发明实施例提供的显示可视化图形时间轴上任意位置存储的页面信息示意图;

图8为本发明实施例提供的另一种获得首屏时间的流程图;

图9为本发明实施例提供的另一种视化图形示意图;

图10为本发明实施例提供的一种首屏时间获取装置示意图;

图11为本发明实施例提供的一种计算机装置示意图。

具体实施方式

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

下面对本发明实施例中涉及的名词进行解释。

h5游戏:利用文本标记语言html5的技术特性编写的一类移动终端游戏,该类游戏运行在浏览器或网络视图webview中,不需要下载游戏软件即可体验的游戏。

首屏:为应用在加载过程中,应用的资源文件下载页面、应用的资源文件加载页面,以及从应用的资源文件加载页面运行到可进行用户体验的第一个页面的过程中的所有页面,例如,在应用为h5游戏时,首屏为h5游戏的资源文件下载页面、h5游戏的资源文件加载页面以及游戏大厅页面(或新手引导页面),其中,游戏大厅页面(或新手引导页面)为可进行用户体验的第一个页面。

首屏页面:为应用加载中可进行用户体验的第一个页面,例如,h5游戏中的游戏大厅、或新手引导页面,用户通过游戏大厅、或新手引导页面即可进行游戏。

首屏时间:应用中属于首屏的第一页面运行的开始时间至属于首屏的最后一个页面运行的开始时间,例如,h5游戏启动后,可能会经过腾讯游戏logo、微信游戏logo等加载过程,也可能弹出授权页面等待玩家授权。这些页面显示时,并没有进行资源文件的下载或加载。因此游戏的首屏时间是从游戏启动开始到达首屏的总时间,减去腾讯游戏logo、微信游戏logo和授权页面等中间过程的持续时间,也即为h5游戏中资源文件下载以及加载页面、以及从资源文件加载页面运行到游戏大厅(或新手引导页面)的时间。

chrome远程调试协议:chrome浏览器提供的协议,允许第三方应用通过websocket协议与浏览器的页面进行交互,获取页面的详细信息。

h5argus:根据本发明实现的h5游戏性能测试工具,可测试h5游戏加载过程中内存、cpu、fps(framespersecond,每秒帧数)、网络流量和首屏加载时间等性能数据。

现有技术中,主要通过两种方式来获取应用的首屏时间,第一种方式为人工手动测试的方案,也即测试人员使用秒表计时,在应用开始加载时进行计时,应用到达首屏页面时结束计时;第二种方式为在云端提供的终端界面上通过提交应用的测试链接来测试首屏时间。然而,在具体实践过程中,发明人发现,上述第一种方式,测试的结果完全依赖测试人员的观察以及判断,难以避免的出现测试人员判断的结果与实际加载的时间存在一定出入的情况,因此,上述第一种方案不仅效率低,且最终获得的应用的首屏时间准确度低。而上述第二种方案,若应用在加载过程出现用户授权界面或用户登录界面,需要用户授权后才能继续加载,由于其完全由云端监控,测试人员无法在授权界面或用户登录界面进行用户授权,导致应用还没加载到首屏就加载中断,进而使得云端反馈会的测试结果不准确,所以,上述第二种方案,也存在获得的应用首屏时间不准确的问题。

为此,本发明发明人考虑到应用在加载过程包括应用logo的加载、应用授权界面的加载、应用登录界面的加载等中间过程,而上述中间过程并没有进行应用资源文件的下载或加载,所以,上述中间过程的加载时间不应当归为应用的首屏时间,因此,在应用首屏时间的获取过程中应当将上述中间过程花费的加载时间剔除。基于此,本发明实施例提供了一种获取应用的首屏时间的方法,该方法可以获取终端设备的应用在加载过程中创建的各个页面的页面变化信息,进而根据获取的各个页面的页面变化信息,确定属于首屏的第一个页面和最后一个页面的开始时间,从而获得应用的首屏时间,所以,本发明实施例中的首屏时间获取方法剔除了应用加载过程中不属于首屏加载的中间过程的加载时间,所以,能够更加准确的获取应用的首屏时间,以便对应用进行进一步的优化,从而提升应用的体验度。

本发明实施例中获取应用的首屏时间的方法可以应用于如图1所示的应用场景,在该应用场景中包括终端设备10以及pc(personalcomputer,个人计算机)设备11,其中,终端设备10与pc设备11可以通过usb数据线12连接,当然,在实际应用中,终端设备10与pc设备11也可以通过无线网络连接,终端设备10中安装有应用所属的app,pc设备11中的终端界面13可以如图2所示,包括“已连接”,“首屏测试”按钮以及“到达首屏”按钮,那么,在pc设备11与终端设备10连接之后,可通过终端界面上的“已连接”按钮提示用户pc设备11与终端设备10已连接,通过点击“首屏测试”,使用本发明实施例中的方法,在终端设备10中的应用的加载过程中,获取应用加载过程中产生的数据,以及在获取到应用加载过程中产生的数据之后,通过点击“到达首屏”按钮,结束应用的运行。

本发明实施例中获取应用的首屏时间的方法还可以应用于其他应用场景,如仅包括终端设备的应用场景,在该场景下,终端设备安装有应用所属的app,在终端设备的应用加载过程中,终端设备可以通过本发明实施例中的方法,在自身设备中的应用的加载过程中,获取应用加载过程中产生的数据,在此就不对本发明实施例中的方法的应用场景一一列举了,需要注意的是,上文提及的应用场景仅是为了便于理解本发明的精神和原理而示出,本发明实施例在此方面不受任何限制。相反,本发明实施例可以应用于适用的任何场景。

下面结合图1所示的应用场景,对本发明实施例提供的获取应用的首屏时间的方法进行说明。

如图3所示,本发明实施例提供的一种获取应用的首屏时间的方法,包括:

步骤s101:获取终端设备中的应用在加载过程中创建的各个页面的页面变化信息。

本发明实施例中的应用可以为游戏类应用、视频类应用、网页浏览类应用等,在此以本发明实施例中的应用为游戏类应用,该游戏类应用具体为h5游戏为例,来对本发明实施例中的方法进行阐述。

本发明实施例中,pc设备可以如上文所述的通过usb数据线与终端设备连接,也可以通过无线方式实现与终端设备的连接,在此,以通过usb数据线与终端设备连接为例,在pc设备与终端设备连接之后,pc设备就可以通过usb数据线获取终端设备中h5游戏在加载过程中创建的各个页面的页面变化信息。

在本发明实施例中,在pc设备与终端设备连接之后,还可以先在pc设备的终端界面输入获取开始命令,进而通过获取开始命令来触发pc设备获取终端设备中的h5游戏在加载过程中创建的各个页面的页面变化信息,输入获取开始命令的方式可以包括多种,例如图2所示,在pc设备的终端界面设置一首屏测试按钮时,可以通过点击首屏测试按钮的方式输入获取开始命令,例如,还可以通过pc设备监控终端设备中的h5游戏加载过程,一旦监控到h5游戏开始加载时,触发获取开始指令获取h5游戏加载中创建的各个页面的页面变化信息。

在本发明实施例中,具体以在pc设备中的终端界面设置一首屏测试按钮,通过点击首屏测试按钮的方式在终端界面输入获取开始命令为例,在实际应用中,在点击终端界面中的首屏测试按钮时,还可以同步点击终端设备中的h5游戏,使h5游戏开始加载,以便pc设备同步获取h5游戏的加载过程创建的页面变化信息,当然,也可以点击终端界面中的首屏测试按钮时,通过pc设备控制终端设备中的h5游戏同步启动加载过程。

可选的,基于浏览器远程调试协议,从加载应用的终端设备的浏览器获取应用在加载过程中创建的各个页面的页面变化信息。

pc设备可以基于浏览器远程调试协议从加载h5游戏的终端设备的浏览器中,获取h5游戏加载过程中创建的各个页面的页面变化信息,具体的,在获取h5游戏加载过程中创建的各个页面的页面变化信息之前,可以先打开终端中的h5游戏所在的app,这里假设h5游戏所在的app为微信,可以先在终端设备中打开微信,进入微信中的h5游戏启动界面,那么,在pc设备与终端设备连接之后,pc设备就可以通过浏览器远程调试协议如chrome远程调试协议,获取到终端设备前台运行的进行的进程名,也即微信的进行名。

这里假设微信的进行名为“com.tencent.mm:tools”,那么,在获取到微信的进行名之后,pc设备就可以根据微信的进行名查找与微信进程名对应的进程id,这里假设查找到的进行id为“18701”,则pc设备在查找到进程id之后,pc设备就可以打开终端设备中的微信内的调试模式,并在终端系统目录如“/proc/net/unix”下,根据查找到进程id创建用于调试的套接字。

这里假设创建的套接字为“@webview_devtools_remote_18701”,那么,在套接字创建完成之后,pc设备就可以将创建的套接字映射到pc设备中,在实际应用中,可以具体通过以下程序将创建的套接字映射到pc设备:adbforwardtcp:19222localabstract:webview_devtools_remote_pid,进而建立与终端设备之间的数据通道,以便在终端设备中的h5游戏加载时,通过该数据通道,并基于浏览器远程调试协议如chrome远程调试协议,从终端设备的浏览器获取h5游戏加载过程中创建的各个页面的页面变化信息。

可选的,上述步骤s101中:从加载应用的终端设备的浏览器获取应用在加载过程中创建的各个页面的页面变化信息,具体包括:

根据预设采样间隔,从终端设备的浏览器采集应用加载过程中的页面变化信息,每采集一次,则根据当前采集的页面变化信息,确定当前新创建的页面的变化信息和/或当前关闭的页面的变化信息,从而获取加载过程中创建的各个页面的页面变化信息。

在本发明实施例中,采用间隔又可称为采集频率,可以预先设置一合适的采样间隔,本发明充分考虑到若采用间隔设置的过大会影响到页面时间采集的精度,若采集间隔设置的太短时,又会占用过多的cpu和内存,影响pc设备的性能,因此,在本发明实施例中的预设的采用间隔可以通过长期且大量的试验获得,例如将采用间隔设置为0.5s、0.6s、1s等,在本发明实施例中具体以采样间隔为0.5s为例。

按照采样间隔0.5s从终端设备的浏览器中采集h5游戏加载过程中的页面变化信息,每采集一次,就可以将当前采集的页面变化信息按照图4所示的流程进行执行,进而获得h5游戏加载过程中创建的各个页面的页面变化信息。

图4所示的流程包括:

步骤s201:判断是否到达首屏页面,若未到达首屏页面,则执行步骤s202,否则执行步骤s208。

步骤s202:根据当前采集的页面变化信息,提取当前的可见页面信息;

步骤s203:对比当前的可见页面信息以及紧接当前采样之前的上次采集提取的可见页面信息,进而判断可见页面信息是否有发生变化,若是,则执行步骤s204,否则执行步骤s205;

步骤s204:更新上次可见页面信息中的可见页面结束时间;

步骤s205:记录当前的可见页面信息的可见页面开始时间;

步骤s206:从所有页面信息中,筛选新增页面,进而更新新增页面的信息;

步骤s207:从所有页面信息中,筛选已结束页面,进而更新已结束页面的信息;

步骤s208:将所有界面标记为结束,并更新所有页面信息。

在本发明实施例中,可以设置采集h5游戏加载过程中的具体的页面变化信息,例如,可以采集h5游戏加载过程中各个的页面运行时间的变化信息,如运行的开始时间、运行的结束时间;还可以采集h5游戏加载过程中各个页面的可见时间变化信息,如可见开始时间、可见结束时间;也可以采集h5游戏加载过程中各个页面的标题title、链接地址url等页面变化信息。

在本发明实施例中,具体以采集h5游戏加载过程中的具体的页面变化信息包括页面运行的开始时间、结束时间、可见开始时间、页面结束时间、title、url以及tabid(页面的id)为例。同时,在本发明实施例中以如下所示的格式,来记录每次采集的h5游戏加载过程中的上述页面变化信息:

其中,tab表示页面,tabid表示页面的id,title表示标题,url表示页面的链接地址,start_time表示页面运行的开始时间,end_time表示页面运行的结束时间,top_start表示可见页面开始时间,top_end表示可见页面结束时间。

按照采样间隔0.5s从终端设备的浏览器中采集h5游戏加载过程中的页面变化信息时,可以在每次采集之后或之前或采集的同时,先判断当前终端设备中的h5游戏是否加载到h5游戏的首屏页面,本发明实施例中h5游戏的首屏页面为属于h5游戏的首屏最后一个页面,这里继续以属于h5游戏的首屏最后一个页面具体为游戏大厅为例。

在具体实践过程中,判断是否到达h5游戏的首屏页面的方式有多种,例如,可以根据h5游戏的首屏页面特征如首屏页面的标题、url等,来识别采集的页面变化信息中是否新增h5游戏的首屏页面,若是,则确定已加载到h5游戏的首屏页面,例如,还可以通过用户观察终端设备显示的界面是否为h5游戏的首屏页面的方式,来判断是否到达h5游戏的达首屏页面。

若未到达h5游戏的首屏页面,则根据当前采集的页面变化信息,提取当前采集时刻h5游戏加载中的可见页面的信息,在实际应用中,pc设备在采样时刻采集的页面变化信息可以页面列表的形式反馈到pc设备中,通常,排列在页面列表中的顶端的页面为当前采集时刻h5游戏加载过程中的可见页面,因此,可以通过提取面列表中顶端的页面,来获得当前采样时采集的可见页面,进而获得可见页面的信息。

假设当前采集时刻为t2时刻,t2时刻采集到的页面变化信息如图5所示,t2时刻具体为11:32:32,同时假设图5中的腾讯游戏logo页面排在当前采集反馈的页面列表中的顶端,那么,当前采集时刻的可见页面就为腾讯游戏logo页面,然后对比当前的可见页面信息以及紧接当前采样之前的上次采集提取的上次可见页面信息,进而判断加载中的可见页面是否发生变化,由于紧挨当前采集时刻t2之前的为t1采集时刻,在t1采集时刻只有微信游戏logo页面,微信游戏logo页面为t1时刻的可见页面。

所以,腾讯游戏logo页面为t2时刻的新增页面,由于腾讯游戏logo页面排在当前采集反馈的页面列表中的顶端,因此,可见页面发生变化,t2时刻的可见页面为腾讯游戏logo页面,可以更新当前采样时刻t2的可见页面,也即,腾讯游戏logo页面运行的开始时间以及可见开始时间均为t2。其中,腾讯游戏logo页面的信息还包括腾讯游戏logo页面的tabid、开始时间、结束时间,由于新增的腾讯游戏logo页面当前还处于运行以及可见状态,因此,运行的结束时间end_time以及可见结束时间均可以暂时赋值为none。

而微信游戏logo在t2时刻已不可见,因此,可以更新微信游戏logo页面的可见结束时间为t2时刻,t2时刻微信游戏logo页面虽然不可见,但还处于运行中,因此,t2时刻微信游戏logo页面运行的结束时间end_time暂时赋值为none。

若当前采样时刻t2还采集到其他新增页面,那么还可以根据上文的方法更新其他新增页面的信息,然后筛选当前采样时刻t2已加载结束的页面,筛选的方式可以通过对比上次采样时刻t1,反馈回来的页面列表,为叙述方便,将采样时刻t1反馈回的页面列表称为表1,将当前采样时刻t2反馈回来的页面列表称为表2,对比表1和表2,表1中未在表2中出现的页面,即为当前采样时刻t2已加载结束的页面,由图5可知,t2采样时刻没有运行结束的页面。

然后,在下一次采样时刻也即t3时刻,根据上文所述的方法继续执行图6所示的步骤,由图5可知,t3时刻微信游戏logo页面运行结束,因此,就将微信游戏logo页面运行的结束时间end_time赋值为t3时刻,也即11:32:34,由于t3时刻腾讯游戏logo页面认为可见页面,所以t3时刻腾讯游戏logo页面的页面信息并没有发生变化,在紧接t3时刻之后的采样时刻t4,以及紧接t4时刻之后的采样时刻t5……等采样时刻采集到的页面变化信息,均可根据上文所述的方法更新页面变化信息,直到运行到h5游戏的首屏页面,则将h5游戏加载过程中的所有界面标记为结束,并更新所有页面信息,从而获取到h5游戏加载过程中的所有页面的变化信息。

可选的,若h5应用为h5游戏,根据采集到的页面变化信息,确定采集到h5游戏的授权页面时,在终端界面显示h5游戏到达授权页面的提示信息。

在本发明实施例中,若在h5游戏的加载过程中创建的页面包括h5游戏的授权页面,那么,在采集时刻,采集到h5游戏的授权页面时,还可以在终端界面生成并显示用于提示用户在h5游戏的授权页面进行授权操作的提示信息,进而在对h5游戏的授权页面进行授权操作之后,使得h5游戏能够加载到h5游戏的首屏页面。

例如,在h5游戏的加载过程中采集获得需要用户授权登录的登录界面时,在终端界面生成并显示提示用户进行授权的提示信息,并基于该提示信息,用户点击登录界面中登录按钮或选项,授权该登录界面,那么,pc设备确定登录界面获得用户授权登录操作之后,h5游戏能够加载到h5游戏的首屏页面,使pc设备能够获取首屏加载过程中创建的各个页面的页面变化信息。

步骤s102:根据获取的各个页面的页面变化信息,获得每个页面的开始时间。

在本发明实施例中,获取的h5游戏加载过程中的所有页面的变化信息中,包括各个页面运行的开始时间、可见开始时间,可见结束时间,页面运行的结束时间等信息,因此,就可以根据获取的各个页面的页面变化信息,获得每个页面运行的开始时间,当然,还可以获得各个页面的其它信息,如获得每个页面的可见开始时间,获得每个页面的链接地址url,tabid、title等。

例如,在获得各个页面的开始时间后,可以在终端界面上显示每个页面的开始时间;又如,在获得各个页面的开始时间、title以及url后,可以在终端界面上显示每个页面的开始时间、title以及url。

在本发明实施例中,具体以根据获取的各个页面的页面变化信息,获得每个页面运行的开始时间、运行的结束时间、可见开始时间、可见结束时间、tabid、title以及url为例。

那么,在获得各个页面的上述页面信息(也即各个页面的运行的开始时间、运行的结束时间、可见开始时间、可见结束时间、tabid、title以及url)之后,就可以在终端界面上显示各个页面的上述页面信息,在具体实践过程中,显示方式可以包括多种,例如,可以直接在终端界面上将获得的各个页面的上述信息显示出来,还可以按照每个页面运行的开始时间从先到后的顺序将各个页面信息排列开来显示,也可以通过预设的可视化图形来显示获得的各个页面的页面信息,预设的可视化图形如timeline可视化图、列表类可视化图等。

可选的,在终端界面上显示每个页面的开始时间、title以及url,具体如图6所示,包括:

步骤s301:根据每个页面从先到后的创建顺序,在可视化图形的时间轴上依次存储各个页面的页面变化信息,并将存储了各个页面的页面变化信息之后的可视化图形显示在终端界面上;以及

步骤s302:接收通过终端界面上的可视化图形时间轴上的目标位置输入的页面显示指令,页面显示指令包括:显示所述目标位置存储的页面的开始时间、title以及url。

这里以预设的可视化图为timeline可视化图为例,timeline可视化图实现的方式包括多种,例如,使用highcharts图表库实现,使用echarts图表库实现等等,在此就不一一列举,也不做任何限制。在timeline可视化图的时间轴上,根据每个页面从先到后的创建顺序也即每个页面运行的开始时间,依次存储各个页面运行的开始时间、结束时间、可见开始时间、可见结束时间、tabid、title以及url,并将存储了各个页面运行的开始时间、运行的结束时间、可见页面开始时间、可见页面结束时间、tabid、title以及url之后的timeline可视化图形显示在终端界面上。

如图7所示,为在终端界面显示的存储了各个页面的运行的开始时间、运行的结束时间、可见页面开始时间、可见页面结束时间、tabid、title以及url之后的timeline可视化图形,那么,就可以在图7所示的timeline可视化图形时间轴上的目标位置输入页面显示指令,就可以显示目标位置存储的页面的运行的开始时间、运行的结束时间、可见页面开始时间、可见页面结束时间、tabid、title以及url。

例如,可以在终端界面上,通过鼠标点击timeline可视化图形时间轴上的任意位置,具体的如图7中所示,黑色箭头所在的位置表示鼠标点击的位置,那么,该位置就为目标位置,pc设备通过终端界面将该目标位置存储的页面的运行的开始时间、运行的结束时间、可见开始时间、可见结束时间、tabid、title以及url显示出来,当然,在实际应用中,还可以仅显示目标位置存储的页面的部分页面信息,例如,仅显示页面运行的开始时间、title以及url,又如,仅显示页面运行的开始时间、运行的结束时间、title以及url等。

所以,本发明实施例中的方法,还可以将应用如h5游戏的加载过程中的获得的各个页面的页面变化信息,如页面的运行的开始时间、运行的结束时间、可见开始时间、可见结束时间、title以及url等信息,显示在终端界面,进而能够清晰、直观、且准确的区分加载过程中各个页面的变化信息。

步骤s103:根据所述各个页面中,属于首屏的第一个页面和最后一个页面的开始时间,获得应用的首屏时间。

在本发明实施例中,在通过上述步骤2获得每个页面运行的开始时间之后,就可以根据各个页面中,属于h5游戏首屏的第一个页面和最后一个页面运行的开始时间,来获得h5游戏首屏时间,在实际应用中,不同商家开放的h5游戏的h5游戏首屏的第一个页面和最后一个页面可能不同,例如,商家1开发的h5游戏中,属于首屏的第一个页面可能是h5游戏资源文件的下载页面,其属于首屏的最后一个页面可能是h5游戏的游戏大厅页面,又如,商家2开发的h5游戏中,属于首屏的第一个页面可能是h5游戏的资源文件下载与加载页面(也即资源文件下载与加载为同一个页面),其属于首屏的最后一个页面可能是h5游戏的新手引导页面。

在本发明实施例中,具体以h5游戏中,属于首屏的第一个页面为h5游戏资源文件的下载页面,属于首屏的最后一个页面为h5游戏的游戏大厅页面为例。那么,就可以通过上述步骤s102获得h5游戏资源文件的下载页面运行的开始时间,以及获得h5游戏的游戏大厅页面运行的开始时间,那么,h5游戏就为h5游戏资源文件的下载页面运行的开始时间与h5游戏的游戏大厅页面运行的开始时间之间的时间长度,也即,h5游戏的首屏时间为h5游戏的加载过程中,资源文件的下载页面开始运行、经历资源文件的加载页面至游戏大厅页面运行的开始时间这段时间。

在本发明实施例中,若如上文所述,在timeline可视化图形时间轴上存储了各个页面的页面变化信息,并在终端界面显示存储了各个页面的页面变化信息的timeline可视化图形时,步骤s103还可以具体按照如图8所示的方式执行:

步骤401:根据各个页面中的title以及url,确定首屏加载过程中创建的第一个页面和最后一个页面;

步骤402:获得所述首屏时间为:从第一个页面的开始时间至最后一个页面的开始时间之间的时间长度;

步骤403:将获得的首屏时间显示到终端界面上。

请参考图9,在timeline可视化图形时间轴上存储了各个页面的页面变化信息之后,可以通过鼠标点击timeline可视化图形时间轴上的任意位置,进而显示任意位置存储的页面的页面变化信息,进而通过显示的各个页面的页面变化信息中的title以及url来确定属于h5游戏首屏的第一个页面或最后一个页面,例如图9所示,在将鼠标移动到存储有图9中标识20所示的微信游戏logo页面时,通过显示的页面中的title以及url识别出为微信游戏logo页面,以及通过显示的微信游戏logo页面中运行的开始时间和结束时间,得到微信游戏logo页面运行的总时长;在将鼠标移动到存储有图9中标识21所示的腾讯游戏logo页面时,通过显示的页面中的title以及url识别出为腾讯游戏logo页面,以及通过显示的腾讯游戏logo页面中运行的开始时间和结束时间,得到腾讯游戏logo页面运行的总时长。同样的,在将鼠标移动到存储有图9中标识22所示的授权页面时,通过显示的页面中的title以及url识别出为授权页面,以及通过显示的授权页面中运行的开始时间和结束时间,得到授权页面运行的总时长。

在将鼠标移动到存储有图9中标识23所示的h5游戏的资源文件下载页面时,通过显示的页面中的title以及url识别出为该页面就为h5游戏中属于首屏页面的第一个页面,因此,首屏时间从该页面运行的开始时间算起,并经历h5游戏的资源文件加载页面(图中未画出)直到h5游戏中属于首屏页面的最后一个页面,也即图9中标识24所示的h5游戏的游戏大厅页面的运行开始时间。

在实际应用中,在显示该位置存储的页面的变化信息时,还可以在终端界面设置一确认按钮,由于确定当前显示的该位置存储的页面是否属于h5游戏首屏的第一个页面或最后一个页面的确认按钮,进而在通过鼠标点击timeline可视化图形时间轴上存储h5游戏中属于首屏的第一个页面的第一目标位置,并显示第一个页面时,通过点击是否属于h5游戏首屏的第一个页面的确认按钮,获得第一个页面运行的开始时间,以及在通过鼠标点击timeline可视化图形时间轴上存储的属于h5游戏首屏的最后一个页面的第二目标位置,并最后一个页面时,通过点击是否属于h5游戏首屏的最后一个页面的确认按钮,获得首屏最后一个页面运行的开始时间,进而确定第一个页面运行的开始时间与最后一个页面运行的开始时间的之间长度就为h5游戏的首屏时间。

在获得h5游戏的首屏时间之后,还可以在终端界面上显示获得的h5游戏的首屏时间,以便用户能够直接观察到获得的h5游戏的首屏时间。

所以,在上述方法中,将应用的加载过程中的获得的各个页面的页面变化信息显示在终端界面之后,可以通过各个页面的开始时、title以及url等信息,确定出应用如h5游戏中属于首屏的第一个页面,以及属于首屏的最后一个页面,进而根据该第一个页面运行的开始时间与该最后一个页面运行的开始时间,获得首屏时间,所以,通过本发明能够剔除应用加载过程中的应用logo的加载、应用授权界面的加载、应用登录界面的加载等中间过程所花费的时间,因此,本发明获得的首屏时间更加准确。

可选的,在本发明实施例中,根据上文所述的方法获得h5游戏的首屏时间之后,还可以在图2所示的终端界面上,点击终端界面的到达首屏按钮,进而通过终端界面输入的停止命令,结束获取h5游戏加载过程中创建的页面变化信息。

在实际应用中,还可以使用编程语言如python语言、java语言等,将本发明实施例中应用的首屏时间获取方法开发成特定的测试工具,例如,在应用为h5游戏时,使用python语言将本发明上文叙述的首屏获取方法,开发成用于测试h5游戏的首屏时间的h5argus游戏性能测试工具,进而,通过h5argus游戏性能测试工具可获取h5游戏加载过程中的内存、cpu、fps、网络流量和首屏加载时间等性能数据。

基于同一发明构思,本发明实施例提供了一种用于获取首屏时间的装置,该装置的首屏时间获取方法的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,如图10所示该装置包括:

获取单元30,用于获取终端设备中的应用在加载过程中创建的各个页面的页面变化信息;

第一获得单元31,用于根据获取的各个页面的页面变化信息,获得每个页面的开始时间;

第二获得单元32,用于根据所述各个页面中,属于首屏的第一个页面和最后一个页面的开始时间,获得所述应用的首屏时间。

可选的,所述第一获得单元,还用于:

根据获取的各个页面的页面变化信息,获得每个页面的title以及url;

在终端界面上显示每个页面的开始时间、title以及url。

可选的,所述第二获得单元,还用于:

根据各个页面中的title以及url,确定首屏加载过程中创建的第一个页面和最后一个页面;

获得所述首屏时间为:从所述第一个页面的开始时间至最后一个页面的开始时间之间的时间长度;

将获得的首屏时间显示到终端界面上。

可选的,所述第一获得单元,还用于:

根据每个页面从先到后的创建顺序,在可视化图形的时间轴上依次存储各个页面的页面变化信息,并将存储了各个页面的页面变化信息之后的可视化图形显示在终端界面上;以及

接收通过终端界面上的可视化图形时间轴上的目标位置输入的页面显示指令,所述页面显示指令包括:显示所述目标位置存储的页面的开始时间、title以及url。

可选的,所述获取单元,还用于:

基于浏览器远程调试协议,从加载应用的终端设备的浏览器获取所述应用在加载过程中创建的各个页面的页面变化信息。

可选的,所述获取单元,还用于:

根据预设采样间隔,从所述终端设备的浏览器采集应用加载过程中的页面变化信息,每采集一次,则根据当前采集的页面变化信息,确定当前新创建的页面的变化信息和/或当前关闭的页面的变化信息,从而获取加载过程中创建的各个页面的页面变化信息。

可选的,所述应用为h5应用,所述浏览器远程调试协议为chrome远程调试协议。

可选的,所述h5应用为h5游戏,根据采集到页面变化信息,确定采集到h5游戏的授权页面时,在终端界面显示所述h5游戏到达授权页面的提示信息。

基于同一发明构思,本发明实施例提供了一种计算装置,如图11所示,包括至少一个处理器40、以及至少一个存储器41,其中,所述存储器41存储有计算机程序,当所述程序被所述处理器40执行时,使得所述处理器40执行如上文所述的应用的首屏时间获取方法的步骤。

基于同一发明构思,本发明实施例提供了一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行如上文所述的应用的首屏时间获取方法的步骤。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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