用Nightwatch右键单击

时间:2015-03-12 13:45:16

标签: javascript nightwatch.js

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

3 个答案:

答案 0 :(得分:5)

好消息!!!

由于Nightwatch.js v0.6.13 ,您可以点击真正的右击: - )

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

答案 1 :(得分:1)

编辑: DOESN' TWORK 。无论如何我会留在这里。它可能会有所帮助。

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


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

答案 2 :(得分:1)

我对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

  

或者纯粹的JS:
   document.querySelector('。logo')。dispatchEvent(new CustomEvent('contextmenu'));

     

(比照   Trigger right click using pure Javascript

并查看目标网页:

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