右键单击守夜人
Right Click with Nightwatch
我正在尝试使用 Nightwatch 测试我的 GUI。我似乎找不到如何模拟右键单击。我浏览了 API 参考页 (http://nightwatchjs.org/api) 并到处搜索。我在这里错过了什么吗?因为我认为右键点击应该是最基本的功能之一。
编辑:这不起作用。不管怎样,我要把它留在这里。它可能会有所帮助。
我找到了解决方法。 mousebuttonDown() 方法允许使用左键、中键和右键单击。它们分别被分配了 0,1 和 2。所以下面以某种方式模拟右键单击:
"Right Click to Show ContextMenu" : function (browser) {
browser
.moveToElement(/*locate your element here*/)
.mouseButtonDown(2)
.mouseButtonUp(2)
.end();
}
我对 selenium-webdriver 有同样的问题...
但现在我正在使用 Nightwatch.js 的解决方法:
"Right Click to Show ContextMenu" : function (browser) {
// inject script in client
browser.execute(function(selector){
// dispatch "context menu" event
$(selector).trigger('contextmenu');
return true;
}, ['#menu'])
.pause(5000)
.end();
}
(比照Nightwatch API)
Or in pure JS :
document.querySelector('.logo').dispatchEvent(new CustomEvent('contextmenu'));
(cf.
Trigger right click using pure Javascript)
并检查您的目标网页:
$('#menu').on('contextmenu', function () {
alert('context menu');
//return false; // cancel default menu
});
好消息!!!
自 Nightwatch.js v0.6.13,您可以触发 真正的右键单击 :-)
"Right Click to Show ContextMenu" : function (browser) {
browser
.moveToElement('#targetElement')
.mouseButtonClick('right')
.pause(5000)
.end();
}
我正在尝试使用 Nightwatch 测试我的 GUI。我似乎找不到如何模拟右键单击。我浏览了 API 参考页 (http://nightwatchjs.org/api) 并到处搜索。我在这里错过了什么吗?因为我认为右键点击应该是最基本的功能之一。
编辑:这不起作用。不管怎样,我要把它留在这里。它可能会有所帮助。
我找到了解决方法。 mousebuttonDown() 方法允许使用左键、中键和右键单击。它们分别被分配了 0,1 和 2。所以下面以某种方式模拟右键单击:
"Right Click to Show ContextMenu" : function (browser) {
browser
.moveToElement(/*locate your element here*/)
.mouseButtonDown(2)
.mouseButtonUp(2)
.end();
}
我对 selenium-webdriver 有同样的问题...
但现在我正在使用 Nightwatch.js 的解决方法:
"Right Click to Show ContextMenu" : function (browser) {
// inject script in client
browser.execute(function(selector){
// dispatch "context menu" event
$(selector).trigger('contextmenu');
return true;
}, ['#menu'])
.pause(5000)
.end();
}
(比照Nightwatch API)
Or in pure JS :
document.querySelector('.logo').dispatchEvent(new CustomEvent('contextmenu'));(cf. Trigger right click using pure Javascript)
并检查您的目标网页:
$('#menu').on('contextmenu', function () {
alert('context menu');
//return false; // cancel default menu
});
好消息!!!
自 Nightwatch.js v0.6.13,您可以触发 真正的右键单击 :-)
"Right Click to Show ContextMenu" : function (browser) {
browser
.moveToElement('#targetElement')
.mouseButtonClick('right')
.pause(5000)
.end();
}