Cypress - Добавить пользовательский заголовок для всех запросов XHR - PullRequest
0 голосов
/ 01 марта 2019

Я заметил, что заголовок X-CSRFToken удаляется между тестами для всех запросов XHR, которые срабатывают из тестируемого приложения.Я не уверен, чтобы сохранить этот заголовок, так как я уже сохраняю Cookies через Cypress.Cookies.preserveOnce('sessionid', 'csrftoken')

Следовательно, я подумал о добавлении пользовательского заголовка X-CSRFToken ко всем запросам XHR из приложения.Вот сценарий, который я использовал, где я извлекаю csrftoken из файлов cookie и настраиваю его в пользовательский заголовок.

cy.server({
   onAnyRequest: function(route, proxy) {
        proxy.xhr.setRequestHeader('X-CSRFToken', cy.getCookie('csrftoken'));
   }
})

Здесь я получаю сообщение об ошибке ниже,

Argument of type '{ onAnyRequest: (route: any, proxy: any) => void; }' is not assignable to parameter of type 'Partial<ServerOptions>'.
  Object literal may only specify known properties, and 'onAnyRequest' does not exist in type 'Partial<ServerOptions>'.

Я ожидаю любого рабочего решения для этого подхода или лучшего решения.

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

Просто чтобы все знали, я связался с создателями Cypress и узнал, что обработка исходящего запроса находится в стадии разработки и может отслеживаться в - https://github.com/cypress-io/cypress/issues/687

0 голосов
/ 01 марта 2019

Я думаю, что вы ищете onRequest вместо onAnyRequest. Вот документация для cy.server вариантов

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