在Web测试中,不可避免的会遇到树形节点的识别。如下就是通过IEDevToolBar抓下的一个page的树形结构。
QTP在对树形结构的节点进行识别时,可以采用DOM(Document Object Model文档对象模型)模型,在DOM中,每个网页元素都对应着一个对象。树结构中每一个元素都被称为一个节点。QTP可以通过DOM来访问HTML标签。在QTP中,访问DOM主要通过使用page测试对象的object属性来进一步访问。
举个简单的例子:在百度贴吧首页,我们需要获得”热门转帖排行”下的标题。
代码如下:
'获得贴吧首页热门转帖排行下的所有标题 Set oBj=Browser("贴吧").Page("贴吧page").WebTable("Table").Object Set oDIV= oBj.getElementsByTagName("DIV") num=0 For i=0 to oDIV.length-1 If oDIV(i).innertext="热门转贴排行" then For j=0 to oDIV(i).NextSibling.ChildNodes.length-1 num=num+1 Datatable.SetCurrentRow(num) Datatable.Value("innertext")=oDIV(i).NextSibling.ChildNodes(j).innertext '将获得的标题储存到Datatable中 Next End If Next Set oBj=Nothing Set oDIV=Nothing |
在这段代码中,就是通过访问贴吧页面下的WebTable对象的Object属性来进一步访问HTML标签的。