QTP访问DOM的方法

Ryzelan 2011-04-19

QTP支持直接访问DOM(DocumentObjectModel),可以通过DOM来访问HTML标签。在QTP中,访问DOM是通过使用Page测试对象的Object属性来进一步访问的。我们这里用Object.getElementById的用法,从DOM的对象中取得;

例如:

Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").Object.getElementByID("kw").value="helloworld"'在百度输入框输入值

Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").Object.getElementByID("sb").Click'点击百度进行搜索

其中kwsb都是包含在outerhtml中的

常用DOM属性

●className.同一样式规则的元素用相同的类名。可以通过className快速过滤出一组类似的元素。

●document.用于指向包含当前元素的文档对象。

●id.当前元素的标识。如果文档中包含多个相同id的元素,则返回一个数组。

●innerHTML.用于指向当前元素的开始标记和结束标记之间的所有文本和HTML标签。

●innerText.用于指向当前元素的开始标记和结束标记之间的所有文本和HTML标签。

●offsetHeight,offsetWidth.元素的高度和宽度。

●offsetLeft,offsetTop.当前元素相同对于父亲元素的左边位置和顶部位置。

●outerHTML.当前元素的开始标记和结束标记之间的所有文本和HTML标签。

●outerText.当前元素的开始标记和结束标记之间的所有文本,但不包括HTML标签。

●parentElement.当前元素的父亲元素。

●sourceIndex.元素在document.all集合中的索引(index)。

●style.元素的样式表单属性。

●tagName.当前元素的标签名。

●title.在IE中,代表元素的tooltip文本。

常用DOM方法

●click().模拟用户对当前元素的鼠标点击。

●contains(element).用于判断当前元素是否包含指定的元素。

●getAttribute(attributeName,caseSensitive).返回当前元素所包含的某个属性,参数attributeName为属性名、caseSensitive表示是否大小写敏感。

●setAttribute(attributeName,value,caseSenstive).设置当前元素的属性。

常用DOM集合

●All[].当前元素中包含的所有HTML元素的数组。

●children[].当前元素包含的子元素。

getElementById(id)(document)

获取有指定惟一ID属性值文档中的元素

getElementsByTagName(name)

返回当前元素中有指定标记名的子元素的数组

hasChildNodes()

返回一个布尔值,指示元素是否有子元素

getAttribute(name)

返回元素的属性值,属性由name指定

相关推荐