[quote][url]http://www.51testing.com/?uid-286520-action-viewspace-itemid-806857[/url][/quote]

测试对象(Test Object)和运行时对象(RunTime Object)两者的差别,前者是本地对象库的对象,后者是运行时实际的对象
测试对象(TO)和运行时对象(RO)

和TO、RO相关的几个函数有:
GetTOProperty():取得仓库对象的某个属性的值
GetTOProperties():取得仓库对象的所有属性的值
SetTOProperty():设置仓库对象的某个属性的值
GetROProperty():取得实际对象的某个属性的值

通常用法:用SetTOProperty()定义TO,以灵活的操作RO
此处很重要,由于共享对象库经常被人修改,所以在运行时通过SetTOProperty()方法定义此时的对象库TO,使得对象库的属性值处于可控中,以解决:共享对象库的修改和管理问题

注意:SetTOProperty()方法,修改的对象属性是临时的,且在运行时
另外用法:单用RO,获取实际对象的属性值

例子:有个测试任务,窗口上有很多待检查的记录,每条记录右边都有一个Check按钮,用来检查各条记录。记录个数不定,所以Check按钮个数也就不定,只有一个Edit显示记录个数。
我们要对每条记录进行检查,也就是要点击每个Check按钮。
但是Check按钮个数不定,不好录制,而且个数可能也很多(上百个),即使能一一录制,那也很麻烦。
那我有一个好办法,只录制一个按钮对象,它设有两个特征属性 label=OK, index=0
然后用下面的脚本,就可以完成测试
buttonNum = CInt(JavaWindow(\"Test\").JavaEdit(\"Record Num\").GetROProperty(\"value\"))For buttonIndex = 0 to buttonNum - 1
JavaWindow(\"Test\").JavaButton(\"Check\").SetTOProperty(\"index\", buttonIndex)
JavaWindow(\"Test\").JavaButton(\"Check\").Click
Next

或者窗口上有New、Modify、Delete、Check等好几个按钮,要把这几个按钮一一按过去
我在对象仓库里只设置一个按钮对象AnyButton,label特征属性值填任意值,然后用下面脚本执行测试
JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"New\")
JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click
JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"Modify\")
JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click
JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"Delete\")
JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click
JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"Check\")
JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click

如上面两个任务,采用描述性编程方法,可以如下实现
1. 不需要在仓库里定义Check按钮对象,直接用下面脚本来实现测试
buttonNum = CInt(JavaWindow(\"Test\").JavaEdit(\"Record Num\").GetROProperty(\"value\"))
For buttonIndex = 0 to buttonNum - 1
JavaWindow(\"Test\").JavaButton(\"label:=Check\", \"index:=\"+CStr(buttonIndex)).Click
Next
2. 不需要在仓库里定义New、Modify、Delete、Check按钮对象,直接用下面脚本来实现测试
JavaWindow(\"Test\").JavaButton(\"label:=New\").Click
JavaWindow(\"Test\").JavaButton(\"label:=Modify\").Click
JavaWindow(\"Test\").JavaButton(\"label:=Delete\").Click
JavaWindow(\"Test\").JavaButton(\"label:=Check\").Click

QTP对象TO与RO相关推荐

  1. qtp11与java_11.5 QTP对象识别

    11.5  QTP对象识别 本节将讲解QTP识别对象的原理. 1.两种测试对象和仓库对象 有两种对象,一个是TestObject对象,另一个是RunTime Object对象.TestObject对象 ...

  2. 《精通QTP——自动化测试技术领航》—第1章1.6节对象库(下)之进阶编程篇

    本节书摘来自异步社区<精通QTP--自动化测试技术领航>一书中的第1章1.6节对象库(下)之进阶编程篇,作者余杰 , 赵旭斌,更多章节内容可以访问云栖社区"异步社区"公 ...

  3. 《精通QTP——自动化测试技术领航》—第1章1.5节QTP精华—对象库(上)之基础攻略篇...

    本节书摘来自异步社区<精通QTP--自动化测试技术领航>一书中的第1章1.5节QTP精华-对象库(上)之基础攻略篇,作者余杰 , 赵旭斌,更多章节内容可以访问云栖社区"异步社区& ...

  4. QTP的那些事--共享对象库的使用

    很多时候我们总是觉得管理QTP的脚本比较烦.因为除了要对代码的管理之外,还要保证QTP对象库的完整.每一个用例脚本的生成,同时又都会生成一个对象库.那么是不是可以做一个公共的对象库来给各个用例脚本调用 ...

  5. QTP学习笔记----2013.04.25

    一.封装对象模型 1.QTP封装对象:Test Objects(TO)测试对象和Runtime Objects(RO)运行时对象 TO和RO区别:TO是被添加到对象库中的对象,RO是被测试软件在运行时 ...

  6. UFT(QTP) 录制 回放 原理

    自动化测试可以基于代码,例如junit,cppunit,可以基于协议,例如loadrunner,QTP是基于GUI界面的自动化测试工具.junit和cppunit属于单元测试,loadrunner和Q ...

  7. uft自动化测试工具 android,【自动化测试工具】QTP/UFT入门

    准备: 注: QuickTest Pro()11.5后更名为UnifiedFunctional Testing(UFT) 1.安装后打开QTP,勾选 add-in,进入QTP后File-New-Tes ...

  8. 自动化测试QTP知识框架

    基于QTP的自动化测试开发- QTP初级   基本信息   一.软件自动化测试 1. 自动化测试 1.1.     软件自动化测试的故事 1.2.     自动化测试的应用案例 1.3.     自动 ...

  9. QTP自动化测试视频系列

    第1讲-安装目录分析 第2讲-认识QTP操作窗体 第3讲-QTP示例程序业务讲解 第4讲-QTP高手进阶指南 第5讲-初试QTP脚本录制回放 第6讲-QTP脚本增强与调试 第7讲-QTP的三种录制模式 ...

最新文章

  1. 设计模式 ( 十六 ) 观察者模式Observer(对象行为型)
  2. CentOs6.5中安装和配置vsftp简明教程
  3. csv python 逐行读取_从 Excel 到 Python
  4. SAP WebIDE UI5应用的几种启动方式
  5. Xilinx FPGA GTX的DRP速率配置详解
  6. java简单计算机程序_JAVA程序编的简单计算器程序??
  7. 279. 完全平方数 golang BFS
  8. lodash 根据某个字段排序处理
  9. 男人拥有女人后的心态变化
  10. BCELoss忽视某个类别
  11. UVA11310 Delivery Debacle【铺砖问题】
  12. 2021华为软挑赛题_思路分析——实时更新,做多少更多少(四)
  13. 使用curl自动签到百度贴吧
  14. 网络爬虫(网络蜘蛛,网络机器人)与Web安全
  15. 请收藏——QKL123!它能帮你挖掘项目价值(附2019年3月排行榜)
  16. 射频开关常见优化技术——交流悬浮技术、MOS堆叠
  17. Java:实现ReadFile读文件算法(附完整源码)
  18. 电池串联和并联的区别有哪些
  19. 基于Urbansound8K数据集的环境声识别的方法简述
  20. 热血三国 mysql_热血三国Apache已启MySQL5.1已启动怎么还是不能进游戏

热门文章

  1. Struts2StudentsInfoManage学生管理系统struts2版
  2. SQL Server六步改善安全规划全攻略
  3. Android WebView 开发详解(三)
  4. 最新版Kubernetes常用命令大全
  5. 《全栈营销之如何制作个人博客》之二:php环境安装及个人博客后台搭建 让你的博客跑起来...
  6. vxworks 实时操作系统
  7. Centos升级gcc4.4.7升级gcc4.8手记
  8. swift版的GCD封装
  9. Java设置软件图标即窗口上角图标
  10. Windows服务程序的调试