#loops #testing #automated-tests #selector #testcafe
#циклы #тестирование #автоматизированные тесты #селектор #testcafe
Вопрос:
У меня есть таблица со столбцом значков. У каждого значка есть класс «test», а затем «test» [некоторый рейтинг]. Рейтинг может быть A, B, C, XX, YY. Я хотел бы выбрать группу значков и перебрать их, выделить последний класс (тот, у которого есть рейтинг), а затем ожидать, что мой набор classConsts содержит рассматриваемый класс. Я провел кучу исследований, но могу найти только примеры взаимодействия с каждым из элементов, я не уверен, что я делаю неправильно, пытаясь вместо этого проверить классы для каждого. Любая помощь приветствуется, спасибо.
Приведенный ниже код взрывается, когда я вызываю mrArray.nth, говоря, что это не функция (извините, это немного запутанно, пришлось изменить имена некоторых переменных)
test('Sers are verified', async t => {
const IconArr = Selector('#testtable .test');
var count = await IconArr().count;
var myArray = await IconArr();
const classConsts = ["testClassA", "testClassB", "testClassC", "testClassXX", "testClassYY"]
let mySet = new Set(classConsts);
for(let i = 1; i <= count; i ){
console.log(mySet.has(myArray.nth(i).classNames.pop()));
};
});
Ответ №1:
myArray
больше не является объектом селектора после выполнения его как асинхронной функции. Пожалуйста, обратитесь к следующей справочной статье для получения дополнительной информации DOMNodeState.
Кроме того, индекс начинается с 0, а не с 1. Ваш код может выглядеть следующим образом:
for(let i = 0; i < count; i ){
let classes = await IconArr().nth(i).classNames;
console.log(mySet.has(classes.pop()));
};
Вы всегда можете отладить свои тестовые примеры, чтобы увидеть, что пошло не так:
https://devexpress.github.io/testcafe/documentation/recipes/debugging/chrome-dev-tools.html