映射的 TestObjects 通常通过 getter 方法访问,例如
button().click();
// Other code
button().click();
// ...
button().click();
有什么理由我不应该检索一次 TestObject 并重用它?例如
GuiTestObject button = button();
button.click();
button.click();
button.click();
或者,换一种说法,RFT 生成 getter 方法而不是成员变量有什么原因?
我能想到的唯一潜在原因是避免占用被测应用程序的内存,但这对我来说没有任何意义;Java 终结器不可靠,所以我怀疑当 TestObject 被垃圾收集时,RFT 是否会释放任何资源。另外,即使我关闭并重新打开应用程序,我也可以继续使用相同的映射 TestObject,这表明 RFT 每次尝试使用它时都会重新查找(并随后取消注册)测试对象。
如果没有缺点,为什么我发现的每个引用都只能通过 getter 方法访问 TestObjects?例如,IBM RFT 的面向对象框架,清单 2 和 3。