QTP 学习 - 对象库
QTP的关键字视图和专家视图
1、Keyword view(关键字视图)
在录制脚本的过程中,用户执行的每一个步骤,在关键字视图中记录为一行。
关键字视图直观有效,用户可以很清楚的看到被录制对象的录制层次及操作步骤。
在关键字视图中一共有4列:Item,Operation,Value,Documentation
Item:记录了所有对象
Operation:对该对象的操作
Value:对象操作所用到的值
Documentation:QTP自动生成的描述语句

2、Expert view(专家视图)
QTP在关键字视图中的每个节点在专家视图中对应一行脚本。

对于QTP来说,绝大部分的复杂操作都无法在关键字视图中实现,例如,要处理动态对象、需要定制个性化测试结果、获取对象运行时的属性值等
QTP的核心编码语言是VisualBasic Script。QTP本身也有对象库编程(ObjectProgramming)和描述性编程(DescriptiveProgramming)。这些都要在专家视图中实现。
在QTP里有很多对象模型,利用这些对象模型来表示web页面中的对象,每一个对象模型都有一个唯一标识此对象的关键属性列表。
在上方菜单栏中点击Tools---->Object Identification

一个简单的对象库编程的操作流程实例:
1、打开QTP软件
2、打开IE浏览器,输入“www.baidu.com”,页面跳转至百度首页(是打开浏览器,直接在浏览器中输入网址,并不是录制脚本)
3、点击“Resources---->Object Repository”

4、点击“Object---->Add Objects to Local”,在点击后会出现一个白色的手掌,拖动白色手掌至待添加的对象上,点击鼠标左键,这里以百度搜索框为例。

5、确认添加的对象后,点击“OK”
需要注意的是:当子对象被添加时,其父对象会一起被添加至对象库,而当父对象被添加时,如还有祖父对象,则祖父对象和父对象一起被添加至对象库,但其子对象不会被添加。

对象添加至对象库后如下图所示:

6、在专家视图中编写代码

代码编写好后在关键字视图中出现如下内容:

7.点击“Run”,脚本运行回放完毕后,百度搜索框自动输入了“西南科技大学”
如下图所示

手工添加对象的方式效率远远胜于录制添加的方式,因为用录制的方式添加对象,它们的命名是QTO自动命名的,命名很乱,很多不需要的对象也被添加进来,这样导致效率降低。
QTP 学习 - 对象库的更多相关文章
- QTP设置共享对象库
第一步:把需要加到共享对象库中的各个用例脚本的对象库,分别导出成.tsr文件. 操作方法:先用QTP打开已经录制完毕的脚本后,选择Resources-->Object Repository.然后 ...
- QTP自传之对象库编程
对象库编程是我们平时工作中使用最多的编程方式,在自动化脚本开发中起到举足轻重的作用,与描述性性编程相比,更直接和易于维护,今天就和大家简单的聊聊如何进行对象库编程. 既然是对象库编程,肯定要对已存在于 ...
- QTP 中对象操作
1.创建对象(将浏览器设置为一个对象) set oIE=createobject("internetexplorer.application") 2.将浏览器设置为可见的 oIE. ...
- QTP学习笔记--define new test object
目前在测的系统里,有图片控件,图片源都是一样的,链接地址不同(链接地址是动态变化的,不适合作为属性). QTP的识别机制是根据Index来的,复制对象之后更改Index的属性方法无效,采用define ...
- AI炼丹 - 深度学习必备库 numpy
目录 深度学习必备库 - Numpy 1. 基础数据结构ndarray数组 1.1 为什么引入ndarray数组 1.2 如何创建ndarray数组 1.3 ndarray 数组的基本运算 1.4 n ...
- MXNet 学习 (1) --- 最易上手的深度学习开源库 --- 安装及环境搭建
安装环境:Win 10 专业版 64位 + Visual Studio 2015 Community. 记录下自己在有GPU的环境下安装配置MXNet的过程.该过程直接使用MXNet release ...
- qml学习:对象和属性
qml学习:对象和属性 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 参考文档<<Qt及Qt Quick开发实战精解.pdf>> ...
- javascript学习-对象与原型
javascript学习-对象与原型 Javascript语言是符合面向对象思想的.一般来说,面向对象思想需要满足以下三个基本要求: 封装,Javascript的对象可以自由的扩充成员变量和方法,自然 ...
- UI对象库-定位元素与程序分离
1.前言 这几天有人问我,UI自动化测试中使用到的页面定位元素应该存放在哪里比较合适?我想说的是如果你使用的是PO设计模式设计测试用例的话,可以把定位元素存在每一个page页面,一个page存放对应的 ...
随机推荐
- Java面试(一) -- 基础部分(1)
1 .一个".java" 源文件中是否可以包括多个类(不是内部类)?有什么限制?答:可以有多个类,但只能有一个 public 的类,并且 public 的类名必须与文件名相一致.. ...
- SQL-41 构造触发器
题目描述 构造一个触发器audit_log,在向employees_test表中插入一条数据的时候,触发插入相关的数据到audit中.CREATE TABLE employees_test(ID IN ...
- Android开发 ---基本UI组件6 :只定义一个listView组件,然后通过BaseAdapter适配器根据数据的多少自行添加多个ListView显示数据
效果图: 1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> ...
- tomcat中web项目编译后的结构
一. jsp文件在WEB-INF中 原项目结构及编译后的项目结构,原web项目与编译文件的对应关系如下:java下面的.java文件----->WEB-INF下的classes中,target下 ...
- python常见错误
最近刚刚接触Python,为了养成好习惯,遇到了诸多的问题,林林总总,在这里简单记录下: 编写简单的python语句时: module level import not at top of file ...
- 解决jmeter乱码
1. 解决响应数据乱码的方法: 在jemter文件下找到bin\jmeter.properties添加下面一句话: sampleresult.default.encoding=UTF-8 ...
- 实力封装:Unity打包AssetBundle(大结局)
→→前情提要:让用户选择要打包的文件←← 大结局:更多选择 Unity打包AssetBundle从入门到放弃系列终于要迎来大结局了[小哥哥表示实在写不动了o(╥﹏╥)o]... 经过上一次的教程,其实 ...
- ChIP-seq 学习内容
chip-seq 流程图 书籍资料 工具 UCSU 安装 使用 原理 手册 Swiss在线分析工具 短序列比对工具 BWA 流程 格式处理 序列比对 peak-calling motif 可视化 输出 ...
- Ubuntu16.04上添加用户以及修改用户所属的组
我的问题是这样的,我的本地的电脑上有一个用户以及一个用户组,我还想添加其他的用户,并且这个用户属于这个已有的用户组 <鸟哥的linux私房菜>针对的是centos系统,还是有一些不一样 实 ...
- MacBook使用笔记1 - 快捷键与命令学习
转载请标注原链接:http://www.cnblogs.com/xczyd/p/4846795.html 最近开始使用mac air,以前从来没有接触过mac,各种操作捉急.Mac快捷键相当多,遇到各 ...