Могу ли я включить тайм-аут cy.wait () вместо того, чтобы он выдавал ошибку? - PullRequest
0 голосов
/ 25 февраля 2020

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

Если бы я мог заставить cy.wait() не выдавать утверждение об ошибке ( поэтому не останавливая тест) я мог бы включить состояние ответа xhr, чтобы попытаться через x промежуток времени. например;

context("upload trades", () => {
    specify("handling cold-start delay", () => {
      // attempt system action which will "warm up" cold lambdas
      cy.uploadTradeForTomorrow("validTrade_CME_to_KochCE");

      // implicitly wait for timeout to occur when posting trade list
      cy.wait("@postTradeLists").then(request => {
        // handle cold start
        if (request.status !== 200) {
          cy.log(
            "non-200 response; assuming cold start, adding delay and trying again"
          );
          cy.wait(30000);

          // refresh page to re-load Trade Uploads page
          // given lambda's now hot
          cy.visit("/");

          cy.uploadTradeForTomorrow("validTrade_CME_to_KochCE");

          // wait for second post, anticipating 200 response (hot-start)
          cy.wait("@postTradeLists");
        }
      });

      // check file uploaded successfully
      cy.contains("File uploaded successfully").should("be.visible");
      cy.get("button")
        .contains("OK")
        .should("be.enabled");
    });
  });

Однако в настоящий момент происходит сбой на линии cy.wait("@postTradeLists"), когда ответ 504 (или, более вероятно, время ожидания 30000 мс) разрешается с сервера.

Есть ли способ сделать это, что я не знаю? Чрезмерное гугление не дает результатов. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...