作者:zzxxbb112
出处:http://blog.youkuaiyun.com/zzxxbb112
看过第二章【QTP系列讲座 2】 对象库及原理透析的朋友都应该知道
不清楚的朋友可以看这里
地址:http://blog.youkuaiyun.com/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-1 If editobjects(i).GetROProperty("name")="wd" then editobjects(i).set "helloworld" End If Next