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

Angularjs Docker容器中的量角器-等待加载整页,angularjs,docker,protractor,Angularjs,Docker,Protractor,这是我在StackOverflow上的第一篇帖子,所以请温柔一点 我正在用Docker容器运行一些量角器测试。 测试在容器外运行得很好,但在容器中,量角器不会等待一些角度的ajax调用来完全填充一些div it('Should check first years are equal', function () { var firstElementFirstYear = $$('div.cumulated div.street-table-value.ng-scope div.ng-bin

这是我在StackOverflow上的第一篇帖子,所以请温柔一点

我正在用Docker容器运行一些量角器测试。 测试在容器外运行得很好,但在容器中,量角器不会等待一些角度的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);
然后我得到一个索引越界异常

我试过:

  • 在beforeach中使用waitForAngular
  • 等待满足预期条件(计数>9),但得到timedout
  • 获取元素之前,请先休眠(4000)
  • 尝试用量角器调试工具定位我的元素,启动chrome浏览器,当我手动定位它们时,我得到了正确的10个元素
但我并没有得到所有需要的元素,元素的数量保持在5个,从来没有达到10个

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


谢谢

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

-e SCREEN_RES=1920x1080x24 

就这样!谢谢

向我们展示有问题的代码。这不是让Proactor等待。您必须等待承诺通过
解决,然后
使用$httpBackend模拟服务器端吗?
$$('div.someclass')。get(8)返回您必须解决的承诺。所以你要做
$$('div.someclass').get(8).then(函数(数据){})我确实试图等待承诺通过等待(和同步禁用)得到解决,但条件从未满足。除了docker容器外,它是满足的。我更新了我使用的示例。因为5.0.0版量角器不再支持元素上的
getInnerHtml()