QTP之web常用对象

web对象是我做自动化以来最早学习,最早接触的。对现在而言也是最熟悉不过的了,但是为了以后更稳健的前进,对基础的东西搞扎实,相信以后的路会顺畅许多,下边简单汇总下web的常用几类对象:

Browser

Browser对象即浏览器对象,例如IE,FF,Chrome。Browser对象是所有web对象的父级对象,是金字塔的顶端,我在Description properties中对它也没有什么约束。使用Object Spy查看Browser对象

          

以看到浏览器的相关属性,因为我现在测试的系统需要测试IE6的兼容性,大家看到我的IE版本还是6-_-! Operations列出了Browser对象可以使用的方法,下面介绍几个常用的方法(先将Browser对象加入对象库)。

1.SystemUtil.Run,打开浏览器,具体使用方式可以F1查看。

2.Sync,同步方法,意思是等待浏览器完全打开再进行下一步的操作。

3.Navigate,打开URL。

4.Close,关闭浏览器。


1

2

3

4


Systemutil.Run "iexplore.exe"

Browser("Browser").Sync

Browser("Browser").Navigate ("http://localhost/qtp/demo-login.php")

Browser("Browser").Close

tips:打开指定网址还可以用Systemutil.Run方法,上述代码可以简化为


1

2


Systemutil.Run "iexplore.exe","http://localhost/qtp/demo-login.php"

Browser("Browser").Close

Page

Page对象一般是Browser的子对象,每一个页面就是一个Page对象,Page对象的Name值是HTML标签中Title的值。Page对象的重要方法有Exist、Sync、Childobjects等。实际工作中对Browser和Page的操作很少,大多是一些打开关闭和同步的操作。

WebEdit

网页中的输入框可以被我识别为WebEdit对象,Operations里依然有很多方法,大家可以自行查看。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33


<html>

<head>

<title>web对象演示</title>

<meta http-equiv="Content-type" content="text/html" charset="utf-8">

<style>

.content{

width:260px;

height:30px;

}

.edit{

width:170px;

}

span{

width:70px;

}

</style>

</head>

<body>

<form action="" method="POST">

<div class="content">

<span>text</span><input type="text" name="web" class="edit">

</div>

<div class="content">

<span>password</span><input type="password" name="web"  class="edit">

</div>

<div class="content">

<span>textarea</span><textarea rows="5" cols="20" class="edit"></textarea>

</div>

</form>

</body>

</html>

   

WebEdit中使用较多的set和GetROProperty方法,set用来设置输入框中的值,GetROProperty获取运行时对象的值。


1

2

3

4

5

6

7

8


Browser("web对象演示").Page("web对象演示").WebEdit("text").Set "111"

Browser("web对象演示").Page("web对象演示").WebEdit("password").Set "222"

Browser("web对象演示").Page("web对象演示").WebEdit("textarea").Set "333"

a=Browser("web对象演示").Page("web对象演示").WebEdit("text").GetROProperty("value")

b=Browser("web对象演示").Page("web对象演示").WebEdit("password").GetROProperty("value")

c=Browser("web对象演示").Page("web对象演示").WebEdit("textarea").GetROProperty("value")

msgbox "text="+a+";password="+b+";textarea="+c

运行后输出如下

   

Link

Link是网页中的链接,我们在刚才的网页中加入如下代码


1

2

3


<div class="content">

<span>link</span><a href="http://www.baidu.com">点这里跳转到百度</a>

</div>

对Link对象的操作主要有Click、CheckProperty。CheckProperty方法是检查Link对象的url属性是否正确,click就是点击操作,运行下方代码,页面会自动跳转至百度。


1

2

3

4

5

6

7


‘检查url属性是否正确

Browser("web对象演示").Page("web对象演示").Link("点这里跳转到百度")_

.CheckProperty "url","http://www.baidu.com/"

‘如果正确执行Click方法

If Reporter.RunStatus=Pass Then

Browser("web对象演示").Page("web对象演示").Link("点这里跳转到百度").Click

End If

WebButton

WebButton对象就是页面中各式各样的按钮啦,主要操作就是Click:)

WebElement

WebElement主要是页面中的div,span,p等标签包涵的内容,一般用来验证数据的正确性,例如上面例子中的span标签。


1

2

3

4


If Browser("web对象演示").Page("web对象演示")_

.WebElement("password").GetROProperty("innerhtml")="password" then

msgbox "ok"

end if

WebList

我将页面中的下拉框识别为WebList对象,在我们的演示网页中加入以下代码。


1

2

3

4

5

6

7

8

9


<div class="content">

<span>select</span>

<select>

<option value ="php">php</option>

<option value ="java">java</option>

<option value="vbs">vbs</option>

<option value="python">python</option>

</select>

</div>

注意Properties中的all items属性,它包括了list中的所有选项,选择WebList中的选项用的是Select方法,用法和set方法一样。

WebRadioGroup && WebCheckBox

WebRadioGroup单选框对象,WebCheckBox复选框对象,加入如下代码。


1

2

3

4

5

6

7

8

9

10

11


<div class="content">

<span>radio</span>

<input type="radio" name="sex" value="boy" checked="checked">男

<input type="radio" name="sex" value="girl">女

</div>

<div class="content">

<span>checkbox</span>

<input type="checkbox" name="swim" value="swim" id="swim">游泳

<input type="checkbox" name="game" value="game" id="game">游戏

<input type="checkbox" name="read" value="read" id="read">阅读

</div>

          

选择单选框和复选框的代码如下


1

2

3


Browser("web对象演示").Page("web对象演示").WebRadioGroup("sex").Select "girl"

Browser("web对象演示").Page("web对象演示").WebCheckBox("read").Set "ON"

Browser("web对象演示").Page("web对象演示").WebCheckBox("swim").Set "ON"

WebTable

WebTable对象是网页控件中的重点与难点,在网页布局中table一般用于数据的展示,这也是我们测试的重点所在。老样子,现在网页中创建table控件,加入以下代码。


1

2

3

4

5


<table>

<tr><td>text1</td><td>textarea1</td><td>sex1</td><td>hobby1</td></tr>

<tr><td>text2</td><td>textarea2</td><td>sex2</td><td>hobby2</td></tr>

<tr><td>text3</td><td>textarea3</td><td>sex3</td><td>hobby3</td></tr>

</table>

并在style标


1

2

3

4

5

6

7

8

9

10

11

12


table{

border: 1px solid black;

padding:0;

margin:0 auto;

border-collapse: collapse;

}

td{

border: 1px solid black;

font-size:12px;

padding: 3px 3px 3px 8px;

color: black;

}

从图中可以看到,我将td中识别为WebElement对象,将td的父级元素即table识别为WebTable对象。WebTable对象的方法有很多,这里列举几个常用的方法,参考下面的代码。


1

2

3

4

5

6

7

8

9

10

11

12


‘获取列数

col=Browser("web对象演示").Page("web对象演示").WebTable("table").ColumnCount(1)

‘获取行数

row=Browser("web对象演示").Page("web对象演示").WebTable("table").RowCount

‘获取指定单元格的值

info=Browser("web对象演示").Page("web对象演示").WebTable("table").GetCellData(1,1)

‘得到指定单元格内的测试对象的数目

Dim obj

obj=Browser("web对象演示").Page("web对象演示").WebTable("table").ChildItemCount(1,1,"WebEdit")

msgbox "列数="+CStr(col)+" 行数="+CStr(row)+" 第一行第一列="+info+_

"有"+CStr(obj)+"个WebEdit对象"

运行结果如下:

对于WebTable对象大部分情况下使用描述性编程,

时间: 2024-11-08 07:22:18

QTP之web常用对象的相关文章

Web常用对象(2)

一.Session 1.介绍 HttpSession是一个纯粹的接口,session本身就属于HTTP协议的范畴. session的作用就是为了标识一次会话,或者说确认一个用户:并且在一次会话(一个用户多次请求)期间共享数据. 2.创建对象和属性操作 3.表示会话JSESSIONID 每当一次请求到达服务器,如果访问了session,服务器会第一步查看是否从客户端回传一个名为JSESSION的Cookie,如果没有则认为这是一次新的会话,会创建一个新的session对象,并用唯一的JSESSIO

Web常用对象

摘要: 记录下学习过程中的Asp.Net知识点,非原创纯属笔记 1.Cookie: 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递.Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息.HttpOnly为true,则客户端无法访问. 服务器端:        写:简单Response.Cookies.Add(new HttpCookie("name", "value")) 复杂:HttpCookie cookie = ne

HTML5新增的语义元素、JS常用对象

HTML5新增的语义元素 <header>元素表示页面中一个内容区域或整个页面的标题,通常他可能是一个页面中的(指主体标记中的第一个元素),可以包含站点的标题.Logo和旗帜广告 <header> <img src="logo.png"> <h1>YEN的Java Web之路</h1> </header> <footer>元素表示整个页面或页面中一个区域块的脚注,通常包含一些基本信息,包括一些基本信息:

Web程序对象作用域

Web程序对象作用域:常用的有三个:请求作用域,会话作用域,应用上下文.请求作用域req范围最小,需要的资源最少,作用当前请求 session会话作用于本次对话,每个对话都有JSessionID, ServletContext作用域范围大:web应用中所有都能够访问,生命周期和web容器一样长,维护所需资源多. 在满足需求内耗费的资源越小越好 一.请求作用域: //得到页面的属性和值req.getParameter("userName");Enumeration<String&g

DOM_04之常用对象及BOM

1.添加:①var a=document.createElement("a"):②设置关键属性:③将元素添加到DOM树:a.parent.appendChild(a):b.parent.insertBefore(a,old):c.parent.replaceChlid(a,old): 2.优化:尽量少的操作DOM树,①如果同时添加父元素与子元素,应在内存中先将子元素拼到父元素下,再将父元素添加到DOM树:②如果添加多个平级子元素,应先将所有子元素放入文档片段,再将文档片段一次性添加到D

常用对象之Application

对象就是我们Excel和程序的操作对象.比如单元格.工作簿.我们对于Excel的每个操作其实都是对相应对象的操作.比如选中单元格.保存工作表. 对象存放在对象模型里,2013以上版本似乎已经没有离线文档,只有在线的:https://msdn.microsoft.com/ZH-CN/library/ff194068.aspx 每个对象又有自己的属性和方法,最后构成完整的事件. 记住常用对象: Application对象: 代表的是Excel的整个程序,所以是最上层. ScreenUpdating属

DOM_03之元素及常用对象

1.修改样式:访问内联样式:elem.style.css属性名:获得其他:var style=getComputerStyle(elem):*(* 获得焦点onfocus:失去焦点onblur:): 2.修改内外部样式属性:①获得样式表对象:var sheet=document.styleSheets[i]:②获得cssRule对象:var rule=sheet.cssRules[i]:③修改cssRule属性:rule.style.css属性名=值: 3.添加:①创建空元素对象:var a=d

Js基础之常用对象

今天来总结一下js中的常用对象: 1.string对象 常用方法: charAt():返回在指定位置的字符. charCodeAt():返回在指定的位置的字符的 Unicode 编码. concat():连接字符串. fromCharCode():从字符编码创建一个字符串. String indexOf():检索字符串,返回字符串出现的位置,如果没有找到,返回-1. lastIndexOf():从后向前搜索字符串,返回字符串出现的位置,如果没有找到,返回-1 . split():把字符串分割为字

[独孤九剑]Oracle知识点梳理(七)数据库常用对象之Cursor

本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL [独孤九剑]Oracle知识点梳理(五)数据库常用对象之Table.View [独孤九剑]Oracle知识点梳理(六)数据库常用对象之Procedure.function.Sequence [独孤九剑]Oracle知识点梳理(八)常见Exception