QTP教程02 - 对象库及原理透析

在介绍对象库前首先要说一下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修改运行时对象的属性呢~

因为这个方法可以直接使用调用对象【object.属性值】的自身接口来修改运行对象的属性~

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

 

 

 

序列

测试步骤

预期结果

1

修改搜索框的长度

脚本视图重新改写

2

回放

百度搜索框被改短了

 

步骤1.使用OBJECT.属性来访问

 

  1. Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Object.size="1"  

 

步骤2.回放,看到百度的搜索框变短了,是不是很好玩,哈哈

测试结果

 

总结:

      这一章的东西比较多,也非常的重要,可别小看这些概念,关键大家一定要实践才能真正领悟到其中的含义。今天内容就到这里。。

转载于:https://www.cnblogs.com/iqtp/archive/2011/10/23/qtp_objectrepository.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值