Docker容器中的量角器 - 等待整页加载

时间:2017-02-15 11:52:50

标签: angularjs docker protractor

这是我在StackOverflow上的第一篇文章,所以请保持温和。

我正在使用Docker容器运行一些Protractor测试。 测试很好地从容器中运行,但在其中,量角器不会等待一些Angular ajax调用来完全填充一些div。

it('Should check first years are equal', function () {
    var firstElementFirstYear = $$('div.cumulated div.street-table-value.ng-scope div.ng-binding.ng-scope').get(8).getInnerHtml().then(function(text) {return text.trim();});
    var secondElementFirstYear = $$('div.cumulated div.street-table-value.ng-binding.ng-scope').get(8).getInnerHtml().then(function(text) {return text.trim();});
    expect(firstElementFirstYear).toEqual(secondElementFirstYear);
},10000);

然后我得到索引越界异常

我试过了:

  • 在beforeEach中使用waitForAngular。
  • a等待预期条件(计数> 9),但它会超时
  • 获取元素之前
  • browser.sleep(4000)
  • 尝试使用量角器调试工具找到我的元素,启动chrome浏览器,当我手动找到它时,我正确地获取了10个元素

但是我没有设法获得所需的所有元素,元素的数量保持在5而从不到10。

我还有什么可以尝试等待Angular完成ajax调用并填充我的div?

谢谢!

1 个答案:

答案 0 :(得分:0)

你是对的@FCin,这些元素实际上是隐藏的。我用以下方法启动无头量角器容器时调整了屏幕分辨率:

-e SCREEN_RES=1920x1080x24 

就是这样!谢谢!