51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6213|回复: 5
打印 上一主题 下一主题

RFT中DataPool的使用

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-7-16 17:25:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
开个新帖吧~
好多人都说RFT的数据池不好用,只能关联一个数据池
其实RFT有自己的方法去连接外部的数据池的 ,而且很方便。只要你管理好 你自己需要的数据池就可以了,其他的 都可以去手动 连接,不用在脚本中进行关联。

示例:

     //调用loginInfo数据池
     ConnDP connDP = new ConnDP();
     IDatapoolIterator logininfo = connDP.connLoginInfo();
ConnDP:
  /**
     * 连接LoginInfo数据池
     * @return
     */
    public IDatapoolIterator connLoginInfo() {
        String dpPath="\\com\\test\\LoginInfo.rftdp";
        IDatapoolIterator dp=connDP(dpPath);
        return dp;
}
  /**
     * 连接XXX数据池
     * @return
     */
    public IDatapoolIterator connXXX() {
        String dpPath="\\com\\test\\XXX.rftdp";
        IDatapoolIterator dp=connDP(dpPath);
        return dp;
}
  /**
     * 根据数据池路径连接数据池
     * @return
     */
        public IDatapoolIterator connDP(String dpPath) {
                //获取工程相对路径
                String ProjectPath=getCurrentProject().getLocation().toString();
                DatapoolScriptSupport dpss = new DatapoolScriptSupport();
                org.eclipse.hyades.execution.runtime.datapool.IDatapool dp;
                java.io.File dpfile = new java.io.File(ProjectPath+dpPath);
                dp = dpss.dpFactory().load(dpfile, true);
                IDatapoolIterator dpitr = dpss.dpFactory().open(dp, "");
                dpitr.dpInitialize(dp);
                return dpitr;
        }

[ 本帖最后由 tthhbbandy 于 2008-7-16 17:29 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-7-16 23:00:01 | 只看该作者
不错,学习了.
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-8-6 17:45:48 | 只看该作者

非常感谢!受益匪浅

String ProjectPath=getCurrentProject().getLocation().toString();
java.io.File dpfile = new java.io.File(ProjectPath+"//aa.rftdp");
DatapoolScriptSupport dpss = new DatapoolScriptSupport();
IDatapool dp = dpss.dpFactory().load(dpfile, true);
IDatapoolIterator dpitr = dpss.dpFactory().open(dp, "");             
dpitr.dpInitialize(dp);
while(!dpitr.dpDone())
{
setDatapool("rowNumber","10");
storeDatapool();//----如何往脚本里指定的aa数据池里更新数据阿?
dpitr.dpNext();
}
上面这个脚本会把脚本关联的数据池bb更新了,而不更新aa,不知道大侠在关联多个脚本的时候如何实现运行时更新数据池阿?还请不吝赐教!

[ 本帖最后由 ezabella 于 2009-8-7 11:31 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-9-18 19:04:37 | 只看该作者
非常好用。谢谢楼主
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-3-26 15:25:27 | 只看该作者
以上方法确实能解决在脚本中读入多个数据池的功能,但不知道是否有方法对多个数据池进行写入?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-3-27 02:00:52 | 只看该作者
不过为何要关联多个数据池?

其实我不太推荐大家使用数据池,在一个企业级的自动化测试架构中,使用数据库作为数据驱动源会更好。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-8 20:58 , Processed in 0.068107 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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