如何使用 Protractor 等待行加载
How to wait for rows to load with Protractor
我正在尝试使用量角器 select 一行、计数行等。这似乎不起作用:
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 );
});
它似乎试图在加载行之前找到行。测试一直失败 'Expected 0 to equal 25'。
如果我使用 browser.sleep
我可以让它工作,但必须有比这更好的解决方案。
如何让量角器等待 Angular ui-grid 完全加载?
我会用 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()
的函数,直到它的计算结果为真或发生超时(5 秒后)。
我正在尝试使用量角器 select 一行、计数行等。这似乎不起作用:
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 );
});
它似乎试图在加载行之前找到行。测试一直失败 'Expected 0 to equal 25'。
如果我使用 browser.sleep
我可以让它工作,但必须有比这更好的解决方案。
如何让量角器等待 Angular ui-grid 完全加载?
我会用 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()
的函数,直到它的计算结果为真或发生超时(5 秒后)。