我在Nightwatch中编写了一个命令来测试接管元素。 该测试在Chrome中运行良好,但不在Edge中。
我注意到的是前两个锚元素的点击功能未被触发。如果我手动点击它们按预期关闭它们。 click事件适用于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;
};
答案 0 :(得分:0)
它似乎是Edge中的一个错误。 我能够使用thirth-party模块nightwatch-custom-commands-assertions
解决问题替换:
.click('css selector', "[data-rel='"+attribute.value+"']")
使用:
.jqueryClick("[data-rel='"+attribute.value+"']")
.jqueryClick是由maxgalbu编写的自定义nightwatch命令,它解决了我的问题。