量角器向元素发送滚动命令(div等)

时间:2014-11-24 17:09:41

标签: selenium-webdriver protractor

在量角器端对端测试中,如何设置元素(例如div)的滚动值,而不是整页。

通过jQuery,人们可以简单地称之为$('.myElement').scrollTop(100);。这是因为在我的端到端测试中,我想测试当一个特定的<div>滚动时,我想断言另一个<div>必须滚动才能保持同步。

2 个答案:

答案 0 :(得分:4)

我需要相同的机制,我创建了下面的util方法,它对我来说很好。 ;)

    element.getLocation().then(function (location) {
        return browser.executeScript('window.scrollTo(' + location.x + ' , ' + location.y + ')');
    });

在Btw中,以下内容也有效:

browser.actions().mouseMove(element).perform();

选择你的收藏。 ;)

我更喜欢第一个,因为第二个也会触发mouseOver样式事件。

答案 1 :(得分:1)

selenium没有提供在元素级别滚动的方法。

如果jquery代码执行滚动操作,则在浏览器中运行该代码,如此

driver.executeScript("$('.myElement').scrollTop(100);");