51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3939|回复: 7
打印 上一主题 下一主题

关于RFT8.1跨工程调用类及方法的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-11-26 16:45:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
模仿IBM的三层架构,建立了三个工程,分别封装对象层、业务层、用例层;
我在对象层封装好对象后,在对象层是可以对对象进行点击操作的;
然后将对象层打包成jar包,添加到业务层;
业务层调用对象层的方法时提示如下:
回放脚本期间发生异常:[OperateSurObj] [CRFCN0670E: 脚本 OperateSurObj 的第 36 行上的 RationalTestScriptException - com.rational.test.ft.RationalTestException:CRFCN0611E: 无法读取脚本定义文件:[F:\Gavin\IBM\rationalsdp\workspace\OperateSurObject\resources\GetSurObj.rftdef]。]。
下面是业务层和对象层的代码,麻烦高手指点下,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2011-11-26 16:47:03 | 只看该作者
为了方便解决,把对象层和业务层代码粘贴到二楼和三楼
对象层代码:

import resources.GetSurObjHelper;
import com.rational.test.ft.object.interfaces.GuiTestObject;
import com.rational.test.ft.object.interfaces.TestObject;
/**
* Description   : Functional Test Script
* @author Administrator
*/
public class GetSurObj extends GetSurObjHelper
{
/**城域监控系统window().
  * Script Name   : <b>GetSurObj</b>
  * Generated     : <b>2011-11-25 上午11:50:14</b>
  * Description   : Functional Test Script
  * Original Host : WinNT Version 5.1  Build 2600 (S)
  *
  * @since  2011/11/25
  * @author Administrator
  */
public void testMain(Object[] args)
{
  // TODO 在此插入代码
}
//获取顶层对象
public GuiTestObject GetRootObject()
{
  TestObject[] tos = null;
  GuiTestObject returnObject = null;
  System.out.println("开始查找root对象");  
  tos = find(atDescendant(".name","城域监控系统",".text","城域监控系统"));
  System.out.println("tos.length="+tos.length);
  //输出所有对象的属性
  for(int i=0;i<tos.length ;i++)
  {
   if(tos[i].getProperty(".class").equals("#32770")&&tos[i].getProperty(".processName").equals("SurveillanceUI.exe"))
   {
    System.out.println("找到对象");
    returnObject=(GuiTestObject) tos[i];
    return  returnObject;
   }
  }
  if (tos.length > 0)
  {
   return returnObject;
  }
  else
  {
   return null;
  }
}

//查找告警台按钮
public  GuiTestObject getAlarmButton()
{
  TestObject[] tos = null;
  TestObject returnObject = null;
  GuiTestObject root = new GetSurObj().GetRootObject();
  tos = root.find(atList(atDescendant(".class",".Pushbutton",".name","告警台"),atProperty(".text","告警台")));
  //输出所有对象的属性
  for(int i=0;i<tos.length ;i++)
  {
   if(tos[i].getProperty(".visible").equals(true))
   {
    System.out.println("找到对象");
    returnObject=(GuiTestObject) tos[i];
    return (GuiTestObject) returnObject;
   }
  }  
  return (GuiTestObject) returnObject;
}
  
}
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2011-11-26 16:48:18 | 只看该作者
业务层代码:

import resources.OperateSurObjHelper;

/**
* Description   : Functional Test Script
* @author Administrator
*/
public class OperateSurObj extends OperateSurObjHelper
{
        /**
         * Script Name   : <b>OperateSurObj</b>
         * Generated     : <b>2011-11-25 下午02:11:48</b>
         * Description   : Functional Test Script
         * Original Host : WinNT Version 5.1  Build 2600 (S)
         *
         * @since  2011/11/25
         * @author Administrator
         */
       
        public void testMain(Object[] args)
        {
                // TODO 在此插入代码
                this.clickAlarmButton();
        }
        //点击告警台按钮
        public boolean clickAlarmButton()
        {               
                GetSurObj.getAlarmButton().click(atPoint(5,5));               
        }       
}
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2011-11-30 14:15:35 | 只看该作者
问题已经自己解决,结贴
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2011-12-1 09:14:13 | 只看该作者
什么原因造成的?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2011-12-3 10:59:32 | 只看该作者
问了几个高手,结果很简单,按照IBM的ITCL架构建立文件夹,然后import相应的引用就好了,之前对java了解的太少了...
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2011-12-3 11:00:32 | 只看该作者
回复 5# 散步的SUN


    把被调用的配置文件拷到当前层得resource目录下就好了
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2011-12-16 10:15:31 | 只看该作者
为什么要跨工程,放同一个项目里不行?
为什么要打包成jar,需要经常Update的东西改起来岂不很麻烦
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-9 06:21 , Processed in 0.072186 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表