На моей странице часто задаваемых вопросов есть несколько элементов расширения, поэтому я хочу протестировать их все.
При записи моего прибора и / или теста в секции foreach
терминал отображает ошибку
ERROR no test to run.
Я не понимаю, почему
Я пытался обернуть единственный тест в foreach
и все приборы с тестом, результат тот же.
fixture('check FAQ expand items').page(URL.local.faq)//.meta({ status: 'indev' })
.beforeEach(async () => {await waitForReact();
})
.before(async t => {
await waitForReact();
await list();
}).only;
faqItems.forEach( (element) => {
test(`check that ${element.getReact(({key})=>key)} is present`, async t => {
await t.expect(element.find('[expanded={true]]').exists).ok();
});
});
Я ожидаю, что в тестовом кафе будет faqItems.length
количество тестов в приспособлении "проверить FAQ, развернуть пункты"
Я запускаю тесты с командой testcafe chrome faq.test.ts
снимок экрана с результатами теста запуска
UPD
let faqItems: Array<Selector> = [faq.item];
async function list() {
const count = await faq.item.count;
console.log(`count = ${count}`)
for (let i = 0; i < count; i++) {
await faqItems.push( await faq.item.nth(i));
console.log(await faqItems[i].getReact(({key})=> key));
}
}
fixture('check FAQ expand items').page(URL.local.faq)//.meta({ status: 'indev' })
.beforeEach(async () => {
await waitForReact();
await list();
})
faqItems.forEach((element)=>{
test(`check that ${element.getReact(({key})=>key)} is present`, async t => {
await t.expect(element.find('[expanded={true}]').exists).ok();
});
})
результат фото