QTP对象库及原理透析(转)

上一篇 / 下一篇  2013-11-21 15:59:43 / 个人分类:QTP

在介绍对象库前首先要说一下QTP自动化的原理

 

1.封装被测对象到对象库

2.对比对象库里的对象属性和运行时的真实被测对象的属性

3.对比一致后找到相应的对象


通过以上3个步骤,QTP就可以完成自动化对象。



===========================实例 1===========================

 

这是一个非常简单的例子~

如果觉得都懂的可以略过

 

 

 

 

 

序号

测试步骤

预期结果

1

打开对象库

弹出对象库

2

打开浏览器,跳转百度

页面成功跳转百度

3 

A.点击对象库中的ADD OBJECT TO LOCAL

B.选择百度搜索框对象

成功把搜索框添加到对象库

4

在专家视图中输入写入输入搜索框执行脚本

专家视图显示脚本

5

回放脚本

测试对象自动化输入

 

添加对象之前,见图

 

object repository

 

 

添加完对象之后,见图

baidu object repository

 

 

 

脚本显示,如下图:

 

 

testscript

 

 

回放之后,搜索自动输入了HELLOWORLD~

 

 

 

 

 

 

如果能够熟练掌握以上的例子之后我们就可以开始进行下一步的工作

 

这部分的概念很重要,想学好QTP就一定要掌握。

 

熟练运用SetTOProperty,GetROProperty,GetTOProperty

 

首先说明一下TO和RO分别是什么意思

 

TO:测试对象库

RO:运行对象

 

简单的说

 

SetTOProperty:修改对象库中对象的属性值

GetTOProperty:获取对象库中对象的属性值

GetROProperty:获取运行对象的属性值

 

 

 

===========================实例 2===========================

就拿刚才的那个例子接着做下去

 

现在对象库里那个对象是百度的搜索框对象,这点现在没问题吧。

现在我要用这个对象库里的对象来控制GOOGLE搜索框的对象

大家肯定会问:

百度的搜索框和GOOGLE的搜索框对象属性肯定是不一样的,怎么能控制GOOGLE的搜索框呢?

 

解决方案:更改对象库里的属性和GOOGLE的对象库属性一样就OK了,

 

 

 

序列

测试步骤

预期结果

1

使用SPY查看你GOOGLE搜索框的NAME属性

显示NAME属性值为q

2

使用SetTOProperty更改对象库NAME属性为q,并进行输入HELLOWORLD

脚本视图重新改写

3

回放

GOOGLE搜索框输入HELLOWORLD

 

 

 步骤1:

 如果不是很清楚怎么用SPY可以去【QTP系列讲座 1】 Add-in Manager 插件介绍

 地址: http://blog.csdn.net/zzxxbb112/archive/2009/08/26/4485906.aspx

 

 步骤2:脚本视图输入

 

  1. Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").SetTOProperty "name","q"Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "helloworld"  

 

 步骤3:回放

 

 页面成功输入HELLOWORLD

 结果

 

 

===========================实例 3===========================

序列

测试步骤

预期结果

1

查看对象库NAME属性

显示NAME属性值为wd

2

GetTOProperty获取对象库的属性值

脚本视图重新改写

3

回放

成功显示指定对象库的属性值

 

 

步骤1.查看对象库NAME属性为wd

 

步骤2.脚本视图输入

  1. msgbox Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").GetTOProperty("name" 

步骤3.成功显示对象库中百度搜索框NAME属性的值

msgbox

GetROProperty用法和GetTOProperty是一样的,只不过一个是运行对象属性,而一个是对象库中的属性

=============================================

细分的朋友应该会发现既然有获取对象库中对象属性,修改对象库中对象属性,获取运行时对象的属性。

为什么没有SetROProperty修改运行时对象的属性呢~

TAG:

 

评分:0

我来说两句

Open Toolbar