收藏本站 收藏本站
积木网首页 - 技术学院 - 软件测试 - 网站黄页 - 常用手册 - 站长工具 - 技术社区
软件测试 > Rational > 正文

首页 | 领域细分: 游戏测试 安全测试 手机测试 Web测试 | 技术研究: 单元测试 入门教程 用例设计 性能测试 功能测试 | 测试职场: 面试精选 职场发展 面试试题

测试管理: 配置及流程 - 需求管理 - 质量验收 - 缺陷管理 - 其它管理相关 | 开发语言: PHP技巧 - PHP基础 - PHP实例 - PHP错误代码

测试工具: LoadRunner JiRa QuickTestPro RoBot WinRunner TestDirector 其它测试工具 | 数据库: Mysql数据库 Oracle数据库 CSS/DIV基础 HTML基础

利用 Rational Functional Tester 实现 ITCL (或者 IBM) 框架

来源:互联网 日期:2012-10-05 20:00

  介绍

  很多论坛和团体都对IBM框架(或者ITCL框架)进行了详细的说明:它究竟是什么,它怎样工作以及它有什么潜在的优势。这篇文章的目的就是集中讨论IBM框架的实现。它将详细说明了为了自动化应用程序的功能测试,通过利用 IBM® Rational ®Functional Tester,IBM 框架是如何被实现的。

  框架

  IBM 框架以前被称作为 ITCL 框架,由质量软件工程(Quality Software Engineering) 和 IBM 中有经验的自动化团队合作开发而成的。这个框架由三层架构组成,架构的实现贯穿了应用对象、任务和测试用例包(IBM 包)。 潜在于应用对象、任务和测试用例包之下的基本原理是:

  层次化的体系架构
  将“做什么”与“如何做”分离开来
  代码重用
  一致和清晰的组织结构
  快速增强的能力
  迅速的调试
  有效地组织文件
  启用协作
  学习他人
  下面是对应用对象、任务和测试用例的解释说明:

  应用对象:储存有关你的应用程序中的GUI元素信息。同时在这里也可以编写你的Getter 方法,这些 Getter 方法可以返回对象,使 调用者能够对这些GUI元素进行查询和操作。一般情况下,这些方法在Task层中进行调用。 任务:在这里你将编写可重用的方法,这些方法在你的应用程序中执行通用功能。同时在这里,你将编写可以处理和查询复杂的特定应用程序控件的方法。

  在任务中的方法可以被测试用例调用。
  测试用例:导航一个应用程序,验证其状态,并记录其结果的方法。

  实施方法论

  在本章节中概述的方法论详细说明了实施IBM框架的5个步骤。

  步骤1. 首先,在你的本地驱动器上创建一个新的项目。这个项目中有一个你可以储存、维护、编译和运行你的自动化代码的储存库。在Functional Tester中,选择File > New > Functional Test Project。给这个项目命名,并点击Finish。

  步骤2. 将 IBM 的包― 它包括将在自动化脚本中广泛使用的工具类 ― 导入到你的项目中。尽管这可能只是简单地将路径关联到ibm.jar文件,但是将 IBM 的包导入到你的项目中就可以使你更容易地检查这个包的内容,然后在调试的时候进入到包中。这个IBM的包可以在这篇文章末尾的下载部分中进行下载。

  导入 ibm.jar 包

  在 IBM Rational Functional Tester中,进入屏幕左边的Projects视窗,点击在步骤1中创建的项目 选择 File > Import。选择 Zip file 然后点击Next。使用Browse按钮在你储存这个文件的指定位置上查找ibm.jar 或者ibm.zip 文件。 保留所有默认设置并点击 Finish。 你现在应该可以在Functional Test Projects视窗中扩展你项目的名称。你可以在它下面看到一个名为ibm的文件夹。


  步骤3. 创建一个名为AppObject的包

  在IBM Rational Functional Tester中,进入屏幕左边的Projects视窗,在步骤1中创建的项目上点击。 选择File > New > New Test Folder。 给文件夹命名为AppObject。 点击Finish。

  重复1-4的步骤,创建Tasks 和TestCase 文件夹
  什么是 AppObject 包?

  在这个包中你必须映射所有被测试应用的对象。一个最常见的建议是为每一个屏幕准备单独的脚本,以此确保更好的对象以及分类的的重用和组织。比如,创建一个名为login的脚本,它将使所有的对象跟login 界面保持相关。你同样可以创建其它与 sent,inbox 界面等等相关的脚本。

  使用 AppObject 文件夹进行工作

  1、在 AppObject 包中建立一个空脚本
  2、选择 AppObject 包,点击右键并选择 Add Empty Script,如图1所示。                 所示所示所示                   

  3、将其命名为Login,并点击Finish
  4、从脚本资源管理器中双击Private Object Map。
  5、确保 mail.yahoo.com site 网站(或者被测试应用)是打开的。
  6、从 Private Object 图中,点击Test Object > Insert Object(s),如图2所示。

  

  7、将指针图标工具从下面的对话框拖到你想映射的目标位置,如图3和图4所示。

  图3. 通过拖拽选择一个对象

  


  图4. 选择的对象
  

  8、点击Finish。
  9、你的Private Object Map窗口应该看起来如图5所示。

  图5. 已完成的 Private Object Map

  

  10、选择你最近添加的对象,点击右键并选择 Add to Script AppObject.Login。
  11、对所有你想要添加到这个脚本的对象重复6-10的步骤。
  12、点击File > Save并关闭它。你的脚本资源管理器应该看起来如图6所示。

  图6. Login的脚本资源管理器

  

  13、类似地,你可以尽可能创建更多的脚本到你的项目中,并添加相关的对象。
  自动产生 AppObjects 代码

  一旦你将你的对象添加到你的对象地图中,就可以通过编写几行代码自动产生你的getter 方法。这些getter 方法将帮助你访问跨越或在项目中被添加的脚本中的对象。你将在AppObject文件夹中创建一个空的脚本,编写如列表1中所示的代码来自动产生getter方法

  1、在AppObject文件夹中创建一个名叫getter 的空脚本文件。
  2、创建列表1中的代码。

  列表1.自动生getter的代码

//IMPORT THESE 2 STATEMENTS AT THE TOP OF SCRIPT
import java.util.Vector;
import ibm.tools.ClassGenerator;
//WRITE DOWN THE BELOW CODE IN TESTMAIN FUNCTION
public void testMain(Object[] args)
{
Vector v = new Vector();
v.addElement (new AppObject.Login ());
//ADD ELEMENT FOR ALL THE SCRIPTS YOU HAVE IN YOUR AppObject
new ClassGenerator().updateScripts(v);
}

  3、你的Getter脚本内容看起来应该如图7所示。

  图7. Getter 脚本
  
  

  3、选择Script > Run来运行这个脚本。
  4、运行一次以后,当你点击你的Login脚本时,它将查询你是否要装载这些变更。
  5、点击Yes,你应该可以看到你的Login脚本已经有了Getter功能,如图8所示。

  图8. 用 Getter 脚本登陆系统的功能


  步骤4. 创建任务

  任务是你可以编写最大限度重用和最复杂代码的位置。

  1、首先在Tasks文件夹中创建一个脚本(跟前面的AppObject Folder操作一样)
  2、选择Tasks文件夹,右键点击它并选择Add Empty Script。
  3、指定详细的名称并点击Finish。
  4、将列表2中的代码插入到脚本中。

//DECLARE THE OBJECT OF THE SCRIPTS EXIST IN APPOBJECT
public AppObject.Login lgn = new AppObject.Login();
….
….
public AppObject.Login lgn = new AppObject.Login();
public void AssignLoginInfo()
{
lgn.getText_login().setText("abc");
lgn.getText_passwd().setText("New1");
}

public void testMain(Object[] args)
{
}

  5、你的脚本内容应当看起来如图9所示。

  

  6、你可以在同一个脚本或者新的脚本中根据每个应用程序的需要随意增加各种功能。 接下来,你将使这些功能实现自动化

  步骤5. 创建测试用例

  在测试用例中,你可以编写现有的步骤来完成这些行为,这将继承一些 Tasks 和 Appobject的属性特征。

  1、首先在Tasks文件夹中创建一个脚本(跟前面的AppObject Folder操作一样)
  2、选择Tasks文件夹,右键点击它并选择Add Empty Script。
  3、指定详细的名称并点击Finish。
  4、将列表3中的代码插入到脚本中。

  列表3. 测试用例

//DECLARE THE OBJECT OF THE SCRIPTS EXIST IN TASKS
//OBJECT CREATION OF TASKS LOGINTASK SCRIPT
public Tasks.LoginTask lt = new Tasks.LoginTask();
….
….
public void testMain(Object[] args)
{
//INVOKING THE BROWSER
startBrowser("mail.yahoo.com");
//ASSIGNED THE USER NAME AND LOGIN INFO
lt.AssignLoginInfo();
//CLICKED ON LOGIN/SUBMIT BUTTON
lt.lgn.getButton_signInsubmit().click();
//FURTHER ACTION CAN BE WRITTEN ACCORDIUNLGY
}

  5、你的脚本内容看起来应当如图10所示

  图10. 最后的脚本

  

  6、现在运行这个脚本,打开浏览器,输入用户名和密码,然后登陆到Yahoo帐户

  总结

  通过文章中概述的5个步骤你可以实现IBM 框架。这里的一些例子和代码片断都是跟 Rational Functional Tester 相关的。它们会随着其它IBM 框架的实现是否在使用另外一个工具而有所变化。

本周排行

别人正在浏览

强悍的草根IT技术社区,这里应该有您想要的! 友情链接:b2b电子商务
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号