【软件测试自动化-QTP系列讲座 5】== DOM技术的应用 ==
Rss订阅IQuickTest(关于如何订阅?)
作者:zzxxbb112
时间:2009/9/11 版权所有,侵权必究。
出处:http://blog.****.net/zzxxbb112
看过第二章【QTP系列讲座 2】 对象库及原理透析的朋友都应该知道
不清楚的朋友可以看这里
地址:http://blog.****.net/zzxxbb112/archive/2009/08/27/4489342.aspx
QTP自动化测试对象首先是从对象库获取测试对象,然后直接通过对象库对象和真实对象进行匹配后来控制对象的~
就是通过上面这句话我们可以对百度的搜索框进行输入内容。
但其实我还可以通过HTML DOM的方法来获取对象的ID或者NAME来控制我们想要的对象
====================实例=====================
需求:
使用DOM技术进行自动化
1.打开百度
2.输入helloworld
3.点击百度一下按钮
步骤:
1.对象库里添加到PAGE这一层
2.分别用SPY获取百度文本框和按钮的ID值
3.使用getElementById方法获取对象并进行操作
Browser("百度一下,你就知道").Page("百度一下,你就知道").Object.getElementById("kw").value="helloworld"Browser("百度一下,你就知道").Page("百度一下,你就知道").Object.getElementById("sb").click
4.回放结果--成功输入并点击
通过以上例子我们可以看到又有了一种新的控制对象的方法,其中控制对象有很多种
我这里就以百度搜索框输入为例,总结一下确定对象的一些方法
1.最普通的方法
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "helloworld"
2.描述性编程
Browser("百度一下,你就知道").Page("百度一下,你就知道").webedit("name:=wd").Set "123"
3.对象自身接口
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Object.value="helloworld"
4.DOM技术
Browser("百度一下,你就知道").Page("百度一下,你就知道").Object.getElementById("kw").value="helloworld"
5.childobject结合描述性编程循环遍历获取对象
'描述对象Set oDesc = Description.Create()oDesc("micclass").Value = "WebEdit"'获取webedit的数量edit_count=Browser("百度一下,你就知道").Page("百度一下,你就知道").ChildObjects(oDesc).count'获取子对象集合set editobjects=Browser("百度一下,你就知道").Page("百度一下,你就知道").ChildObjects(oDesc)For i=0 to edit_count-1If editobjects(i).GetROProperty("name")="wd" theneditobjects(i).set "helloworld"End IfNext