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存放对应的 ...
随机推荐
- [Leetcode 134]汽车加油站 Gas Station (环形)
[题目] There are N gas stations along a circular route, where the amount of gas at station i is gas[i] ...
- JavaWeb基础-servlet
Servlet简介 Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤: 1.编写一个Java类,实现s ...
- ipv4-only网络环境下访问ipv6站点
使用6plat.org+openVPN(无需资金投入)进入ipv6网络 这里我们主要使用的是6plat.org提供的“46模块——IPv4到IPv6”功能,需要配合openVPN这个软件,支持wind ...
- Spring 的介绍和目标
1. Spring介绍 打开Spring 官网查看对 Spring 的介绍和目标 http://www.springsource.org/about We believe that: · J2EE s ...
- Windows10下安装MySQL8.0
1:首先去官网下载安装包 下载地址:https://dev.mysql.com/downloads/mysql/ 这是我下载版本 2:将解压文件解压到你安装的目录:E:\mysql-8.0.11-wi ...
- 第8章 枚举类&注解
8.枚举及注解 8.1 如何自定义枚举类 1课时 8.2 如何使用关键字enum定义枚举类 1课时 8.3 枚举类的主要方法 1课时 8.4 实现接口的枚举类 1课时 8-1 枚举类 枚举类入门 枚举 ...
- Qt对`vtable的未定义引用
错误描述:Qt在linux系统编译时,遇到一个错误大致如下形式 在 xxxxx函数中 对‘vtable for xxxxx未定义的引用 网上找了很多,各种情况都有,大多数是虚函数未实现导致的, 但也有 ...
- MVC 中Scripts.Render、Styles.Render
在ASP.NET MVC项目中,可以在视图中利用Scripts.Render.Styles.Render统一加载js.css文件,需要利用BundleConfig类来Add 各种Bundle,例如:b ...
- Spring Boot - 基础 POM 文件
表 1. Spring Boot 推荐的基础 POM 文件 名称 说明 spring-boot-starter 核心 POM,包含自动配置支持.日志库和对 YAML 配置文件的支持. spring-b ...
- Hello ThreadPoolExecutor
ThreadPoolExecutor创建: public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliv ...