我试图使用量角器来选择行,计算行数等。这似乎不起作用:
var GridTestUtils = require('./gridObjectTestUtils.spec.js');
var GridTestObj = new GridTestUtils('exampleGrid');
var Grid = GridTestObj.getGrid();
browser.wait(function(){
return Grid.isPresent();
}, 1000).then(function(){
GridTestObj.expectRowCount( 25 );
});
好像它们在重新加载之前试图找到这些行。测试保持失败,预期0等于25'。
如果我使用browser.sleep
,我可以让它工作,但必须有一个更好的解决方案。
如何告诉量角器等待Angular ui-grid完全加载?
答案 0 :(得分:1)
我会使用browser.wait()
和自定义预期条件执行此操作:
var rows = Grid.element( by.css('.ui-grid-render-container-body')).all( by.repeater('(rowRenderIndex, row) in rowContainer.renderedRows track by $index') );
browser.wait(function () {
return rows.count().then(function (countValue) {
return countValue > 0;
});
}, 5000);
在这种情况下,protractor
将连续执行传递到browser.wait()
的函数,直到它的计算结果为true或超时发生(在5秒内)。