量角器测试适用于Firefox,但在Chrome

时间:2016-05-31 13:27:39

标签: javascript windows ubuntu protractor automated-tests

虽然我使用的是带有firefox(ubuntu)46的量角器,但我所有的测试都是绿色的,但是当我使用chrome时,其中一些失败因为browser.executeScript('window.scrollTo(0,10000);');命令无法正常工作。我试图使用:

var elm = element(by.sth) browser.executeScript("arguments[0].scrollIntoView();", elm.getWebElement());

scrollIntoView : function(){ arguments[0].scrollIntoView(); }

但他们也没有工作。

我的第二个问题是,当我尝试在Windows上开始相同的测试时,他们都因为缺少定位器而失败等等。这是因为浏览器的结构差异还是我的测试写得不好。

2 个答案:

答案 0 :(得分:1)

我解决了问题。 问题在于承诺,我们必须将browser.executeScript('window.scroll(0,600);')视为承诺,所以如果测试太快,它就会失败。 解决方案正在使用:

browser.executeScript('window.scroll(0,600);').then(function(){
    return this;
});

它还解决了丢失定位器的问题,因为有时间在Windows上加载。

答案 1 :(得分:0)

您确定需要使用scrollIntoView吗?我在我测试的应用程序中有滚动条,但是Protractor会在需要时自动滚动。

否则,了解有关失败的更多详细信息会很有帮助。你得到什么错误信息?在什么情况下称为你的功能?您的代码摘录可能有所帮助。