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相关的常用的对象,现在,洗洗睡了。

  • 相关阅读:
    LeetCode "Palindrome Partition II"
    LeetCode "Longest Substring Without Repeating Characters"
    LeetCode "Wildcard Matching"
    LeetCode "Best Time to Buy and Sell Stock II"
    LeetCodeEPI "Best Time to Buy and Sell Stock"
    LeetCode "Substring with Concatenation of All Words"
    LeetCode "Word Break II"
    LeetCode "Word Break"
    Some thoughts..
    LeetCode "Longest Valid Parentheses"
  • 原文地址:https://www.cnblogs.com/michaelle/p/4023303.html
Copyright © 2011-2022 走看看