多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

使用QTP统计页面加载时间-自动化测试

更新时间:2022-05-26 09:03:12 作者:多测师 浏览:123

  QTP是一款功能自动化测试工具,而页面加载时间或响应速度应该是性能测试的事情,其实QTP也可以实现对页面加载时间的统计功能。因为QTP使用的是VBS脚本,VBS脚本的强大之处在于它可以调用任何windows的COM组件和对象。那么问题解决的思路就很简单了,就是我们要利用VBS获取 IE网页,并统计网页加载的时间。

使用QTP统计页面加载时间-自动化测试

  分析很简单,但是在实现上却有几个技术问题:一、如何使用VBS分析网页。我们知道网页技术是基于DOM模型的(也不知道这么说是不是准确),那么只要我们能用VBS调用DOM下的document对象,那么我们就可以使用document的方法来实现我们的要求;二、如果能实现对DOM的调用,我们如何统计页面加载的各个阶段的时间,通过查阅资料可以知道,在document中有一个readystate方法,该方法共有五个返回值,分别对应网页初始化到网页加载完毕五个阶段,我们可以利用该方法实现我们的要求。

  实现的思路如下:

  1、利用createobject创建一个IE的实例,以访问document对象;

  2、利用document对象的readystate属性获取网页加载时各个阶段的时间,

  3、利用timer()实现对毫秒的统计。timer()函数的作用是统计从午夜时间到当前时间所过去的秒数,我们用两个timer值想减就可以得到两个时间点之间相隔的毫秒数。

  4、为了方便调用,将时间统计的代码封装成一个函数。

  最后代码如下:

  '在loadrunner脚本中,把要访问的url做参数化,变量名为SITEURL

  'timeCount方法返回一个字符串,字符串的内容是统计各个阶段发生的时间

  '可以使用各种方法查看result的内容

  SITEURL = "www.sina.com.cn"'设置要进行访问的URL

  result = timeCount(SITEURL)'返回运行结果

  MsgBox result '输出运行结果,在loadrunner中可以将该行注释掉

  '方法定义开始

  Public Function timeCount(url)

  Set dom = CreateObject("InternetExplorer.Application") '创建一个IE的对象

  dom.Navigate(url) '打开指定的URL

  time_start = Now()'获取统计开始时的时间

  timer_start = timer()'获取当前时间的毫秒数

  'a = dom.ReadyState'获取当前IE的状态值,将使用该状态值判断IE的当前状态

  dom.visible = True '设置IE可见

  While dom.busy or (dom.readyState<>4)'当IE处于BUSY状态或者加载未完成时(readystate不等于4)时,根据IE的状态统计时间,每毫秒统计一次

  wscrīpt.sleep 1 '时间间隔1毫秒,如果时间间隔比较长的话,很有可能会取不到状态值

  Select Case dom.readystate '判断dom.readystate的值

  Case 0 'IE未初始化,其实在该方法,readystate=0无意义,因为循环至少是从1开始的.

  time0 = Now()

  timer0 = timer()

  Case 1 '"正在发送请求"

  time1 = Now()

  timer1 = timer()

  Case 2 '"请求已经发送完成"

  time2 = Now()

  timer2 = timer()

  Case 3 '"可以接收到部分响应数据"

  time3 = Now()

  timer3 = timer()

  Case 4 '"页面加载完成"

  time4 = Now()

  timer4 = timer()

  End select

  wend

  time_end = Now() '统计结束时间

  'MsgBox "开始时间是:" & time1 & ";结束时间是"&time2

  timeCount = "统计开始时间:"&start_time&vbcrlf&"time0:"&time0&vbcrlf&"time1:"&time1&vbcrlf&"time2:

  "&time2&vbcrlf&"time3:"&time3&vbcrlf&"time4:"&time4&vbcrlf&"完成IE的初始化并发送请求:

  "&(timer1-timer_start)&"秒"&vbcrlf&"发送完成并接受服务端部分响应数据:

  "&(timer3-timer1)&"秒"&vbcrlf&"100%接收并完成HTML内容解析:

  "&(timer4-timer3)&"秒"&vbcrlf&"总共花费:"&(timer4-timer_start)&"秒"

  End Function

  以上内容为大家介绍了自动化测试中的使用QTP统计页面加载时间,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部