zoukankan      html  css  js  c++  java
  • QTP自传之对象

    对象在手,测试我有

    大家别误会,这里说的对象可不是值指男女朋友,而是对被测控件的识别。经过昨天的录制,大家一定很奇怪为什么我可以做到精确的回放操作,这都要归功于对象,下面就隆重的介绍我在对象识别方面的强大功能。

    初识对象库

    打开上次录制的脚本record,点击【Resources】->【Object Repository】或按快捷键CTRL+R,打开对象库,如下图。

    简单介绍下各个按钮的作用。

    Test Objects:测试中用到的对象都在这里。

    Checkpoint and Output Object:检查点和输出对象,平时项目中基本上用不到。

    1:添加对象,手动添加需要的测试对象到对象库,如何添加后面会详细说明。

    2:更新对象,由于版本的更迭导致对象变更时使用,具体步骤和添加对象相同,需要注意的是所更新的对象必须是相同类型的,不能把WebEdit更新曾Link类型。

    3:定义新对象,使用频率不高,一般都直接添加对象。

    4:对象高亮,使对象库中的对象在网页或程序上闪烁,可以达到定位的效果,检查对象添加的是否正确。

    5:定位对象,检查被测程序上的对象是否已在对象库中。

    6:对象侦探,无需添加对象到对象库就可以查看对象的属性,实际工作中用的最多的功能。

    7:关联对象库,加载封装好的对象库,使用较多。

    Object Properties:显示和编辑对象的具体属性。

    添加对象

    对象库是我最重要的功能,没有对象库就没有我现在的地位,而添加对象又是对象库中最重要的功能呢。为了看到手动添加的效果,我们先删除现有对象库的对象,右键点击对象删除之。

    点击添加对象图标(图中1的位置),会出现一个白色小手,将白色小手移动到需要添加的对象上,这里先添加用户名输入框,单击后如下图。

    单击后会出现一个对话框,同时显示要添加对象的父级对象,需注意,添加子对象时父级对象会自动添加至对象库。也就是说,如果我们选择WebEdit那么Page和Broswer也会一起添加至对象库;如果选择Page那么Broswer会被添加至对象库而WebEdit不会被添加,可以理解为向上兼容。好了,我们选择WebEdit进行添加,如下图。

    按相同步骤添加邮箱、密码和登录按钮,因为他们都在同一页面上,会被直接添加在父对象Page下。

    这时大家应该会发现,添加对象时我会自动为他们命名,当然名字也不是随便取的。以mail为例,注意看Object Properties部分,下面详细部分Description properties:type=text、name=mail、html tag=INPUT,看到这里有没有联想什么?还记得我们自己写的网页代码么?

    <input type="text" name="mail"  class="user_input">
    

    一目了然,这里的属性其实就是HTML标签的属性。如果觉得自动生成的名字看着不舒服,直接修改Object Properties中Name值就可以。将mail改为邮箱,password改为密码,username改为用户名,修改后可以看到脚本代码也自动更新了。  

    我之所以能够识别各种各样的对象,是因为已经有了这些对象的身份证明,他就是Object Identification。

    点击【Tools】->【Object Identification】,列出了可以识别的所有web对象,可以在注册表HKEY_CURRENT_USERSoftwareMercury InteractiveQuickTest ProfessionalMicTestTest Objects 查看,注册表里没有的Object Identification也不会有。Object Identification的配置一般不需要更改,了解即可。

    对象侦探

    自动化对象控件纷繁杂乱,工作中经常需要了解对象的内部属性,直接看源码费时费力,考虑到这点,我特地提供了对象侦探服务,可以方便的查看对象的属性。可以通过三种方式打开:

    1.点击【Tools】->【Object Spy】

    2.直接点击Spy图标

    3.在对象库中点击Spy图标 (第一幅图片6位置)

    具体如图所示

    好了,拿用户名输入框练练手,Properties显示了相关的属性。

    Operations是该对象可以使用的方法,在以后的对象库编程中会用到。

    捕获对象时,若需要鼠标或键盘进行操作,按下CTRL+ALT可以进行输入,然后再按CTRL就可以捕获了。

    关联对象库

    顾名思义,可以将对象库封装为外部文件,成为公共对象库,供不同脚本使用。实现步骤:

    1.导出现有对象库。CTRL+R打开对象库,点击【File】->【Export Local Objects】,选择保存文件夹。

    2.为了突出效果,先删除现有对象库中的对象,然后点击Object Spy右边的图标。

    3.点击【+】选择要关联的对象文件,将Action1移入Associated Actions,点击【OK】。

    4.对象已被添加至Test Objects且是灰色不可编辑,若想编辑可以右键点击对象选择Copy To Local。

    听说十遍,不如操作一遍,web对象五花八门,行踪飘忽,只有通过大量的实际操作才能逐渐摸透其中的原理。

    下一次,将为大家介绍web相关的常用的对象,现在,洗洗睡了。

  • 相关阅读:
    生活感悟(一)
    DOM数据制作(采用卫星遥感图像数据制作)
    对话框显示前的操作
    sqlHelper中DataReader的关闭问题
    整数的取余运算
    C#中的字符串格式String.Format
    SQL分页查询
    级联删除与更新的例子
    C#中的运算符重载(以重载+为例)
    [高效编程读书笔记]用readonly而不是const
  • 原文地址:https://www.cnblogs.com/michaelle/p/4023303.html
Copyright © 2011-2022 走看看