使用moveTo或moveToElement悬停

时间:2016-04-19 18:32:07

标签: nightwatch.js

我无法使用以下代码和selenium独立2.53.0和Firefox 50.0.2661.75 m或Chrome最新版本来获取链接的背景颜色:

虽然在测试期间我没有看到鼠标移动,但是在状态栏的浏览器窗口底部,我确实看到URL更改为链接的HREF。

我似乎无法触发任何元素的悬停事件,因此背景颜色始终是默认颜色,而不是悬停的声明颜色。关于这个的任何想法?

browser.moveToElement('a[href="http://www.foo.com"]',2,2, function() {
    browser.pause(2000)
           .getCssProperty('a[href="http://www.foo.com"]', "background-color", function(results){
             console.log('color: ' + results);
       });
});

如果我从回调中移除了getCssProperty,我仍然没有为悬停获得正确的背景颜色而没有看到鼠标指针移动:

   browser.moveToElement('a[href="http://www.foo.com"]',2,2)
          .pause(2000)
          .getCssProperty('a[href="http://www.foo.com"]', "background-color", function(results){
             console.log('color: ' + results);
       });

1 个答案:

答案 0 :(得分:0)

您不会看到物理鼠标指针移动。 Selenium不会移动鼠标,只是模拟浏览器中的事件。

此外,如果您的物理鼠标位于窗口中,它将会混乱生成的事件,您将看不到正确的颜色变化等。

修复:如果要测试悬停,请在测试开始前将实际鼠标移动到屏幕的右下角。在测试期间将它留在那里。