QTP dom

上一篇 / 下一篇  2015-03-25 10:09:47

Qtp中的对象加上一个object就变成dom中的元素对象了,就可以使用dom中的原始的方法了。
当转成dom对象后,就不能够使用使用Qtp封装的方法了。

dom 中的元素对象: Node;
element是node对象中的一种。
DOM下,HTML文档各个节点被视为各种类型的Node对象。每个Node对象都有自己的属性和方法,利用这些属性和方法可以遍历整个文档树。由于HTML文档的复杂性,DOM定义了nodeType来表示节点的类型。这里列出Node常用的几种节点类型:

attributes

如果该节点是一个Element,则以NamedNodeMap形式返回该元素的属性。

 

childNodes

以Node[]的形式存放当前节点的子节点。如果没有子节点,则返回空数组。

 

firstChild

以Node的形式返回当前节点的第一个子节点。如果没有子节点,则为null。

 

lastChild

以Node的形式返回当前节点的最后一个子节点。如果没有子节点,则为null。

 

nextSibling

以Node的形式返回当前节点的兄弟下一个节点。如果没有这样的节点,则返回null。

  

nodeName

节点的名字,Element节点则代表Element的标记名称。

 

nodeType

代表节点的类型。

 

parentNode

以Node的形式返回当前节点的父节点。如果没有父节点,则为null。

 

previousSibling

以Node的形式返回紧挨当前节点、位于它之前的兄弟节点。如果没有这样的节点,则返回null。

 

Node对象常用方法:

方法

描述

appendChild()

通过把一个节点增加到当前节点的childNodes[]组,给文档树增加节点。

 

cloneNode()

复制当前节点,或者复制当前节点以及它的所有子孙节点。

 

hasChildNodes()

如果当前节点拥有子节点,则将返回true。

 

insertBefore() 

给文档树插入一个节点,位置在当前节点的指定子节点之前。如果该节点已经存在,则删除之再插入到它的位置。

 

removeChild()

从文档树中删除并返回指定的子节点。

 

replaceChild()
 文档树中删除并返回指定的子节点,用另一个节点替换它。

 

 

DOM在qtp中的应用

1.何时在qtp中使用DOM

      1)修改控件自身接口

      2)DOM对象下CurrentStyle对象应用

      3)性能提升

               DOM的执行速度比QTP执行速度快好几倍,因为DOM相当于底层的对象接口,而QTP是经过封装对象,然后运行时调用对象库中的对象,在和页面进行比较。利用DOM获取对象的时候,没有这些步骤,直接执行。

 

2.利用DOM操作测试对象的应用

       DOM获取对象的3种方法: getElementByID,getElementsByName,getElementsByTagName

       Set oDoc = oIE.Document

       with

             .getElementByID("kw").value="cheng"

             .getElementByID("sb").click

       end with

        Set  oDoc = nothing

        Set  oIE= nothing

 

3.利用form名来获取对象元素

        Set oDoc = oIE.Document

         oDoc.f.wd.value="hello"  --获取form名为f下名为wd的元素并输入

         oDoc.f.sb.click   --获取form名为f下名为sb的元素并点击

         Set  oDoc = nothing 

        Set  oIE= nothing

 

4.访问web的script对象

         通过dom可以直接访问javascript或者vbscript的变量。

          Set oDoc = oIE.Document

           Set  oEdit =oDoc.parentWindow.w --获取百度搜索框对象

           oEdit.value="hello"

            oDoc.f.sb.click   --获取form名为f下名为sb的元素并点击

            Set  oDoc = nothing 

         Set  oIE= nothing

    说明:通过parentWindow访问web页面的script中的变量。

 

5.DOM在qtp中的具体应用

         在qtp中访问DOM,只需要使用page对象,并调用page对象的object封装属性,qtp就能访问到顶层的DOM对象。

         qtp中访问DOM对象的方法:

                 set sDom = Browser("").page("").object

         这里的object属性只支持ie,不支持其他的浏览器。

          具体的调用方法如下:

               set sDom = Browser("browser").Page("page").Object

                 sDom.getElementById("ID_001").value="hello"  --webedit对象

                  sDom.getElementById("ID_001").click   --按钮对象

                  sDom.getElementById("ID_001").checked=true  --webcheckbox对象


TAG: QTP

 

评分:0

我来说两句

我的栏目

日历

« 2022-01-17  
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

数据统计

  • 访问量: 47194
  • 日志数: 34
  • 图片数: 1
  • 建立时间: 2011-09-26
  • 更新时间: 2017-02-28

RSS订阅

Open Toolbar