022 UFT虚拟对象
虚拟对象:
程序中那些行为标准类型对象的对象,但不能被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虚拟对象的更多相关文章
- UTF虚拟对象
虚拟对象: 虚拟对象是为了让UFT识别某些不能识别的控件,把这些控件的范围定义为虚拟对象. 新建虚拟对象 管理虚拟对象 创建虚拟对象之后可通过菜单tools-Virutal Objects-Virut ...
- 《Entity Framework 6 Recipes》中文翻译系列 (46) ------ 第八章 POCO之领域对象测试和仓储测试
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 8-8 测试领域对象 问题 你想为领域对象创建单元测试. 这主要用于,测试特定的数 ...
- 对象关系映射ORM
对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从效 ...
- C++中派生类对象的内存布局
主要从三个方面来讲: 1 单一继承 2 多重继承 3 虚拟继承 1 单一继承 (1)派生类完全拥有基类的内存布局,并保证其完整性. 派生类可以看作是完整的基类的Object再加上派生类自己的Objec ...
- 引用的时候js不能使用虚拟路劲,调试时用排除法测试
今天碰到2个问题,搞了半天都没明白,又不报错: 就是js的问题:-->我返回了一个json,返回的json是正确的,但是view页面接受不到这个虚拟对象. 完全懵了,不知道为什么view页面接受 ...
- ORM-面向对象&关系数据库
ORM-面向对象&关系数据库 对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程 ...
- centos6.5下vsftpd服务的安装及配置并通过pam认证实现虚拟用户文件共享
FTP的全称是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议.它工作在OSI模型的第七层,即是应用层,使用TCP传输而不是UDP.这样FTP客户端和服务器建立 ...
- 使用模拟对象(Mock Object)技术进行测试驱动开发
敏捷开发 敏捷软件开发又称敏捷开发,是一种从上世纪 90 年代开始引起开发人员注意的新型软件开发方法.和传统瀑布式开发方法对比,敏捷开发强调的是在几周或者几个月很短的时间周期,完成相对较小功能,并交付 ...
- VMware的存储野心(下):虚拟卷和闪存缓存
http://storage.chinabyte.com/187/12494187_2.shtml 在上一篇<VMware的存储野心(上):软件定义.分布式DAS支持>中,我们分别讨论了& ...
随机推荐
- 【转载】Dom篇
一. 初探Dom 1. Dom介绍 二. Dom基础 1. window顶级对象 2. body.document对象事件 3. 通用的HTML元素的事件 4. ...
- MQTT之 Mosquitto hello world的使用
服务端发布消息模式,客户端订阅: 终端一中启动 moquitto 服务器 shallbeThatIshallbe:mosquitto iamthat$ 1427293344: Opening ipv4 ...
- LintCode 字符串比较
比较两个字符串A和B,确定A中是否包含B中所有的字符.字符串A和B中的字符都是大写字母: 给出 A = "ABCD" B = "AABC", 返回 false ...
- Spring + JMS + ActiveMQ实现简单的消息队列(监听器异步实现)
首先声明:以下内容均是在网上找别人的博客综合学习而成的,可能会发现某些代码与其他博主的相同,由于参考的文章比较多,这里对你们表示感谢,就不一一列举,如果有侵权的地方,请通知我,我可以把该文章删除. 1 ...
- Hibernate逍遥游记-第13章 映射实体关联关系-004双向多对多(inverse="true")
1. <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hi ...
- s1.charAt(x)=='a'
public class hhh{public static void main(String[]args) { String s1="hkdhskhegoihwhonfdsaaa&qu ...
- C++:对象指针
对象指针概念:每一个对象在初始化后都会在内存中占有一定的空间.因此,既可以通过对象名访问, 也可以通过一个对象地址来访问一个对象.对象指针就是用于存放对象地址的变量. 声明对象指针的一般语法格式为:类 ...
- 在Hadoop伪分布式模式下安装Hive(derby,mysql)
我的Hadoop版本是1.2.0,mysql版本是5.6.12. 先介绍一下嵌入式derby模式: 1.下载/解压 在hive官网上选择要下载的版本,我选择的版本是hive-0.10.0. 下载好解压 ...
- 量化Hacker News 中50天的数据 Quantifying Hacker News with 50 days of data
Quantifying Hacker News I thought it would be fun to analyze the activity on one of my favorite sour ...
- Android权限安全(10)应用与设备绑定
有些时候开发者想要把应用与设备绑定 如: 计费应用下载,防导出运行. app内部注册付费等等. 常用的绑定方案: