使用 Rational Functional Tester V8.0 精确地识别及验证 Graphical Editing Framework(GEF)图形
2010-06-08 00:00:00 来源:WEB开发网如果你的应用程序包含很多 GEF 图形,并且需要操作的 GEF 对象是不确定的,那么你就需要动态寻找你所需要的 GEF 图形。下面将讲述如何针对 GEF 编写健壮的识别代码。
针对 GEF 编写健壮的识别、操作、以及验证代码
健壮的识别代码
由于大多数情况下应用程序会使用到很多 GEF 图形,并且数量、类型,以及名称都不确定,使用对象映射图已经无法帮助我们有效地识别各种图形对象。这种情况下我们需要动态地查找 GEF 图形。在上一节我们讲过 GEF 图形的层次,diagram->node->connector,在查找时我们就要应用这个层次去精确地定位所需对象。
比如需要在画布上寻找一个已知名字的节点,我们可以在脚本中利用 find 方法来查找它的 name 属性,传入它的名字 nodeName 作为参数,抑或其他如 text、tooltip 等已知属性。注意找准该节点的 parent,也就是画布 diagram。在例 3 中,this.getDiagramPartDiagram 就是 node 的 parent。
清单 3. 利用 find 动态查找名字为”nodeName”的节点
//return the node with given name "nodeName"
public GefEditPartTestObject getNode(String nodeName) {
//wait for the existence of diagram
this.getDiagramPartDiagram().waitForExistence();
//look for the node with given name "nodeName", and the class type is node
TestObject[] to = this.getDiagramPartDiagram().find(atChild("name", nodeName,
".figureclassname","com.ibm.db2zos.ifa.vcbeditor.figures.NodeFigure"));
//if more than 1 node are identified, throw the ambiguous exception
if (to.length > 1)
throw new AmbiguousRecognitionException(
"There are more than 1 object identified.");
return new GefEditPartTestObject(to[0]);
}
Tags:使用 Rational Functional
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接