#javascript #jasmine #protractor
#javascript #jasmine #транспортир
Вопрос:
Я пытаюсь подсчитать строки таблицы с помощью транспортира. Ниже приведен мой код
this.rowNumbersInFileMatches = async function () {
expect(await locator.Student_List_Table.isPresent()).toBeTruthy();
// This is test using conventional .then function
$$('#studentListTable > tbody > tr').then(function(Rows){
R1 = Rows.length;
console.log('Number of Rows in Then Method' R1);
});
//This is using async await
let R2 = $$('#studentListTable > tbody > tr');
console.log('n*** Number of Rows in the table is : ' await R2.length);
};
Когда скрипт выполняет .затем блокирует, он правильно идентифицирует строки и возвращает номера строк, но при использовании функции async await он возвращает undefined.
Ниже приведен соответствующий журнал:
Started
..Total number of records to be shown: 2
.
*** Number of Rows in the table is : undefined
Number of Rows in Then Method2
Как я могу исправить это в методе async await? Я пытаюсь избежать .затем функция полностью.
Ответ №1:
$$
который является псевдонимом для element.all
возвращает объект ElementArrayFinder, у которого есть метод count. Следовательно, ваш код может быть переписан следующим образом
const items = $$('#studentListTable > tbody > tr');
const countOfItems = await items.count();