| 网站首页 | 测试咨讯 | 新手入门 | 专注性能 | 测试技术 | 测试管理 | 测试工具 | 开发社区 | 工具下载 | 资料下载 | 测试论坛 | 

[CNTester联盟群]交流群:34446273/21968356/64461572 白盒群:18400216 自动化群:2706508 性能群:4498858 外包群:59649884 管理群(需有管理经验):64442523

新手入门
 入门指南
 经验之谈
测试咨讯
 行业新闻
 网站动态
 人才就业
 CNTester基金
 标准规范
专注性能
 性能测试知识
 性能测试工具
 程序设计性能
 数据库性能
 Web应用服务器性能
 操作系统性能
 服务器与网络性能
测试技术
 用例设计
 性能测试
 自动化测试
 Web测试
 面向对象测试
 综合技术
 阶段性测试
 行业类测试
测试管理
 项目管理
 项目案例
 质量管理
 软件过程
测试工具
 Mercury系列
 Rational系列
 测试管理工具
 性能测试工具
 功能测试工具
 单元测试工具
 其它测试工具
开发社区
 Java技术
 DotNet技术
 C技术
 数据库技术
 操作系统
 服务器与中间件
工具下载
 测试工具
 开发工具
 企业工程
 网络通信
 媒体桌面
 游戏娱乐
 其他工具
资料下载
 测试资料
 程序设计
 数据库
 操作系统
 应用服务器
 电子期刊
 其他资料
 
 
您现在的位置: 中国测试员网站 >> 测试工具 >> 功能测试工具 >> Robot >> 文章正文
  [组图]对比使用 Rational Robot 和 Rational Functional Tester 进行测试           ★★★ 【字体:
对比使用 Rational Robot 和 Rational Functional Tester 进行测试
作者:Andreas …    文章来源:IBM developerworks    点击数:    更新时间:2007-10-13    
本文是为那些疑惑转换到 Rational Functional Tester 是否真的那么容易的 Rational Robot 的用户准备的。答案是:简单。利用定制的验证点作为实例,本文将对比这两种产品,向您展示它们的使用是多么相似。

引言

使用 IBM® Rational® Robot 的客户常常问,从 Rational Robot 迁移到 IBM® Rational® Functional Tester (RFT) 上有多难。本文使用了一些实例来告诉您进行迁移是多么容易,并且用户的使用经验是多么相似。人工编码可以增加测试脚本的功能和稳定性,所以人工验证点将是比较和对比 Rational Robot 和 RFT 的基础。要介绍一些实际的实例,就有必要在此验证点周围建立某种逻辑。该逻辑安排在不同的部分中:

  • 读取 Place Order 按钮的文本属性(参见图 1)
  • 打开并创建文件
  • 将文本属性写入该文件
  • 打开另一个文件,并读取该文件的内容(期望值=BASELINE)
  • 将基线与实际结果比较
  • 撰写一条日志消息

每一个部分都显示出为 Rational Robot 和 RFT 编码的区别。此外,所有的实例测试脚本包含同样的内容。尽管 RFT Java™ 脚本实例包含额外的错误处理。解释 Rational Robot 和 RFT 是什么已超出本文的范围。本文也不介绍如何记录并回放测试脚本。


 

安装与配置

您应该安装以下内容:

  • Rational Robot
  • RFT Java
  • RFT VB .NET
  • Java ClassicsB Application

使用记事本(或者类似的纯文本编辑器),创建一个名为 Expected.txt 的文件,内容是Place Orders,并且将其保存在 C:\ 之下。其将作为之前提到的基线文件。要为此实例配置您的环境,按照以下步骤:

  1. 在安装完 Rational Robot 之后,运行 Java 测试启动器,单击 Start > Programs > Rational Software > Rational Test > Java Enabler
  2. 在安装完 Rational Functional Tester 之后,启动环境并启动用于测试的应用程序。要做到这些,在 RFT 菜单上单击Configure > Enable Environment for Testing and Configure > Configure Application for Testing
  3. 使用该实例代码的最佳途径是获取一个名为 read_and_write 的空脚本,复制实例脚本来替代它。
  4. 打开对象映射并插入 Place Order 按钮,如图 1 所示。

图 1. Place Order 按钮
Place Order 按钮 

 

创建一个人工验证点

图 2 例举了在每个产品中的人工验证点编码。


图 2. 对验证点编码
对验证点编码

Rational Robot SQA Basic 命令中,您需要在脚本中撰写对象识别参数,这需要对您的部分进行额外的考虑。然后,将来自属性(Property)文本的值分配给字符串变量 MyText。一般来说,将所有可识别属性分配给一个变量是可能的。RFT 脚本中的对象指向对象映射中的对象。要输入代码,使用编辑器功能是非常有帮助的。在这种情况下,输入前两个字符并按下 strg 和 space 键。一个有效方法的列表出现了,您可以快速简单地进行选择。

在 Java 和 VB .NET 脚本中,您可以直接从左到右阅读验证点。这使您更容易理解其内容。例如:String 变量 strProperty_Text 的内容等于与对象 placeOrder 有关的内容。对象和方法之间的关系位于对象之后。

在此实例中,方法为 getProperty。要指定属性,您需要输入属性的类型(“Text”)。这样 srtProperty_text 变量从placeOrder 对象那里获得了文本(Place Order)的属性值。





回页首


创建并打开文件

在此部分中,脚本将打开文件 c:\Buton_Text.txt 并保存属性值文本,如图 3 所示。


图 3. 脚本打开文件并保存属性文本
脚本打开文件并保存属性文本

通过此实例,应该更加清楚的是,在 Rational Robot 和 RFT 中,创建此类验证方法的命令和功能是类似的。在每个产品中,用三行代码创建、打开并撰写文件都是可能的。

打开并阅读文件

图 4 显示如何打开文件 c:\Expected.txt 并在 String 中书写内容。
图 4. 打开并阅读文件
打开并阅读文件

比较数据

图 5 中的脚本比较了两个 String 变量并生成了一个日志消息。
图 5. 比较数据
比较数据

如您所见,除了一些开发环境的细节,两个产品之间的编码差别是极小的。不论您使用 Rational Robot 或是 RFT,实现此类编码的工作是一样的。此外,如果您知道SQA-Basic 命令,那么在测试脚本中实现额外的功能 —— 利用 RFT 编辑器(输入开头字符并按下 Strg 和 Space 键)的帮助—— 是很容易的。

清单


清单 1. Rational Robot 脚本:SQA Basic
				
Sub Main
    Dim Result As Integer
    Dim MyText as Variant
    Dim strFilename as String
    Dim intFileNum as Integer
    Dim strZeile as String
    Dim strLine as string
    strFileName= "c:\Button_Text"
    intFileNum = FreeFile()
    'Script Name: read_and_write
    
 
    StartJavaApplication Class:=
    """C:\Program Files\IBM\Rational\SDP\6.0\FTSamples\ClassicsJavaB.jar""", 
    JvmKey:="Java", JvmOpts:="-jar"
    
    Window SetContext, "Caption=ClassicsCD", ""
  
    Result = SQAGetPropertyAsString("Type=PushButton;Name=Place Order", "Text", MyText)
    Open strFilename For Output AS # intFileNum
    Print #intFileNum,MyText    
    ' The Value of the Pushbutton property text will be save in c:\Button_Text 
    Close # intFileNum
   
    'Open the file to read the content 
     If strLine = myText then
        SQALogMessage sqaPass, "The Button Text is correct: " + MyText, ""
            else
            SQALogMessage sqaFail, " Expected Pusch-button-Text = " + strLine, 
            "The Button Text is incorrect"
     end if
End Sub 


清单 2. RFT 脚本:Java
				
import resources.read_and_writeHelper;
import java.io.*;
import javax.swing.JOptionPane;

public class read_and_write extends read_and_writeHelper
{
	/* Before you can use this script you must create a c:\Expected.txt file
	 * Write the value inside this file and save it.
	 * Description   : Functional Test Script
	 * @author Andreas Franke
	public void testMain(Object[] args)
	 {
	    FileWriter f1;
	    BufferedReader f2;
		String line;
		startApp("ClassicsJavaB");  
		String strProperty_Text=(String)placeOrder().getProperty("Text");
// Read the property Text from the Pushbutton
    try 
	    {
		 f1 = new FileWriter("c:\\Button_Text.txt");    
		 // create a an outputfile
	               f1.write(strProperty_Text);		
	     // write the result from strProperty_Text in this file
	               f1.close();
	    } 
	    catch (IOException e) 
	    {
	        System.out.println("ERROR to create the folder");
	        logTestResult("ERROR to create the folder", false); 
	        // Write an Error-message in the tes-tmanager- 
    log
	    }
	     try 
	   {
		  f2 = new BufferedReader(new FileReader("c:\\Expected.txt"));
		  while ((line = f2.readLine()) != null)
		           {
		             if (line.equalsIgnoreCase(strProperty_Text))
		       	       {
		       	        logTestResult("The Button Text is correct", true);
		       	       } 
		       	    		else 
		       	    		{
		       	    		logTestResult("The Button Text is incorrect ", false,
		       	    		"Expected '"+line+"' but found '"+strProperty_Text+"'");
		       	    		JOptionPane.showMessageDialog(null,line,"The Button Text is
 incorrect",JOptionPane.INFORMATION_MESSAGE);
		       	    		}
		           	}
		      f2.close();
		     } 
		 	 catch (IOException e) 
		 	 {
		       System.out.println("Can`t find File");
		       logTestResult("Can`t find File", false);
		     }
	}
}


清单 3. Rational Functional Tester 脚本:VB .NET
				
#Region " Script Header "
' Functional Test Script
' author Administrator
Imports Microsoft.VisualBasic
Imports Rational.Test.Ft
Imports Rational.Test.Ft.Object.Interfaces

Public Class read_and_write 
    Inherits read_and_writeHelper

    'Script Name   : read_and_write

     'author Andreas Franke

    Public Function TestMain(ByVal args() As Object)
        StartApp("ClassicsJavaB")
        
        ' Frame: ClassicsCD
        REM PlaceOrder().Click()
        Dim strFilename As String = "c:\Button_Text"
        Dim strExpected As String = "c:\Expected.txt"
        Dim strProperty_text As String
        Dim intFileNum As Integer
        Dim strLine As String
        
        intFileNum = FreeFile()

        strProperty_text = PlaceOrder.GetProperty("Text")
        MsgBox
        (strProperty_text, MsgBoxStyle.Information, "The Text on the Pushbutton is")
        FileOpen(intFileNum, strFilename, OpenMode.Output)

Print(intFileNum, strProperty_text)   
' The Value of the Pushbutton property text will be save in 
   'c:\Button_Text 
        FileClose(intFileNum)
        FileOpen(intFileNum, strExpected, OpenMode.Input)
        Input(intFileNum, strLine)
  If strProperty_text = strLine Then
    LogTestResult
    ("The Pushbutton Text is correct", True, "Expected Text = Actual Text")
  Else
    LogTestResult
    ("The Pushbutton Text is incorrect!! Expected Text is :
    " + strLine, False, "but found the actual Text : " + strProperty_text)
    MsgBox
    (strProperty_text, MsgBoxStyle.Critical, "The Curent Text is not the expected Text")
End If

End Function
End Class
	



参考资料

学习

获得产品和技术

讨论


关于作者

Andreas Franke 是 IBM 德国股份有限公司的高级 IT 专家。你可以通过 FRANKE1@de.ibm.com 联系他。

文章录入:root    责任编辑:root 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
    最新热点 最新推荐 相关文章
    · 常用软件测试工具简介!
    · Test Director 8.0安装配置!
    · Parasoft Jtest 7.5.59 使用手册
    · Test Director 8.0项目数据库维护和移植!
    · 使用CQ TestManager 运行并分析软件测试
    · TestDirector 8.2 SP2的下载与安装
    · Mercury WinRunner 软件试用 下载
    · Winrunner TSL命令简介
    · Mercury TestDirector 软件试用 下载
    · JTest7.59定义——JAVA 编码标准规范
    · 初识IBM Rational RobotJ
    · 使用 Rational Robot 实现自动化测试
    · 使用CQ TestManager 运行并分析软件测试
    · 常用软件测试工具简介!
    · 使用Functional Tester 6.1 进行功能测试
    · 使用Functional Tester 6.1 进行功能测试
    · 使用Functional Tester 6.1 进行功能测试
    · 使用Functional Tester 6.1 进行功能测试
    · 使用 EclEmma 进行覆盖测试
    · JTest7.59定义——JAVA 编码标准规范
    使用Rational Robot测试含有
    使用 IBM Rational Robot 测
    在 VU 脚本中使用 HTTP 连接
    使用 Rational Robot 实现自
    使用IBM Rational Robot对Tu
    基于 IBM Rational Robot 的
     
     
     
    ======> [CNTester联盟群]交流群:34446273/21968356/64461572 白盒群:18400216 自动化群:2706508 性能群:4498858 外包群:59649884 管理群(需有管理经验):64442523
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | 

    Copyright@2007 by CNTester.com 中国测试员网站 桂ICP备07005590

    本站为开源免费网站,非商业赢利性组织。本站文章部分从网络搜索获取,如果您认为某些侵犯了您的权益,麻烦您联系本站,我们会尽快删除相关内容,同时也希望您的谅解,我们的初衷是为了让更多人去学习这方面的知识,让行业有更好的发展。

    联系电话: 15021358905