0
这是我在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。
- 等待一个预期的条件(计数> 9)得到满足,但它获得的元素
- 试图找到我的元素与量角器调试工具之前得到已逾时
- browser.sleep(4000),启动Chrome浏览器和我正确地得到我的10个元素,当我手动找到他们
但我不设法得到所需的所有元素,元素的数量保持在5,从来没有去10
什么否则我可以尝试等待Angular完成ajax调用和popula我的div?
谢谢!
向我们展示有问题的代码。 – FCin
这不是让protactor等待。你必须等待promise使用'then'来解析并且不使用$ httpBackend模拟服务器端? – Walfrat
$$('div.someclass')。get(8);'返回一个你必须解决的承诺。所以你做'$$('div.someclass')。get(8).then(function(data){});' – FCin