前段时间给客户做了个RFT的简单培训,以下。因为涉及到公司的框架,所以中间省去了很多框架里的细节,只留了一个框架的总体结构的概览。

  1. 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

  1. 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

  1. 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.

  1. 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.

  1. 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)的简单介绍的更多相关文章

  1. Rational Functional Tester 对象文件(rftdef)合并

    Rational Functional Tester (RFT) 是一款集成在Eclipse上的自动化测试工具.而自动化测试最麻烦的维护部分,一大部分也是指的是对象库文件的管理维护. 之前的项目里,经 ...

  2. 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 ...

  3. 安装builderRobot到Rational Functional Tester和Performance Tester

    最近研究安装builder,稍微总结一下,以后继续补充: 1. Robot采用专业的测试脚本语言, 从而导致需要学习专门的API以及专门的语法外, 用进程化的Visual Basic作为脚本语言, 导 ...

  4. 内核调试神器SystemTap — 简单介绍与使用(一)

    a linux trace/probe tool. 官网:https://sourceware.org/systemtap/ 简单介绍 SystemTap是我眼下所知的最强大的内核调试工具,有些家伙甚 ...

  5. [原创]关于mybatis中一级缓存和二级缓存的简单介绍

    关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...

  6. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  7. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  8. yii2的权限管理系统RBAC简单介绍

    这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...

  9. angular1.x的简单介绍(二)

    首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...

随机推荐

  1. docker配置环境

    debian: curl -sSL https://get.docker.com/ | sh curl -sSL https://get.daocloud.io/docker | sh daoclou ...

  2. 216. Combination Sum III

    Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...

  3. 11个实用的Apache .htaccess配置

    <IfModule mod_rewrite.c>RewriteEngine onRewriteBase /RewriteRule cat_([0-9]{1,})_([0-9]{1,})_( ...

  4. 理解Socket编程【转载】

    “一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. ——有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览 ...

  5. RMAN_Oracle RMAN的常用Command命令

    2014-12-11 Created By BaoXinjian

  6. OAF_架构MVC系列3 - View的概述(概念)

    2014-06-18 Created By BaoXinjian

  7. Codeforces Round #356 (Div. 2)A. Bear and Five Cards(简单模拟)

    A. Bear and Five Cards time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  8. group by 获取总记录数

    sql中有group buy 后如何获取总记录的条数,来生成分页 当然一般情况下我是不推荐这样的分页,如果你真的需要应该是你表结构设计有问题 1.适用于所有情况 $db = new PDO(DSN.. ...

  9. UCOS-信号量(学习笔记)

    当事件控制块类型为OS_Event_Type_SEM类型时就是信号量,包含2个内容:信号量计数器OSEventcnt和等待列表OSEventTbl[]. 一创建信号量:OSSemCreat(int16 ...

  10. maven问题

    pom.xml ... </dependencies> <repositories> <repository> <id>sf-nexus</id& ...