Подделка сетевых запросов не XHR для Cypress - PullRequest
1 голос
/ 01 мая 2020

У меня есть приложение AngularJS, и я пытаюсь использовать Cypress, чтобы заглушить некоторые сетевые запросы, которые он делает. В настоящее время моя проблема связана с запросом с типом ресурса Img. Я знаю из документации Cypress, что Cypress не может заглушить не-XHR типы / запросы ресурсов, но Я ищу обходной путь .

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

Я изучил следующее и обнаружил, что они бесполезны в этом сценарии:

  • Sinon. js - Аналогично может обрабатывать только запросы XHR.
  • nock - Заменяет http.request узла, но, похоже, это не работает в Cypress. Это может сработать, если я добавлю его прямо в код своего приложения, чего я предпочитаю не делать.

Я также попробовал следующее, но безуспешно:

  • mockserver - Запустил mockserver и добавил expectation, но ни один из запросов, сделанных к mockserver, не показывал go через.
  • Service Worker API - Не был уверен, как register мой работник службы, так как в качестве входных данных требуется файл .js. Какой файл .js будет использоваться в качестве входных данных, если я управляю работником сервиса через Cypress?
  • фиктивный сервер, использующий express - Проблема в том, что приложение работает на localhost:<some_port>, а фиктивный сервер работает на localhost:<some_other_port>. У меня проблемы с указанием номеров портов при создании запроса через приложение. По сути, мое приложение на самом деле не учитывает разные номера портов.

РЕДАКТИРОВАТЬ:

Я успешно создал фиктивный сервер с использованием express , Согласно документации Cypress, серверы не должны запускаться и останавливаться в пределах before() и after(). Вместо этого их следует запускать до запуска Cypress и останавливать после остановки Cypress.

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