2016-05-31 203 views
0

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

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

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

但他们没有藏汉工作。

而我的第二个问题是,当我尝试在Windows上启动相同的测试时,它们全部失败,因为缺少定位符等。是因为浏览器的结构差异或我的测试写得不好。

回答

1

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

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

它还解决问题缺少定位器,becouse将有时间在Windows加载。

0

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

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

+0

不要紧,我讨厌我的第一个问题 var sgpt = require('sg-protractor-tools');''' sgpt.scroll.scrollTo ''' 但仍然有问题在Windows上启动此测试:) – Hikaryu

相关问题