我测试的应用程序有一些需要唯一数据的区域。具体来说,应用程序将生成一个只能使用一次的请求编号。测试运行后,我必须手动更新此数字的数据池参考。有没有办法使用java,我可以获取存储在我的数据池中的信息,将值增加1,然后将数据保存回数据池。通过这种方式,我可以保持rft与我的应用程序保持同步。
答案 0 :(得分:0)
以下是如何从数据池中读取值,将其递增1并将其保存回数据池的示例。它是书Software Test Engineering with IBM Rational Functional Tester中的一个改编的例子。原始源代码来自第5章(可以从书的主页下载)。
// some imports
import org.eclipse.hyades.edit.datapool.IDatapoolCell;
import org.eclipse.hyades.edit.datapool.IDatapoolEquivalenceClass;
import org.eclipse.hyades.execution.runtime.datapool.IDatapool;
import org.eclipse.hyades.execution.runtime.datapool.IDatapoolRecord;
int value = dpInt("value");
value++;
java.io.File dpFile = new java.io.File((String) getOption(IOptionName.DATASTORE), "SomeDatapool.rftdp");
IDatapool dp = dpFactory().load(dpFile, true);
IDatapoolEquivalenceClass equivalenceClass = (IDatapoolEquivalenceClass) dp.getEquivalenceClass(dp
.getDefaultEquivalenceClassIndex());
IDatapoolRecord record = equivalenceClass.getRecord(0);
IDatapoolCell cell = (IDatapoolCell) record.getCell(0);
cell.setCellValue(value);
DatapoolFactory factory = DatapoolFactory.get();
factory.save((org.eclipse.hyades.edit.datapool.IDatapool) dp);
我认为只需更改一个值就可以了很多代码 - 也许更容易使用其他方法,例如将值写入普通文本文件。