作者:zzxxbb112
出处:http://blog.csdn.net/zzxxbb112
在介绍对象库前首先要说一下QTP自动化的原理
1.封装被测对象到对象库
2.对比对象库里的对象属性和运行时的真实被测对象的属性
3.对比一致后找到相应的对象
通过以上3个步骤,QTP就可以完成自动化对象。
===========================实例 1 ===========================
这是一个非常简单的例子~
如果觉得都懂的可以略过
序号 |
测试步骤 |
预期结果 |
1 |
打开对象库 |
弹出对象库 |
2 |
打开浏览器,跳转百度 |
页面成功跳转百度 |
3 |
A.点击对象库中的ADD OBJECT TO LOCAL B.选择百度搜索框对象 |
成功把搜索框添加到对象库 |
4 |
在专家视图中输入写入输入搜索框执行脚本 |
专家视图显示脚本 |
5 |
回放脚本 |
测试对象自动化输入 |
添加对象之前,见图
添加完对象之后,见图
脚本显示,如下图:
回放之后,搜索自动输入了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:脚本视图输入
步骤3:回放
页面成功输入HELLOWORLD
===========================实例3 ===========================
序列 |
测试步骤 |
预期结果 |
1 |
查看对象库的NAME属性 |
显示NAME属性值为wd |
2 |
GetTOProperty获取对象库的属性值 |
脚本视图重新改写 |
3 |
回放 |
成功显示指定对象库的属性值 |
步骤1.查看对象库NAME属性为wd
步骤2.脚本视图输入
步骤3.成功显示对象库中百度搜索框NAME属性的值
GetROProperty用法和GetTOProperty是一样的,只不过一个是运行对象属性,而一个是对象库中的属性
=============================================
细分的朋友应该会发现既然有获取对象库中对象属性,修改对象库中对象属性,获取运行时对象的属性。
为什么没有SetROProperty修改运行时对象的属性呢~
因为这个方法可以直接使用调用对象【object.属性值】的自身接口来修改运行对象的属性~
===========================实例3 ===========================
序列 |
测试步骤 |
预期结果 |
1 |
修改搜索框的长度 |
脚本视图重新改写 |
2 |
回放 |
百度搜索框被改短了 |
步骤1.使用OBJECT.属性来访问
步骤2.回放,看到百度的搜索框变短了,是不是很好玩,哈哈
总结:
这一章的东西比较多,也非常的重要,可别小看这些概念,关键大家一定要实践才能真正领悟到其中的含义。今天内容就到这里。。