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

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

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

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

  (3)通过getElementsByTagName方法获取定位对象,并对其进行操作:

'使用IE COM启动IE

Set oIE = CreateObject("InternetExplorer.Application")

oIE.Visible = True  '设置可见

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

'等待IE页面加载完毕

While oIE.Busy: Wend

'获取Document对象

Set oDoc = oIE.Document 

'获取TAG名为INPUT的元素集合

Set oEdits = oDoc.getElementsByTagName("INPUT")

'遍历对象并判断文本框对其进行操作

For Each oEdit In oEdits

        If oEdit.type="textThen

        oEdit.value = "zzxxbb112"

        End If 

Next 

'点击百度搜索

oDoc.getElementByID("sb").Click

Set oDoc = Nothing 

Set oIE = Nothing

  结果:使用getElementsByTagName获取TAG名,通过得到相同类型的元素及在遍历中进行判断控件类型并进行操作。

  5.利用FORM名来获取对象元素

  如果使用FORM名来获取对象元素会大大简化我们的脚本。首先用IE DEV查看百度的搜索框对应的FORM名,在IE DEV中查看得到FORM名为f,如图3-12所示。

图3-12

'使用IE COM启动IE

Set oIE = CreateObject("InternetExplorer.Application")

oIE.Visible = True  '设置可见

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

'等待IE页面加载完毕

While oIE.Busy: Wend

'获取Document对象

Set oDoc = oIE.Document 

'获取FORM名为F下名为WD的元素并输入

oDoc.f.wd.value = "zzxxbb112"

'获取FORM名为F下名为SB的元素并点击

oDoc.f.sb.Click

Set oDoc = Nothing 

Set oIE = Nothing

  结果:通过以上脚本可以看到代码非常简单,同样可以达到相同的效果。

  6.访问Web页面的Script脚本变量

  通过DOM可以直接访问Web页面中的JavaScript或者VBScript中的变量。

  首先打开百度的源文件,如图3-13所示。

图3-13

  可以看到,在百度源文件中的JavaScript脚本中定义了一个变量为W,并且赋值为document.f.wd,从上面的例子可以很明显地知道,此处的W代表的就是百度搜索框这个对象,那么就可以直接操控W这个对象来对百度文本搜索框进行自动测试。

'使用IE COM启动IE

Set oIE = CreateObject("InternetExplorer.Application")

oIE.Visible = True  '设置可见

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

'等待IE页面加载完毕

While oIE.Busy: Wend

'获取Document对象

Set oDoc = oIE.Document 

'获取百度搜索框对象

Set oEdit=oDoc.parentWindow.w

'并对其进行输入

oEdit.value = "zzxxbb112"

'获取FORM名为F下名为SB的元素并点击

oDoc.f.sb.Cclick

Set oDoc = Nothing 

Set oIE = Nothing

  从以上代码可以看到,只需要通过parentWindow来访问Web页面Script中的变量即可。

  7.总结

  这一章主要介绍了利用IE的COM以及HTML DOM来自动化IE浏览器,以及对浏览器的一些控件对象进行自动化的操作,包括启动IE、等待页面加载、遍历所有IE窗口、利用DOM操作测试对象、利用FORM名来获取对象元素、访问Web页面的Script脚本变量、Browser对象转化Window窗口对象、自定义浏览器应用程序,这些方法对于我们在自动化测试中也是起到比较重要的作用,并且能够辅助我们更好地完成Web自动化测试,当QTP不能达到我们想要达到的目的时,就可以使用这些方法来代替或者说来实现需要实现的方法,最终使Web自动化测试变得更加的轻松和容易。

本文选自《51Testing软件测试作品系列》之九——《精通QTP——自动化测试技术领航》。

本站经人民邮电出版社和作者的授权,近期将进行部分章节的独家连载,敬请期待!

版权声明:51Testing软件测试网获人民邮电出版社和作者授权独家连载本书部分章节。

任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。

相关阅读:

查看本书介绍>>

查看本书更多试读章节连载>>

查看软件测试作品系列其他书籍>>

55/5<12345
《2023软件测试行业现状调查报告》独家发布~

精彩评论

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

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号