右键单击夜巡

Right Click with Nightwatch

本文关键字:夜巡 单击 右键      更新时间:2023-09-26

我正在尝试用Nightwatch测试我的GUI。我似乎找不到如何模拟右键单击。我浏览了 API 参考页面(http://nightwatchjs.org/api)并到处搜索。我在这里错过了什么吗?因为我相信右键单击应该是最基本的功能之一。

好消息!!

从守夜人.js v0.6.13开始,你可以触发真正的右键单击:-)

"Right Click to Show ContextMenu" : function (browser) {
  browser
   .moveToElement('#targetElement')
   .mouseButtonClick('right')
   .pause(5000)
   .end();
}

编辑:这不起作用。无论如何,我都要把它留在这里。它可能会以某种方式有所帮助。

我找到了一个解决方法。 mousebuttonDown() 方法允许使用左、中和右键单击。它们分别被分配为 0,1 和 2。因此,以下内容以某种方式模拟了右键单击:


"Right Click to Show ContextMenu" : function (browser) {
    browser
       .moveToElement(/*locate your element here*/)
       .mouseButtonDown(2)
       .mouseButtonUp(2)
       .end();
}

我对硒网络驱动程序有同样的问题......

但是现在我正在为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();
}

(参见守夜人API)

或者在纯JS中:
document.querySelector('.logo').dispatchEvent(new CustomEvent('contextmenu'));

(参看。 使用纯Javascript触发右键单击)

并检查您的目标网页:

   $('#menu').on('contextmenu', function () {
      alert('context menu');
      //return false;     // cancel default menu
   });