google搜索 51Testing站内搜索                    软件测试门户 | 软件测试培 训 | 文章资料精选 | 软件测试论坛 | 软件测试博客 | 测试招聘求职 
打印

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

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


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

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

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

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

TOP

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

Mercury Customer Support Portal为了RFT我卸载了QTP

TOP

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

TOP

能的,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 编辑 ]

TOP

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

TOP

引用:
原帖由 tthhbbandy 于 2008-1-16 16:13 发表
能的,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。并引用其中的变量就会报错了。

TOP

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

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

TOP

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

TOP

 
当前时区 GMT+8, 现在时间是 2008-10-12 06:45Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹