Есть ли способ синхронизировать несколько функций cy.wait / - PullRequest
0 голосов
/ 16 марта 2020

Я работаю над кипарисовым тестом, который динамически создает несколько маршрутов. Общий пример этого выглядит следующим образом:

export const checkAndLoadApis = (apis, pageUrl) => {
  let allResponses = [];
  cy.server();
  cy.log(apis)
  apis.forEach((api, index) => {
    // Alias creation for API request
    cy.route(api).as('route'+Object.keys(api)[0]);
    cy.wait('route'+Object.keys(api)[0])
      .then(apiRes => {
        expect(apiRes.status).eq(200);
        allResponses[index] = apiRes;
    })
  });
  cy.visit(pageUrl);
  return allResponses;
}

значение ответа явно равно нулю, поскольку код выполняется асинхронно. Может ли кто-нибудь помочь мне улучшить код, пожалуйста? Использование обещаний или асинхронной / ожидающей структуры кажется сложным в коде кипариса.

...