51Testing独家连载:(四十)精通QTP——自动化测试技术领航

发表于:2012-2-07 11:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:余杰 赵旭斌    来源:51Testing软件测试网

分享:

  2.等待页面加载

  可以使用IE COM的Busy属性来确认浏览器是否处于加载状态。并为后续的操作做铺垫,若是没有此步骤,后续的一系列操作可能会无效。因为,当IE浏览器还没有加载完成时,对Web测试对象进行操作可能会出现无效的情况。因此,为了测试的顺利进行,需要在脚本中加入页面等待来保证后续的操作步骤顺利进行。

'使用IE COM启动IE

Set oIE = CreateObject("InternetExplorer.Application")

oIE.Visible = True  '设置可见

oIE.Navigate "http://www.baidu.com"  '跳转URL

'等待IE页面加载完毕

While oIE.Busy: Wend

  接下来对比一下页面加载和没有加载的区别。

  (1)添加页面加载等待脚本,最后一步oIE.Document.f.wd.value = "zzxxbb112"先不用管,会在后面的内容中讲解:

'使用IE COM启动IE

Set oIE = CreateObject("InternetExplorer.Application")

oIE.Visible = True  '设置可见

oIE.Navigate "http://www.baidu.com"  '跳转URL

'等待IE页面加载完毕

While oIE.Busy: Wend

'百度搜索框输入

oIE.Document.f.wd.value = "zzxxbb112"

  结果:执行成功,打开IE浏览器后,成功输入zzxxbb112,如图3-10所示。

图3-10

  (2)不添加页面加载等待的脚本,去掉While oIE.Busy: Wend这步:

'使用IE COM启动IE

Set oIE = CreateObject("InternetExplorer.Application")

oIE.Visible = True  '设置可见

oIE.Navigate "http://www.baidu.com"  '跳转URL

'等待IE页面加载完毕

'While oIE.Busy: Wend

'百度搜索框输入

oIE.Document.f.wd.value = "zzxxbb112"

  结果:执行出错,报出“缺少oIE.document对象”的错误信息,如图3-11所示。

图3-11

  原因分析:由于IE浏览器跳转url后需要一定的加载时间,如果在还没有加载页面时,就直接使用document对象是不可以的,必须等待加载完毕,才能够对document对象进行操作,因此,程序会抛出一个缺少对象的异常。

53/5<12345>
重磅发布,2022软件测试行业现状调查报告~

精彩评论

  • hongstarw
    2013-2-16 17:41:38

    .getElementByID("sb").Click
    sb应为su

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号