macker 发表于 2008-1-9 22:43:05

请教:一个RFT脚本中能否引用多个数据池?

我在脚本里使用了两个数据池,其中一个是想共用其他脚本的数据池,具体如下:
除了脚本中的专用数据池外,另外还通过IDatapool dp = dpss.dpFactory().load(dpFile, true)引用了另外一个外部的csv数据池。但是脚本回放时,一执行到有调用外部csv数据池中的变量时就报错:

失败 Script1.testMain 有未经处理的异常。
exception_name = org.eclipse.hyades.execution.runtime.datapool.DatapoolException
exception_message = 数据池中找不到变量名

一个script中如何才能引用多个数据池?请指教。

[ 本帖最后由 macker 于 2008-1-9 22:44 编辑 ]

lovetest6 发表于 2008-1-10 17:41:47

一个脚本只能引用一个数据池吧。

macker 发表于 2008-1-10 22:40:23

是啊,好像rft不支持一个脚本对应多个数据池

tthhbbandy 发表于 2008-1-16 16:13:21

能的,RFT并不是那么弱。
DatapoolScriptSupport dpss = new DatapoolScriptSupport();
org.eclipse.hyades.execution.runtime.datapool.IDatapool dp;
java.io.File dpfile = new java.io.File("D:\\RFT\\com\\datapool\\login.rftdp";);
dp = dpss.dpFactory().load(dpfile, true);
IDatapoolIterator dpitr = dpss.dpFactory().open(dp, "");
dpitr.dpInitialize(dp);
System.out.println(dp.dpString("UserName"));
System.out.println(dp.dpInt("UserNo"));

[ 本帖最后由 tthhbbandy 于 2008-1-16 16:16 编辑 ]

tthhbbandy 发表于 2008-1-16 16:18:06

还可用工程路径+数据池相对路径,更为方便,只要数据池文件在工程文件夹内。

macker 发表于 2008-2-28 00:38:44

原帖由 tthhbbandy 于 2008-1-16 16:13 发表 http://bbs.51testing.com/images/common/back.gif
能的,RFT并不是那么弱。
DatapoolScriptSupport dpss = new DatapoolScriptSupport();
org.eclipse.hyades.execution.runtime.datapool.IDatapool dp;
java.io.File dpfile = new java.io.File("D:\\RFT\\com ...

谢谢。
但是你举的这个例子只有一个数据池文件啊。如果在同一个脚本中要再打开一个xxx.rftdp。并引用其中的变量就会报错了。

tofel 发表于 2008-3-27 14:48:01

从RFT的角度来看,RFT定义的数据池只能有一个,但是从广义的DATADriven的角度来看,可以直接编写java类的方式来调用多个数据源。

我做的一个自动化测试,调用了RFT的数据池,CSV文件,XML文件,甚至使用readline从log文件中提取数据用于自动化测试。

macker 发表于 2008-4-23 21:41:10

没错。
RFT可以通过API接口实现多个数据池,不过写起来麻烦。
还是自己写个读写文件的接口来的方便。也是java语言的优势所在。
不过还是希望RFT能在后续版本能够改进吧,毕竟通过可视化界面的操作更加利于推广使用。

xishuai0328 发表于 2011-5-30 12:01:16

我这边基本上就没用到数据池的功能
都是用解析excel+配置文件实现的
效果也不错
不过就是有点慢
页: [1]
查看完整版本: 请教:一个RFT脚本中能否引用多个数据池?