#angular #cypress #cache-control
#angular #cypress #контроль кэша
Вопрос:
В настоящее время я использую Cypress 6.4.0, который запускает мое приложение Angular. Это приложение Angular вызывает маршрут синхронизации времени серверной части в начале. Мы перехватываем этот вызов через:
cy.wait('/api/t', { requestTimeout: 10_000 }).then((req) => {
expect(req.response!.statusCode).to.equal(200);
// some extra stuff...
});
Это работает для первого теста, но второй всегда терпит неудачу. Я проверил сетевой журнал, и кажется, что второй ответ приходит из кэша браузера.
Сначала я подумал, что серверная часть или кэш Angular удалили заголовки pragma
and no-cache
, но при запуске приложения без Cypress заголовки остаются.
В моем тесте есть 2 теста, а второй завершается неудачей. Или, если у меня есть 1 тест в нем и перезагрузите его в браузере Cypress с помощью R
.
Итак, есть ли способ отключить кэширование в Cypress?
Ответ №1:
Проверьте сообщение о проблемах с перехватом в блоге Глеба Бахмутова
cy.intercept('/todos', req => {
delete req.headers['if-none-match']
})