锚点上的夜巡点击事件在边缘不起作用



我在Nightwatch中编写了一个命令来测试接管元素。该测试在Chrome中工作正常,但在Edge中不起作用。

我注意到的是,前两个锚元素上的单击功能没有被触发。如果我手动单击它们,它会按预期关闭它们。单击事件确实适用于 DOM 中较低的按钮元素。

这是我的命令:

exports.command = function(client) {
    client.elements('css selector', '[data-action="takeover"]', function(elements) {
      elements.value.forEach(function(element){
        client.elementIdAttribute(element.ELEMENT, 'data-rel', function(attribute) {
          client
          .click('css selector', "[data-rel='"+attribute.value+"']")
          .waitForElementVisible(''+attribute.value+'', 5000)
          .collapsibleInTakeover(attribute.value, client)
          .keys(client.Keys.ESCAPE)
          .pause(250)
          .waitForElementNotVisible(''+attribute.value+'', 5000)
        });
      });
    });
    return;
};

这似乎是 Edge 中的一个错误。我能够使用第三方模块夜巡-自定义-命令-断言解决问题

取代:

.click('css selector', "[data-rel='"+attribute.value+"']")

跟:

.jqueryClick("[data-rel='"+attribute.value+"']")

.jqueryClick是由maxgalbu编写的自定义夜巡命令,它解决了我的问题。

最新更新