Тайм-аут Cy.request () без видимой причины - PullRequest
1 голос
/ 23 января 2020

В настоящее время я тестирую приложение с помощью Cypress. Это приложение имеет интерфейс (API) и интерфейс. Cypress используется для тестирования внешнего интерфейса.

Перед началом теста мы инициализируем базу данных внутреннего интерфейса, чтобы она находилась в состоянии, необходимом для теста. Мы достигаем этого, отправляя прямые запросы к бэкэнду, используя cy.request().

Вот код одного из запросов на кипарис (этот проблемный c один):

Cypress.Commands.add("assignCityToTerritory", (territory, cityId) => {
  return cy.request({
    method: 'POST',
    url: Cypress.env('apiUrl') + '/territories/' + territory.id + '/city-assignment',
    headers: {
      Authorization: 'Bearer ' + window.localStorage.getItem('jwt')
    },
    body: {
      city: {
        id: cityId
      }
    }
  }).then(response => {
    return response
  })
})

Здесь возникает проблема:

  • Если мой бэкэнд работает локально, а мой интерфейс подключается к моему локальному бэкэнду, это нормально работает.
  • Если я использую ту же версию бэкэнда, но на удаленном сервер, cy.request() истекает и говорит, что никогда не получает ответа от сервера
  • В этом же тесте другие вызовы с cy.request() на удаленный бэкэнд работают нормально как раз перед проблемной c один. Например, этот:
Cypress.Commands.add("create", (itemType, itemData) => {
  cy.log("# Creating " + itemType)
  return cy.request({
    method: 'POST',
    url: Cypress.env('apiUrl') + '/' + itemType + '/',
    headers: {
      Authorization: 'Bearer ' + window.localStorage.getItem('jwt')
    },
    body: itemData
  }).then(response => {
    return response
  })
})
  • Точно такой же запрос (тот же URL, тот же метод, та же полезная нагрузка) работает хорошо, когда отправляется через почтальона на удаленный сервер, и сервер отвечает почти сразу .
  • Несмотря на то, что кипарис не получает ответ от удаленного бэк-энда, указанный бэк-энд выполняется и отвечает на запрос кипариса. По какой-то причине, похоже, кипарис не знает об ответе.

Вывод: Понятия не имею, почему этот параметр c cy.request() превышен

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