我测试的应用程序有一些需要唯一数据的区域。具体来说,应用程序将生成一个只能使用一次的请求号。在我的测试运行之后,我必须手动更新这个数字的数据池引用。有没有什么办法使用java,我可以获取存储在我的数据池中的信息,将值增加一,然后将数据保存回数据池。这样我就可以让 rft 与我的应用程序就这个数字保持同步。
问问题
1668 次
1 回答
0
下面是一个示例,如何从数据池中读取一个值,将其递增 1,然后将其保存回数据池。这是一个改编自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);
我认为简单地更改一个值需要很多代码——也许使用其他方法更容易,比如将值写入普通文本文件。
于 2014-04-17T08:26:26.400 回答