RFT中DataPool的使用
开个新帖吧~好多人都说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 编辑 ] 不错,学习了.
非常感谢!受益匪浅
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 编辑 ] 非常好用。谢谢楼主 以上方法确实能解决在脚本中读入多个数据池的功能,但不知道是否有方法对多个数据池进行写入? 不过为何要关联多个数据池?
其实我不太推荐大家使用数据池,在一个企业级的自动化测试架构中,使用数据库作为数据驱动源会更好。
页:
[1]