Как мне собрать список ссылок на странице, а затем перевернуть и проверить каждый?Javascript

Форум по Javascript
Ответить
Anonymous
 Как мне собрать список ссылок на странице, а затем перевернуть и проверить каждый?

Сообщение Anonymous »

У меня есть модальный компонент, который используется на многих страницах на моем сайте. Я хочу пройти каждую страницу на моем сайте, собрать серию ссылок на этой странице, которые запускают модальный и проверяют каждый, чтобы увидеть, появляется ли модальный. На некоторых страницах может быть одна модальная ссылка, некоторые страницы могут иметь несколько. < /P>
Я создал следующий тест: < /p>

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

describe('I am testing the Modals on ' + modalUrls.length + ' pages.', () => {
let triggerLinksObj = {};
modalUrls.forEach(function(page, index) {
it(`It accesses ${page}`, () => {
cy.visit(page);
});

it(`Collects modal trigger links on ${page}`, () => {
cy.get('[data-modal-trigger]').each(($triggerLink, index) => {
const modalId = $triggerLink.attr('data-modal-trigger');
if (modalId) {
triggerLinksObj[index] = modalId;
}
})
});

Object.entries(triggerLinksObj).forEach(([key, val]) => {
it(`Processes modal link with ID: ${val}`, () => {
cy.task('log', `Processing modal link with key: ${key}, value: ${val}`);
//do the tests with the modal
});
});
});
});
Но блок It в Foreach просто не работает.
Я могу поместить foreach в блок It как таковой:

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

            it(`Processes modal links`, () => {
Object.entries(triggerLinksObj).forEach(([key, val]) => {
cy.task('log', `Processing modal link with key: ${key}, value: ${val}`);
//do the tests with the modal
});
});
Но если у меня есть несколько модалов, и один сбой, то все модальные тесты сбой.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... t-each-one
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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