关于Rational Functional Tester (RFT)的简单介绍
前段时间给客户做了个RFT的简单培训,以下。因为涉及到公司的框架,所以中间省去了很多框架里的细节,只留了一个框架的总体结构的概览。
- RFT
IBM Rational Functional Tester is an automated functional testing and regression testing tool. This software provides automated testing capabilities for functional, regression, GUI, and data-driven testing.
What is automation? Writing a program to test another program.
Why need framework?
Most automation tools enable testers to simply record a set of GUI interactions and play them back against the application being tested. The record-playback approach eases the creation of test scripts but leads to extensive test script maintenance. The test team ends up recording and re-recording scripts each time the application changes. Although record-playback features can be used to create suites of test cases quickly, this approach is limited because the application under test should be mostly complete and functioning correctly before a workable script can be recorded. Test teams often abandon the record-playback model and write test cases manually instead. Testers are often limited to using GUI automation for regression testing. The object-recognition algorithms are complex and inaccessible, making updates to the scripts tedious and, in some cases, impossible. Though the tool exposes the recognition algorithms, thereby making updates much more manageable, it also has the unfortunate side effect of making object recognition less reliable.
The automation framework offers many benefits:
- Powerful scripting capability.
- Object-oriented approach to test automation.
- Object recognition algorithm and object maps.
- Ability to dynamically find the test objects using the object's properties.
- Rich set of APIs for scripting without recording the object.
In short
RFT is plugin of Eclipse
1> Java programming
2> Eclipse IDE
3> Rich set of APIs to create test automation frameworks
- Scripts 3 level structure

The scripts are the 3rd level of framework.
Example: Apply_full_payment_to_a_single_tax_type_and_print_PV.java in TestScript\APD folder

- Object Map files
There are 2 kinds of files of one object map. One is “.rftdef” file and another is “.rftxmap”.
These 2 files mapped by test object ID. The ID is automated generated by RFT for each object.
1> .rftdef: Defined the logical name and ID

2> .rftxmap: Properties stored in this file

RFT recognize the object by using the properties stored here.
- Mapped Object & Bound Object
1> Mapped Object
Objects stored in object map.
Core function getMappedTestObject (String):
TestObject obj = new TestObject (getMappedTestObject (objName));
2> Bound Object
Core functions those return Bound Object:
getChildren(), getMappableChildren(), getOwned(), getParent(), getMappableParent(), getOwner(), find(), getTopParent()
3> Difference
If application changes Mapped Object need to change. But Bound Object doesn’t need.
And Mapped Object usually find quickly than Bound Object.
- The find() function
Two types of find API in Rational Functional Tester:
- find(Subitem Properties).
- find(Subitem Properties, Boolean mappableOnly).
Subitems can be either atChild() or atDescendant() or atList().
- atChild: One or more properties that must be matched against the direct child of the starting TestObject.
- atDescendant: One or more properties that can be matched against any child of the starting TestObject
- atList: A sequential list of properties to match against. Valid subitems for atList are atChild, atDescendant, and atProperty.
- mappableOnly: Arguments that limit the search. If it is set to true, the search for children will be limited to those test objects that are mappable, otherwise non-mappable test objects are also searched.



Find using RootTestObject
RootTestObject represents a global view of the system being tested. It provides access to system-wide functionality, such as finding an arbitrary test object based on properties, location, as well as finding DomainTest Object.


关于Rational Functional Tester (RFT)的简单介绍的更多相关文章
- Rational Functional Tester 对象文件(rftdef)合并
Rational Functional Tester (RFT) 是一款集成在Eclipse上的自动化测试工具.而自动化测试最麻烦的维护部分,一大部分也是指的是对象库文件的管理维护. 之前的项目里,经 ...
- Wrapping calls to the Rational Functional Tester API——调用Rational Functional Tester封装的API
转自:http://www.ibm.com/developerworks/lotus/library/rft-api/index.html The Rational GUI automation to ...
- 安装builderRobot到Rational Functional Tester和Performance Tester
最近研究安装builder,稍微总结一下,以后继续补充: 1. Robot采用专业的测试脚本语言, 从而导致需要学习专门的API以及专门的语法外, 用进程化的Visual Basic作为脚本语言, 导 ...
- 内核调试神器SystemTap — 简单介绍与使用(一)
a linux trace/probe tool. 官网:https://sourceware.org/systemtap/ 简单介绍 SystemTap是我眼下所知的最强大的内核调试工具,有些家伙甚 ...
- [原创]关于mybatis中一级缓存和二级缓存的简单介绍
关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
- 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...
- yii2的权限管理系统RBAC简单介绍
这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...
- angular1.x的简单介绍(二)
首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...
随机推荐
- Centos5.5下安装cacti
系统环境OS:CentOSDataBase:MySQL5.0PHP Apachenet-snmp部署CentOS cacti配置需要的环境安装MySQLyum -y install mysqlyum ...
- item3 二维数组中的查找[剑指offer]
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有这个整数? 8 9 思路:查找7 ...
- 我的IT相关网址收藏
it语言学习免费视频: 尚学堂:http://www.sxt.cn/ 慕课网:http://www.imooc.com/course/list 大学生自学网:http://v.dxsbb.com/ 尚 ...
- 【转】CSS浏览器兼容性与解析问题终极归纳
1.怪异模式问题:漏写DTD声明,Firefox仍然会按照标准模式来解析网页,但在IE中会触发怪异模式.为避免怪异模式给我们带来不必要的麻烦,最好养成书写DTD声明的好习惯. 2.IE6双边距问题:在 ...
- PHP写一段代码,确保多个进程同时写入一个文件成功
这个需求是在软件设计过程常见的加锁.学计算机的同学都应该知道,这个是在<计算机操作系统>课程上有这个知识点.主要要考虑的是进程的同步,也就是进程对资源的互斥访问.OK,用程序说话吧! &l ...
- DG_Oracle DataGuard Switchover主备节点切换(案例)
2014-06-09 Created By BaoXinjian Thanks and Regards http://wenku.baidu.com/view/dc9f00d349649b6648d7 ...
- PLSQL_Oracle Table Lock表级锁的处理(案例)
20150506 Created By BaoXinjian
- c#复习整理
一.基本语法 1.数据类型 整数类型:int.long 浮点类型:float.double.decimal 布尔类型:bool 字符串类型:string 2.类型转换 int a; double b ...
- EasyUI-draggable
draggable用来在界面上创建一个可以拖动的元素,既然是可以拖动的元素,那么它在拖动过程中会有下面的几个事件:onBeforeDrag.onStartDrag.onDrag.onStopDrag. ...
- Python进阶06 循环对象
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 这一讲的主要目的是为了大家在读Python程序的时候对循环对象有一个基本概念. 循 ...