Cypress, как продолжать вызывать API конца до получения ожидаемого результата или тайм-аута - PullRequest
0 голосов
/ 03 января 2019

Мне нужно создать тестовый пример, для которого нужно вызвать метод API get, чтобы получить некоторую информацию, но внутреннему серверу иногда требуется время для обработки, поэтому мне нужно создать цикл, чтобы продолжить вызывать " get »метод API до получения ожидаемого результата или тайм-аута.

псевдокод выглядит следующим образом

string responseMessage;    
for(i=0, i<10, i++) {
   responseMessage = callGetApi();
   if (responseMessage == "success") {
      exit loop;
   }else {
      wait 1 seccond;
   }
}

но я не знаю, как создать такой код на Cypress, пожалуйста, помогите!

1 Ответ

0 голосов
/ 03 января 2019

Использовать async / await:

it('Test loop', async function() {
 for(let i=0; i<10; i++) {
   await Cypress.Promise(resolve => {
     cy.request(your_url).should(response => {
       expect(response.status).to.eq(200);
       resolve();
     });
   }
 }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...