虚拟对象:

程序中那些行为标准类型对象的对象,但不能被QTP识别,则可把这些对象类型称为虚拟对象。并且映射到某类标准对象,例如button,check box等,QTP在测试过程中就会对这些虚拟对象模拟执行用户操作。

方法是把这些控件所在的区域定义为虚拟对象(Virtual Object)

在QTP的"http://newtours.demoaut.com/"网页中,“Sign-In”按钮是一个图像,录制的测试脚本为

Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "wowowowowo1800"

Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "54617a082eda97ff1cca35347da1812ae6d686135a9784b0"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 34,8
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Sync
Browser("Welcome: Mercury Tours").CloseAllTabs

如果想把“Sign-In”看成一个按钮,则可用虚拟对象的方式来实现:

操作步骤如下:

选择菜单栏中的“Tool->Virtual Objects-> New Virtual Object”,然后点击下一步按钮,然后选择button。

点击“下一步”按钮,进入下图,点击“Mark Object”,然后在订飞机中选择“Sign-In”的区域,就可以看到下图的高度和宽度。

点击“下一步->下一步”,进入到下图,可以定义虚拟对象的名称,点击完成即可。

创建完成虚拟对象后,在录制脚本时,QTP就会以虚拟对象对应的控件形式来录制测试对象,例如,重新录制订飞机系统的登录操作,则可看到专家视图中的代码变成

Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebElement("SIGN-ON").FireEvent "onmouseover"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "wowowowowo1800"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "54617a9c1aaa9995aced7ba57d07b959148b45a892942d95"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").VirtualButton"sign-in").Click 23,11
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Sync
Browser("Welcome: Mercury Tours").CloseAllTabs

这时候打开对象库可以看到虚拟对象

022 UFT虚拟对象的更多相关文章

  1. UTF虚拟对象

    虚拟对象: 虚拟对象是为了让UFT识别某些不能识别的控件,把这些控件的范围定义为虚拟对象. 新建虚拟对象 管理虚拟对象 创建虚拟对象之后可通过菜单tools-Virutal Objects-Virut ...

  2. 《Entity Framework 6 Recipes》中文翻译系列 (46) ------ 第八章 POCO之领域对象测试和仓储测试

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 8-8  测试领域对象 问题 你想为领域对象创建单元测试. 这主要用于,测试特定的数 ...

  3. 对象关系映射ORM

    对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从效 ...

  4. C++中派生类对象的内存布局

    主要从三个方面来讲: 1 单一继承 2 多重继承 3 虚拟继承 1 单一继承 (1)派生类完全拥有基类的内存布局,并保证其完整性. 派生类可以看作是完整的基类的Object再加上派生类自己的Objec ...

  5. 引用的时候js不能使用虚拟路劲,调试时用排除法测试

    今天碰到2个问题,搞了半天都没明白,又不报错: 就是js的问题:-->我返回了一个json,返回的json是正确的,但是view页面接受不到这个虚拟对象. 完全懵了,不知道为什么view页面接受 ...

  6. ORM-面向对象&关系数据库

    ORM-面向对象&关系数据库 对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程 ...

  7. centos6.5下vsftpd服务的安装及配置并通过pam认证实现虚拟用户文件共享

    FTP的全称是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议.它工作在OSI模型的第七层,即是应用层,使用TCP传输而不是UDP.这样FTP客户端和服务器建立 ...

  8. 使用模拟对象(Mock Object)技术进行测试驱动开发

    敏捷开发 敏捷软件开发又称敏捷开发,是一种从上世纪 90 年代开始引起开发人员注意的新型软件开发方法.和传统瀑布式开发方法对比,敏捷开发强调的是在几周或者几个月很短的时间周期,完成相对较小功能,并交付 ...

  9. VMware的存储野心(下):虚拟卷和闪存缓存

    http://storage.chinabyte.com/187/12494187_2.shtml 在上一篇<VMware的存储野心(上):软件定义.分布式DAS支持>中,我们分别讨论了& ...

随机推荐

  1. 从svn删除文件夹和文件

    由于项目开始放在自己项目组的一个服务器上,而且svn也是自己在该服务器上搭建的,但是不知道是什么原因,svn上的代码被误删了.为了更稳定地使用svn,所以使用公司的svn来管理代码. 运维将不是最新版 ...

  2. 68. Text Justification

    题目: Given an array of words and a length L, format the text such that each line has exactly L charac ...

  3. HDU5087——Revenge of LIS II(BestCoder Round #16)

    Revenge of LIS II Problem DescriptionIn computer science, the longest increasing subsequence problem ...

  4. linux命令-shopt

    shopt命令 shopt命令用于显示和设置shell中的行为选项,通过这些选项以增强shell易用性.shopt命令若不带任何参数选项,则可以显示所有可以设置的shell操作选项. 开启与关闭 开启 ...

  5. 基于Struts2框架实现登录案例 之 使用Struts2标签库简化表单+继承ActionSupport完成输入交验

    一,使用Struts2标签库简化表单 在文章[基于Struts2框架实现登录案例]的基础上,通过使用Struts标签库可以简化登录页面login2.jsp <%@ page language=& ...

  6. 网站TCP链接暴增

    昨天上线后,TCP链接暴增,红点增多. 问题在查.其中有一部分,多线程修改,突破了线程数 64的限制.线程内,会发起网络请求. 怀疑是热点之一.其他的部分也有修改,也被怀疑.准备下次,2部分分开上线. ...

  7. RecyclerView(5)官方教程带简单示例

    Create Lists The RecyclerView widget is a more advanced and flexible version of ListView. This widge ...

  8. java-基础练习题

    [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1 ...

  9. python学习笔记之初识Python

    一直听说python语音的简单易用而又强大,今天终于忍不住借本书,开始接触接触一下它,下面结合书本和自己的一些体会,写一下刚刚接触python的东西,重点写一些和C++有区别的地方. (1)输入inp ...

  10. 带你认识HTML5中的WebSocket

    这篇文章主要介绍了带你认识HTML5中的WebSocket,本文讲解了HTML5 中的 WebSocket API 是个什么东东.HTML5 中的 WebSocket API 的用法.带Socket. ...