点击量角器中元素的给定坐标

Bow*_*er2 11 javascript mousemove angularjs-e2e protractor

我想点击我的canvas元素的特定位置,所以我写了下面的Protractor代码:

var canvas = element(by.id("canvas"));

var clickCanvas = function(toRight, toBottom) { 
  browser.actions()
    .mouseMove(canvas, -toRight, -toBottom)
    .click();
}
Run Code Online (Sandbox Code Playgroud)

toRight/ toBottom是应该进行单击的像素数,相对于画布的左上角.

但是,似乎没有在给定坐标处执行单击.我从软件质量保证和测试堆栈交换的相关问题中获得了片段.

你能确认这个片段有效吗?
你能建议替代品吗?

Olo*_*lov 20

我完成了这项工作,将表示坐标的对象作为第二个参数传递mouseMove:

var canvas = element(by.id("canvas"));

var clickCanvas = function (toRight, toBottom) { 
    browser.actions()
      .mouseMove(canvas, {x: toRight, y: toBottom})
      .click()
      .perform();
};
Run Code Online (Sandbox Code Playgroud)


Sir*_*irk 3

你错过了 .perform()

browser.actions().mouseMove(canvas, -toRight, -toBottom).click().perform();

我在测试中使用了几次并确认它有效