WEB开发网
开发学院软件开发Java 使用 Rational Functional Tester V8.0 精确地识别... 阅读

使用 Rational Functional Tester V8.0 精确地识别及验证 Graphical Editing Framework(GEF)图形

 2010-06-08 00:00:00 来源:WEB开发网   
核心提示: 如果你的应用程序包含很多 GEF 图形,并且需要操作的 GEF 对象是不确定的,使用 Rational Functional Tester V8.0 精确地识别及验证 Graphical Editing Framework(GEF)图形(4),那么你就需要动态寻找你所需要的 GEF 图形,下面将

如果你的应用程序包含很多 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]); 
} 

上一页  1 2 3 4 5 6  下一页

Tags:使用 Rational Functional

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接