Как я могу использовать Cypress для извлечения множества элементов, а затем провести тест по каждому из этих элементов?Javascript

Форум по Javascript
Anonymous
Как я могу использовать Cypress для извлечения множества элементов, а затем провести тест по каждому из этих элементов?

Сообщение Anonymous »

У меня есть большое меню на моем сайте. Я хочу создать тест, который тестирует каждую ссылку индивидуально в своей собственной функции .

Код: Выделить всё

let linkArr = [];
describe('I am on desktop view of a page to check the main menu links', () => {
before(() => {
cy.visit(pageUrl);
cy.get('.main-header a').each(($link) => {
linkArr.push($link);
})
});

linkArr.forEach(link => {
it(`Ensures the link works`, () => {
checkLink(link);
const linkText = (link.prop('text').replace("/n", "")).trim();
stepReportNotes(reportObj, testName, `${link.prop('href')} on '${linkText}' returns 200 or 301`);
});
});
});
< /code>
Но это не так. Цикл Foreach 
, по -видимому, работает одновременно с функцией до () , так что Linkarr пуст.
Это выполняет свою работу, если я обернут foreach в It Eg:

Код: Выделить всё

it(`Ensures each link works`, () => {
linkArr.forEach(link => {
checkLink(link);
const linkText = (link.prop('text').replace("/n", "")).trim();
stepReportNotes(reportObj, testName, `${link.prop('href')} on '${linkText}' returns 200 or 301`);
});
});
Но тогда я на самом деле выполняю только один шаг, и если одна ссылка не удастся, этот весь шаг терпит неудачу.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... st-against

Вернуться в «Javascript»