QTP-保留对象之一

2.5  常用保留对象(Utility Objects)

  阶段要点

  ● 简单介绍常用保留对象。

  ● 隐藏保留对象的探索。

  ● 掌握自定义保留对象的编写方式。

2.5.1  常用保留对象介绍

  在之前的章节中,曾经介绍过利用DataTable做数据处理,Environment环境变量以及利用Reporter编写自定义报告等,这些对象都是一些QTP自身提供的非常基础的对象,它们都有一个共同的名字,就是保留对象。

  保留对象:所谓QTP保留对象就是QTP本身预留的一些可用对象。

  通俗些讲就是,当打开QTP时它就已经把这些对象给实例化了,直到关闭QTP后,这些保留对象的实例才会终止。这些保留对象都是QTP事先封装好的常用操作对象,无需像开源软件那样都需要自己来搭建这些对象和类库,一切都是现成的!在保留对象中有些是可见的,有些是隐藏的(需要人工开启),具体如何查看隐藏保留对象会在下一个小节中详细进行讲解。

  那么保留对象具体在QTP中如何呈现呢?当打开QTP后,按F7键,弹出了步骤生成器窗口,如图2-89所示。

图2-89

  在分类中可以选择保留对象类型,之后就可以看到所有可见的保留对象。每个保留对象都是一个COM组件,都可自行创建,其中很多的保留对象在做实例项目测试的时候都是非常实用的,接下来就为大家介绍几个常用的保留对象。

  1.Crypt:加密模块保留对象

  实现如下所示:

PwStr = Crypt.Encrypt("mercury")

Dialog("Login").WinEdit("Agent Name:").Set "mercury"

Dialog("Login").WinEdit("Password:").SetSecure PwStr

Dialog("Login").WinButton("OK").Click

  分析:

  利用Crypt保留对象可以把字符串自动转化为加密形式的字样,并且每次动态生成的加密密码都是不一样的,其实,此功能就是Password Encoder,如图2-90所示。

图2-90

  如图2-90,圈处即为加密后的动态密码,每次生成结果都是不一样的。Crypt方式其实就是此工具的脚本生成形式。

 2.Desktop:桌面保留对象

  实现如下所示:

Desktop.CaptureBitmap "D:\1.bmp"

  分析:

  通常此对象用于出错时的截图,使用此对象来截图非常方便,只需给定生成截图的路径即可,这个在前面的章节也用过。

  3.MercuryTimes:计时保留对象

  实现如下所示:

计时开始

MercuryTimers("LoginPage_MainPage").Start

'******************************************

' LOGIN  MAINPAGE

Wait 2

'******************************************

 ‘计时结束

MercuryTimers("LoginPage_MainPage").Stop

获取总共耗时时间

Print MercuryTimers("LoginPage_MainPage").ElapsedTime

  分析:

  MercuryTimes保留对象是一个非常实用的对象,它对于测试应用程序的性能是非常有帮助的,此对象也是在QTP 9.2版本才开始加入的。

  4.PathFinder:路径保留对象

  实现如下所示:

Msgbox PathFinder.Locate("Default.xls")

  分析:

  PathFinder在QTP中的可见方法只有Locate,其参数为文件名称,其作用主要是获取到参数中的文件的完整绝对路径。

  5.RandomNumber:随机数保留对象

  实现如下所示:

Print RandomNumber.Value (0, 100)

  分析:

  执行以上脚本会得到一个0~100的随机数。注意,此处包含0和100。由于此处Value是默认属性,因此可以省略。

2.5.2  隐藏保留对象介绍

  上一小节已经介绍了一些常用的保留对象,但其实保留对象远远不止这些,QTP本身在步骤生成器中还隐藏了一些保留对象,如RegisterUserFunc、WebUtil、UnRegisterUserFunc等,这些保留对象都是QTP的隐藏模式保留对象。你会发现步骤生成器中根本找不到这些保留对象,但是这些对象确实是真实存在的,比如:

  ● WebUtil:此对象在QTP的帮助文档里以及对象浏览器里都是找不到的,可以说是QTP的一个隐藏对象。

  我们只需要在专家视图中输入WebUtil再加一个“点”,就会展开许多的方法,图2-91就是WebUtil的所有方法。

图2-91

分析:虽然这些隐藏保留对象在帮助文档里都没有相应的说明,但可以通过其方法名称来了解某些方法的使用方式。读者一定会感觉好奇,这些隐藏保留对象究竟是从哪里来的呢?其实它们都隐藏在注册表之中,现在就把它们统统显示出来。

  (1)运行“regedit”进入注册表,如图2-92所示。

图2-92

  (2)依次单击HKCU→Software→Mercury Interacitve→QuickTest Professional→MicTest→ReservedObjects下的所有项,如图2-93所示。

图2-93

  分析:

  如图2-93所示,可以看到QTP中所有存在的保留对象,不管隐藏的还是非隐藏的保留对象都可以直接找到。其中每一项代表着一个保留对象,在此目录中的每一项下的KEY包含ProgID。ProgID代表着保留对象创建的COM字符串,例如:

Set oRegisterFunc = CreateObject(“Mercury.RegisterUserFunc”)

  这些保留对象基本上都可以通过以上的方式来创建,不过有些只能在QTP中进行创建。

  注意:当在QTP中创建这些对象时,也就意味着自行创建了一个保留对象的实例,而此实例与原来QTP默认实例化的保留对象是没有任何关系的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值