在特定情况下,我必须完全控制我的鼠标,而actions()
课程我无法完成。
在我的应用程序中有一个地图,并且有一个功能,它使用套索选择地图的某些部分(比如我们用套索绘制一个圆圈,选择用红色圆圈表示),然后只有一个弹出窗口来进一步导航,但当我使用下面的动作类
var loc = element(by.xpath("//span[@id='imgLasso']"));
browser.actions()
.mouseMove(loc, {x: 550, y: 436})
.mouseDown()
.mouseMove({x: 700, y: 236})
.perform();
实际的鼠标移动并没有发生,除了使用Java机器人类之外我没有找到任何解决方案,因此我想创建一个批处理文件,它使用机器人方法调用Java类,但是我是不知道怎么做。
更新
it("working with lasso",function() {
browser.sleep(5000);
element(by.xpath("//span[@id='imgLasso']")).click();
var plot0 = element(by.xpath("//span[@id='imgLasso']"));
browser.sleep(2000); // intentional wait
browser.actions()
.mouseMove({x: 100, y: 100})
.mouseDown()
.mouseMove({x: 400, y: 0})
.perform();
browser.sleep(8000);
element(by.xpath("//*[@id='imputTerritory']")).sendKeys("NewTeritory");
});
执行上面的代码,这是我的观察:
var plot0
行,代码正常执行。browser.action()...
仅在量角器关闭Chrome之前执行。不知道为什么。 (我还包括睡眠来验证)只是为了添加这段时间,我没有在代码中传递任何plot0
元素,我只是在执行上述规范之前手动将鼠标指针保留在地图上。
答案 0 :(得分:0)
我认为您在链中缺少testarr_sorted = testarr.sort(key=lambda vv: v[0], v[-1])
事件