(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="text" Then 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软件测试网获人民邮电出版社和作者授权独家连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关阅读: