Параллельные запросы в кипарисе - PullRequest
0 голосов
/ 02 апреля 2020

Я хочу сделать параллельные request с в кипарисе. Я определил команду для этого:

const resetDb = () => {
  const apiUrl = `${Cypress.config().baseUrl}/api`;
  Cypress.Promise.all([
    cy.request(`${apiUrl}/group/seed/resetDb`),
    cy.request(`${apiUrl}/auth/seed/resetDb`),
    cy.request(`${apiUrl}/email/seed/resetDb`),
  ]);
};
Cypress.Commands.add('resetDb', resetDb);

Однако, он все еще выполняет эти запросы в последовательности. Что я делаю не так?

1 Ответ

1 голос
/ 02 апреля 2020

Мне удалось решить эту проблему с помощью задачи в Cypress, которая позволяет использовать nodejs API.

В индексном файле плагинов я определяю задачу следующим образом:

const fetch = require('isomorphic-unfetch');

 module.exports = on => {
  on('task', {
    resetDb() {
      const apiUrl = `http://my.com/api`;
      return Promise.all([
        fetch(`${apiUrl}/group/seed/resetDb`),
        fetch(`${apiUrl}/auth/seed/resetDb`),
        fetch(`${apiUrl}/email/seed/resetDb`),
      ]);
    },
  });
};

Она может использоваться следующим образом:

before(() => {
  return cy.task('resetDb');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...