使用gojs实现UI自动化



有关于如何彻底使用gojs实现UI自动化的文档吗?我只想将托盘上的控件拖动并链接到画布上,以创建流程图。请帮忙。我只需要指向一个教程或参考资料就可以开始了。

我不确定您到底想要什么,但您是否使用Robot类来模拟用户输入?https://gojs.net/latest/extensions/Robot.html

// a shared Robot that can be used by all commands for this one Diagram
robot = new Robot(myDiagram);  // defined in Robot.js

然后可以进行以下操作:

function clickLambda() {
var lambda = myDiagram.findNodeForKey("Lambda");
if (lambda === null) return;
var loc = lambda.location;
// click on Lambda
robot.mouseDown(loc.x + 10, loc.y + 10, 0, { });
robot.mouseUp(loc.x + 10, loc.y + 10, 100, { });
// Clicking is just a sequence of input events.
// There is no command in CommandHandler for such a basic gesture.
}

或:

function dragFromPalette() {
// simulate a drag-and-drop between Diagrams:
var dragdrop = { sourceDiagram: myPalette, targetDiagram: myDiagram };
robot.mouseDown(5, 5, 0, dragdrop); // this should be where the Alpha node is in the source myPalette
robot.mouseMove(60, 60, 100, dragdrop);
robot.mouseUp(100, 100, 200, dragdrop); // this is where the node will be dropped in the target myDiagram
// If successful in dragging a node from the Palette into the Diagram,
// the DraggingTool will perform a transaction.
}

使用chrome浏览器并选择加载GoJ的框架。使用控制台并选择mainGoJs图表名称。

我们在Selenium Java文件中使用以下JavaScriptExecutor来自动化GoJs组织结构图。

((JavascriptExecutor) driver).executeScript(""
+ "for(let i = 0; i <"+count+"; i++)"
+ "{"
+ "var key= dgmOrganizationUnit.model.nodeDataArray[i].key;"
+ "var node = dgmOrganizationUnit.findNodeForKey(key);"
+ "var ntxt= node.text; "
+ "if (ntxt==='"+ parentname+"')"
+ "{"
+ "dgmOrganizationUnit.centerRect(node.actualBounds);"
+ "dgmOrganizationUnit.select(node);"
+ "}"
+ "}"
);

dgmOrganizationUnit是GoJs的主要ORG单元框架Containter。在chrome DevTools"控制台"上的应用程序中输入一个类似的名称,你会看到所有参数弹出。

相关内容

  • 没有找到相关文章

最新更新