Транспортир: подсчет всех элементов в виртуальном списке
У меня есть трудности с подсчетом всех элементов. Он показывает только 11 элементов одновременно. При прокрутке вниз первые заменяются следующими элементами.
Вот что у меня есть:
element.all(by.css('.task-virtual-scroll')).click()
browser.actions().keyDown(protractor.Key.CONTROL).sendKeys(protractor.Key.END).perform();
function StringtoNumber(promiseOrValue) {
if (!protractor.promise.isPromise(promiseOrValue)) {
// If it isn't a promise, then convert a value
return parseInt(promiseOrValue, 10);
}
return promiseOrValue.then(function(stringNumber) {
// If it is a promise, then convert the result to a number
return parseInt(stringNumber, 10);
});
}
expect(element.all(by.css('mat-card>mat-card>mat-card-header')).count())
.toEqual((StringtoNumber(element(by.css('#mat-badge-content-1')).getText())));
// Expect that the notifications are equal to the notification in the badge
1 ответ
Попробуйте функцию ниже, чтобы получить количество
async function getCount(){
ele = element.all(by.css('mat-card>mat-card>mat-card-header'));
let counter:number =0;
for(i=0;i<200;i++){
await browser.sleep(2000) // Adjust the wait time based on the time taken by the page to load the next set of items
if(ele.get(i).isPresent()){
await browser.executeScript('arguments[0].scrollIntoView()', ele.get(i));
await browser.sleep(2000);
counter++;
}else{
await console.log('Counted all the items');
break;
}
}
Используйте вышеуказанную функцию, чтобы получить количество элементов
Удалить:browser.actions().keyDown(protractor.Key.CONTROL).sendKeys(protractor.Key.END).perform();
Надеюсь, это поможет вам