CN102479151B - 一种网页访问速度的测试方法及装置 - Google Patents
一种网页访问速度的测试方法及装置 Download PDFInfo
- Publication number
- CN102479151B CN102479151B CN201010568708.9A CN201010568708A CN102479151B CN 102479151 B CN102479151 B CN 102479151B CN 201010568708 A CN201010568708 A CN 201010568708A CN 102479151 B CN102479151 B CN 102479151B
- Authority
- CN
- China
- Prior art keywords
- interface
- system time
- webpage
- play
- browser
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明公开了一种网页访问速度的测试方法及装置,用于解决在基于手持设备的网页访问速度测试中,无法自动、快速、准确的实现网页访问测速的技术问题。本发明在提交URL地址的同时通过第一接口获取第一系统时间,并在网页渲染结束进行UI展现之前通过第二接口指示第一接口获取第二系统时间,通过第二系统时间和第一系统时间的差值计算获得网页访问的总的时间,通过本发明能够自动地、准确地实现浏览器浏览网页速度测量。
Description
技术领域
本发明涉及移动终端浏览器技术,尤其涉及网页访问速度的测试方法及装置。
背景技术
如今,移动终端设备普遍应用于人们的生产生活中,为了满足人们各种在工作、生活、娱乐方面的各种需求,硬件生产商开发出性能越来越强大芯片,软件开发厂商开发出越来越多的基于移动终端的系统及应用软件,例如现有智能手机既可以实现语音通信功能,还能够提供互联网访问服务。现有的手机操作系统,例如诺基亚公司的Symbian操作系统、微软的Wince操作系统以及谷歌公司的Android操作系统,功能都变得越来越多,界面操作及显示越来越人性化、越来越丰富,但由于受到移动终端芯片处理性能限制,在使用移动终端上的浏览器浏览网页时速度会较慢。
出于对用户体验的考虑,以及浏览器厂商对浏览器性能测试的需求,需要对浏览器访问网页的速度进行测试,现有测试方法只能通过如下的手动方式来测试:首先用于打开浏览器,手动输入链接地址,点击“浏览”的同时,开始手动计时,在页面加载完成后,停止计时。然后选取结束和开始的时间差作为响应时间,经多次重复后取平均时间作为测量值。现有测量方法测量精度不够且测试过程费时、繁琐。
发明内容
有鉴于此,本发明的主要目的在于提供一种网页访问速度的测试方法及装置,用于解决在基于手持设备的网页访问速度测试中,无法自动、快速、准确的实现网页访问测速的技术问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种网页访问速度的测试方法,包括:
在浏览器程序中加入发送网页渲染结束信号的第二接口;
测试用例程序在控制浏览器程序提交网页地址的同时,通过第一接口获取第一系统时间;
所述测试用例程序通过第一接口获取第一系统时间后,实时监测所述第二接口是否给出网页渲染结束的信号;
当所述第一接口获得所述第二接口发出的网页渲染结束的信号后,获取第二系统时间,并通过所述第二系统时间与所述第一系统时间的差值获得网页访问速度。
所述测试用例程序基于Android测试框架、.NET的测试框架或XCode测试框架实现。
进一步地,在所述测试用例程序中同时加载一个或多个网页地址,针对同一个网页地址执行多次的速度测量并求取统计平均值,或针对多个网页分别进行多次的速度测量,并请求加权统计平均值。
进一步地,所述第二接口通过一个状态标识来指示渲染是否完成;
所述第一接口在获取所述第一系统时间后,通过监视循环监视所述状态标识的状态值,当所述状态标识指示渲染结束时,所述第一接口即刻获取所述第二系统时间。
基于上述方法,本发明还提出一种网页访问速度的测试装置,该装置包括:
测试用例模块,用于在运行浏览器程序并在控制浏览器程序提交网页地址的同时,调用第一接口模块获取第一系统时间;
第二接口模块,用于在所述浏览器程序网页渲染结束后发送网页渲染结束的信号;
第一接口模块,用于在获取第一系统时间后,实时监测第二接口是否发送网页渲染结束的信号;并在获得所述网页渲染结束的信号后,获取第二系统时间,通过所述第二系统时间与所述第一系统时间的差值获得网页访问速度。
优选地,所述浏览器基于Android开发框架、.NET开发框架或IPhone的开发框架实现,相对应地,所述测试用例模块基于Android测试框架、.NET的测试框架或XCode测试框架实现。
优选地,所述测试用例模块中同时加载一个或多个网页地址,针对同一个网页地址执行多次的速度测量并求取统计平均值,或针对多个网页分别进行多次的速度测量,并请求加权统计平均值。
优选地,所述第二接口模块通过一个状态标识来指示渲染是否完成;
所述第一接口模块在获取所述第一系统时间后,通过监视循环监视所述状态标识的状态值,当所述状态标识指示渲染结束时,所述第一接口模块即刻获取所述第二系统时间。
本发明中,在提交URL地址的同时通过第一接口获取第一系统时间,并在网页渲染结束进行UI展现之前通过第二接口指示第一接口获取第二系统时间,并通过第二系统时间和第一系统时间的差值计算获得网页访问的总的时间,通过本发明能够自动地、准确地实现浏览器浏览网页速度测量。
附图说明
图1为本发明提供的浏览器网页访问测速方法的流程图;
图2为本发明添加的接口与浏览器现有模块之间的关系示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
图1为本发明提供的浏览器网页访问测速方法的流程图,该方法包括:
步骤100、在浏览器程序中加入第二接口,所述第二接口能够给出网页渲染结束的信号;
步骤102、在测试用例程序中加载用于测试的URL地址,并通过测试框架加载运行浏览器程序;
步骤104、所述测试用例程序在控制所述浏览器程序提交URL地址的同时,通过第一接口获取当前系统时间T1,即浏览器提交URL地址的时间;
所述第一接口中包含获取当前系统时间的函数,在所述测试用例通过测试框架的提供的接口程序控制浏览器访问指定网页地址时,调用获取当前系统时间的函数获取当前系统时间T1,在获取到T1后,所述第一接口进入监控循环,等待浏览器生成Render树后,即渲染完毕后的由所述第二接口发送的网页加载结束的信号。
步骤106、所述测试用例程序通过第一接口在获得T1后,实时监测所述第二接口是否给出网页渲染结束的信号;
如图2所示,以Android浏览器为例,从提交URL地址到页面在浏览器中展示需要通过以下几个步骤:
a、浏览器post URL到相应地址;
b、浏览器从对应的URL地址获取数据元;
c、对所有获得的数据在本地生成DOM树,DOM树主要负责存储数据;
d、生成DOM树的同时,生成Render树,Render树主要负责渲染;
e、在Render渲染完毕后,推送至用户界面进行展示。
在浏览器的整个工作过程中,从a到e的所有时间为访问页面的总时间,而步骤e所需要的时间很小,可忽略不计,因此,本发明以从a到d的时间来近似的替代访问页面的总时间。
步骤108、当所述第一接口获得所述第二接口发出的网页渲染结束的信号后,获取当前系统时间T2,即浏览器加载网页结束准备在用户接口(UI)界面显示的时间;
步骤120、所述第一接口通过所述系统时间T2与T1的差值,获得浏览器访问网页的速度;
步骤122、所述测试用例重复执行步骤102至步骤120,从而获得访问指定网页或访问多个网页的平均速度。
在所述测试用例程序中可同时加载一个或多个网页地址,针对同一个网页地址执行多次的速度测量并求取统计平均值,或针对多个网页分别进行多次的速度测量,并请求加权统计平均值。
本发明一具体实施例中,在浏览器的程序包中新增第一接口和第二接口,第二接口中定义IS_FINISHED静态布尔变量、STAT_INIT()和LOADING_FINISHED(),IS_FINISHED变量为一个状态标识,用于指示是否渲染结束,初始值为FALSE;STAT_INIT()函数用于设置IS_FINISHED变量为FALSE;LOADING_FINISHED()函数用于设置IS_FINISHED变量为TRUE;该实施例中,在浏览器页面渲染完毕的事件函数中,例如OnPageFinished(),调用第二接口的LOADING_FINISHED()函数,第一接口通过监视IS_FINISHED变量值的变化来获知页面渲染是否完毕。该实施例中,在测试用例在控制浏览器向WEB服务器提交URL地址的事件函数中调用第一接口,第一接口首先通过系统提供的获取系统当前时间的API函数获取当前的系统时间T1,然后通过监视循环实时监视IS_FINISHED变量,当IS_FINISHED变量由FALSE变为TRUE时,结束监视循环,并再次获取当前系统时间T2,最后,由T2和T1的差值即可得到网页加载的时间。
本发明不限制浏览器的种类及该浏览器所基于的操作系统,例如可以是基于Windows操作系统的IE浏览器、基于谷歌Android系统的Android浏览器、IPhone操作系统的浏览器等。对于公布浏览器的组件调用接口的操作系统,所述浏览器还可以是基于公开的浏览器组件的第三方自己开发的浏览器,例如腾讯公司的MTT浏览器等。本发明中的测量用例都是基于操作系统提供的测试框架来实现的,通过测试框架,所述测试用例程序才能够获得被测程序的运行状态、才能够控制被测程序模拟真实应用场景,不同的操作系统都提供了各自不同的测试框架,例如Android的Instrumentation Framework、.Net的EnterpriseInstrumentation Framework、iPhone的XCode测试框架等。
为了实现上述的方法实施例,本发明的其他实施例还提供了一种网页访问速度的测试装置。另需首先说明的是,由于下述的实施例是为实现前述的方法实施例,故该测试装置都是为了实现前述方法的各步骤而设,但本发明并不限于下述的实施例,任何可实现上述方法的装置和模块都应包含于本发明的保护范围。
本发明还提供网页访问速度的测试装置,该装置包括:
测试用例模块,用于在运行浏览器程序并在控制浏览器程序提交网页地址的同时,调用第一接口模块获取第一系统时间;
第二接口模块,用于在所述浏览器程序网页渲染结束后发送网页渲染结束的信号;
第一接口模块,用于在获取第一系统时间后,实时监测第二接口是否发送网页渲染结束的信号;并在获得所述网页渲染结束的信号后,获取第二系统时间,通过所述第二系统时间与所述第一系统时间的差值获得网页访问速度。
优选地,所述测试用例模块中同时加载一个或多个网页地址,针对同一个网页地址执行多次的速度测量并求取统计平均值,或针对多个网页分别进行多次的速度测量,并请求加权统计平均值。
优选地,所述第二接口模块通过一个状态标识来指示渲染是否完成;
所述第一接口模块在获取所述第一系统时间后,通过监视循环监视所述状态标识的状态值,当所述状态标识指示渲染结束时,所述第一接口模块即刻获取所述第二系统时间。
本发明所述的浏览器基于Android开发框架、.NET开发框架或IPhone的开发框架实现,相对应地,所述测试用例模块基于Android测试框架、.NET的测试框架或XCode测试框架实现。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (6)
1.一种网页访问速度的测试方法,其特征在于,包括:
在浏览器程序中加入发送网页渲染结束信号的第二接口;
测试用例程序在控制浏览器程序提交网页地址的同时,通过第一接口获取第一系统时间;
所述测试用例程序通过第一接口获取第一系统时间后,进入监控循环,实时监测所述第二接口是否给出网页渲染结束的信号;
当所述第一接口获得所述第二接口发出的网页渲染结束的信号后,获取第二系统时间,并通过所述第二系统时间与所述第一系统时间的差值获得网页访问速度;
在所述测试用例程序中同时加载一个或多个网页地址,针对同一个网页地址执行多次的速度测量并求取统计平均值,或针对多个网页分别进行多次的速度测量,并请求加权统计平均值。
2.根据权利要求1所述的方法,其特征在于,所述测试用例程序基于Android测试框架、.NET的测试框架或XCode测试框架实现。
3.根据权利要求1所述的方法,其特征在于,
所述第二接口通过一个状态标识来指示渲染是否完成;
所述第一接口在获取所述第一系统时间后,通过监视循环监视所述状态标识的状态值,当所述状态标识指示渲染结束时,所述第一接口即刻获取所述第二系统时间。
4.一种网页访问速度的测试装置,其特征在于,该装置包括:
测试用例模块,用于在运行浏览器程序并在控制浏览器程序提交网页地址的同时,调用第一接口模块获取第一系统时间;
第二接口模块,用于在所述浏览器程序网页渲染结束后发送网页渲染结束的信号;
第一接口模块,用于在获取第一系统时间后,进入监控循环,实时监测第二接口是否发送网页渲染结束的信号;并在获得所述网页渲染结束的信号后,获取第二系统时间,通过所述第二系统时间与所述第一系统时间的差值获得网页访问速度;
所述测试用例模块中同时加载一个或多个网页地址,针对同一个网页地址执行多次的速度测量并求取统计平均值,或针对多个网页分别进行多次的速度测量,并请求加权统计平均值。
5.根据权利要求4所述的装置,其特征在于,所述浏览器基于Android开发框架、.NET开发框架或IPhone的开发框架实现,相对应地,所述测试用例模块基于Android测试框架、.NET的测试框架或XCode测试框架实现。
6.根据权利要求4所述的装置,其特征在于,
所述第二接口模块通过一个状态标识来指示渲染是否完成;
所述第一接口模块在获取所述第一系统时间后,通过监视循环监视所述状态标识的状态值,当所述状态标识指示渲染结束时,所述第一接口模块即刻获取所述第二系统时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010568708.9A CN102479151B (zh) | 2010-11-26 | 2010-11-26 | 一种网页访问速度的测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010568708.9A CN102479151B (zh) | 2010-11-26 | 2010-11-26 | 一种网页访问速度的测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102479151A CN102479151A (zh) | 2012-05-30 |
CN102479151B true CN102479151B (zh) | 2014-10-22 |
Family
ID=46091803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010568708.9A Active CN102479151B (zh) | 2010-11-26 | 2010-11-26 | 一种网页访问速度的测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102479151B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581987B (zh) * | 2012-07-31 | 2018-07-06 | 腾讯科技(深圳)有限公司 | 移动终端设备的网页下载速度的测试方法及装置 |
CN103678010B (zh) * | 2012-09-25 | 2018-03-23 | 腾讯科技(深圳)有限公司 | 一种浏览器启动时间的测试方法和装置 |
CN103853656B (zh) * | 2012-11-30 | 2016-08-10 | 阿里巴巴集团控股有限公司 | 网页测试方法和装置 |
CN103001829A (zh) * | 2012-12-14 | 2013-03-27 | 大唐移动通信设备有限公司 | 一种网络数据传输的测试方法和装置 |
CN104021071A (zh) * | 2013-03-01 | 2014-09-03 | 腾讯科技(深圳)有限公司 | 进程生命周期的获取方法及系统 |
CN103777939B (zh) * | 2013-03-18 | 2017-07-04 | 北京基调网络系统有限公司 | 一种测量网页首屏时间的方法 |
CN103412812B (zh) * | 2013-08-23 | 2016-04-13 | 北京奇虎科技有限公司 | 浏览器运行状态监测方法及装置 |
CN104881273B (zh) * | 2014-02-27 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 一种网页渲染的分析方法和终端设备 |
CN106598821B (zh) * | 2015-10-14 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 网页加载速度的测试方法及装置 |
CN106610887B (zh) * | 2015-10-26 | 2019-02-22 | 北京国双科技有限公司 | 网页加载速度的确定方法和装置 |
CN106611010B (zh) * | 2015-10-26 | 2020-02-07 | 北京国双科技有限公司 | 网页加载速度的确定方法和装置 |
CN107391518A (zh) * | 2016-05-17 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 统计页面加载性能信息的系统、方法及装置 |
CN106557426B (zh) * | 2016-11-30 | 2018-09-04 | 武汉斗鱼网络科技有限公司 | 一种用于分析Android端应用运行流畅度的方法和系统 |
CN107451193B (zh) * | 2017-06-29 | 2019-06-11 | 北京三快在线科技有限公司 | 一种客户端页面加载时间的获取方法及装置,电子设备 |
CN109271600B (zh) * | 2018-08-16 | 2022-02-22 | 微梦创科网络科技(中国)有限公司 | 一种性能数据的监测方法、系统和装置 |
CN109299000A (zh) * | 2018-08-22 | 2019-02-01 | 中国平安人寿保险股份有限公司 | 一种网页响应测试方法、计算机可读存储介质及终端设备 |
CN110300034B (zh) * | 2019-05-07 | 2021-01-29 | 清华大学 | 基于Web的网速测量方法及装置 |
CN110781063B (zh) * | 2019-10-25 | 2023-12-05 | 北京博睿宏远数据科技股份有限公司 | 网页首屏时间的测量方法、装置、设备及存储介质 |
CN115348195B (zh) * | 2022-06-30 | 2024-02-23 | 清华大学 | 地球系统模式数据的传输测速方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1283356A (zh) * | 1997-12-23 | 2001-02-07 | 英国电讯有限公司 | Http对话控制 |
US20070118640A1 (en) * | 2005-11-21 | 2007-05-24 | Ebay Inc. | Techniques for measuring above-the-fold page rendering |
CN101075909A (zh) * | 2006-09-18 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 网站访问信息统计系统以及网站访问信息统计方法 |
-
2010
- 2010-11-26 CN CN201010568708.9A patent/CN102479151B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1283356A (zh) * | 1997-12-23 | 2001-02-07 | 英国电讯有限公司 | Http对话控制 |
US20070118640A1 (en) * | 2005-11-21 | 2007-05-24 | Ebay Inc. | Techniques for measuring above-the-fold page rendering |
CN101075909A (zh) * | 2006-09-18 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 网站访问信息统计系统以及网站访问信息统计方法 |
Non-Patent Citations (1)
Title |
---|
李冰,马西奎.图像数据传输对网页下载时间的影响.《计算机工程》.2003,第29卷(第21期),第177-179页. * |
Also Published As
Publication number | Publication date |
---|---|
CN102479151A (zh) | 2012-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102479151B (zh) | 一种网页访问速度的测试方法及装置 | |
CN109325195B (zh) | 浏览器的渲染方法和系统、计算机设备、计算机存储介质 | |
CN107133180B (zh) | 动态页面的测试方法、测试装置及存储介质 | |
US20110246834A1 (en) | Testing software in electronic devices | |
CN107547261B (zh) | 云平台性能测试方法及装置 | |
CN109684188B (zh) | 测试方法和装置 | |
CN105589805B (zh) | 一种代码覆盖率报告的生成方法和装置 | |
CN111078539B (zh) | 一种测试方法、装置、系统、计算机可读存储介质 | |
CN109309596B (zh) | 一种压力测试方法、装置及服务器 | |
CN111522738A (zh) | 微服务系统的测试方法、装置、存储介质和电子设备 | |
CN109344066B (zh) | 一种浏览器页面的测试方法、系统及终端 | |
CN107451193A (zh) | 一种客户端页面加载时间的获取方法及装置,电子设备 | |
CN110287093A (zh) | 移动终端、数据接口测试方法及存储介质 | |
CN112463634A (zh) | 微服务架构下的软件测试方法及装置 | |
CN112732499A (zh) | 一种基于微服务架构的测试方法、装置及计算机系统 | |
CN110619096A (zh) | 用于同步数据的方法和装置 | |
US20150007145A1 (en) | Computing system with instrumentation mechanism and capture mechanism and method of operation thereof | |
CN202799166U (zh) | 移动应用网络测试系统 | |
CN108287781B (zh) | 一种内存占用监控方法及装置、系统 | |
WO2016188101A1 (zh) | 一种针对业务系统的测试方法和装置 | |
CN112052070A (zh) | 应用容器化评估方法、装置、电子设备及存储介质 | |
CN107305528B (zh) | 应用测试方法和装置 | |
CN103884905A (zh) | 一种终端设备业务应用的功耗测试方法、装置及系统 | |
CN111338928A (zh) | 基于chrome浏览器测试的方法及装置 | |
CN112612550A (zh) | 一种文件配置方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |