QTP 学习笔记 :对象库(进阶篇1)

                             基于Expert View的对象库编程

阶段要点:

                手写代码的3种方式

                TO 和 RO 的关系、区别

                4种操作封装对象属性的方法

                常见无法识别或者识别错误对象的原因

一、手写代码的3种方式

1.步骤生成器 Step Generator(快捷键 F7 )

   可以生成3种类型的代码,一行代码就是一个步骤(Expert View中)

   选择测试对象之后,Object下拉框默认显示该对象库的 父对象,

   Operation下拉框默认为sync操作,两者根据需要自行改变下拉框内容

   注:还可以参数化数据对象

2.Complete Word 

   会自动补全代码,但补充的对象必须是对象库具体存在的,使用率很高

3.对象拖动

   把对象直接拖到Expert View,QTP 10.0以上版本支持

   所有测试对象在Available KeyWords 窗口,包括Functions、外部调用、

   脚本内部本身Function

   可以右键点击测试对象Open Resource 进对象库定位对象位置

   注:使用这种方法会默认生成sync方法,可手工修改

补充:

          垂直分割选取:按住鼠标左键寻找区域,同时点击右键固定区域

          定位Functiion位置:ALT + G  (外部调用的不适合)

二、TO 和 RO (重点

联系、区别:

            TO : 被添加到对象库的对象

            RO : 实际运行时的对象

两者都是QTP封装的对象、TO、RO都可以调用QTP封装的属性,但RO 还可以调用自身接口属性

识别对象过程:对象库添加测试对象

                        测试对象的鉴别属性和被测软件实际运行的对象的鉴别属性比较

                        结果一致,识别成功,反之识别错误

                注:TO 为了识别 RO 存在

三、4种操作封装对象属性的方法

GetToProperty( ):获取某个对象的某个属性值

GetToProperties( ):获取某个对象的所有属性值

SetToProperty( ): 设置某个对象的某个属性值(脚本运行有效,结束失效,属性值还原)

GetRoPorperty( ):获取实际运行某个对象的某个属性值(常用于验证点)

RO的封装接口和自身接口属性

封装接口:对象的不完全属性;不能修改RO,只能获取属性值

自身接口:只支持RO;可以修改RO;

以下提供一个小案例帮助理解修改自身接口属性:

With  Browser("51Testing软件测试网-中国软件测试人的精神家园")._

page("51Testing软件测试网-中国软件测试人的精神家园")

.WebButton("GO").Object.value="百度以一下"

.Image("logo").Object.src="https://www.baidu.com/img/bd_l"
.Link("注册").Object.innerText="百度注册"
.Link("51登录").Object.innerText="baidu_login"
End With

对象库:

      

原图:


效果图:


该效果一旦刷新网页就会消失的哦!

讲到这里你可能会问那怎么查看自身接口属性和封装属性呢?

这个时候就要借助spy:  Identification Properties(封装接口)

                                   Native Properties(自身接口)

注:相同属性在以上两种接口中会出现大小写不同,务必注意!

四、常见无法识别或者识别错误对象的原因

1.对象控件不能被识别,尤其是C/S架构的软件程序(较复杂不具体介绍)

2.可以被识别,但加载的插件错误(重新加载正确插件)

3.同一个页面,存在两个或以上属性相同的对象(设置INDEX)

4.运行时对象发生改变与对象库不匹配(GetRoPorperty( )获取值添加到对象库)

           今天更新就到此为止了哦,下一篇为对象库(进阶篇2),喜欢就点赞评论哦偷笑


猜你喜欢

转载自blog.csdn.net/qq_39581184/article/details/80526790
QTP