У меня есть веб-сайт, где вы отправляете форму, которая начинает работу на сервере.Чтобы начать эту работу, вы отправляете запрос, а в ответ получаете обратно идентификатор работы.Затем мой веб-сайт отправляет запросы на получение статуса этой работы, пока она не будет завершена.
С кипарисом я хочу дождаться завершения задания, чтобы перейти к следующему шагу.Для этого мне нужно знать, когда работа будет завершена.Я использую axios для выполнения запросов и хочу добавить перехватчик ко всем запросам, которые делает axios, чтобы я мог искать тот, который создает задание, чтобы получить его идентификатор, а затем искать запросы, которыеполучить его статус, чтобы я мог знать, когда он закончится.
Я пытался это сделать, но когда я импортировал экземпляр axios из файла запроса, я заметил, что любые файлы console.logs, которые есть в моем файле запроса, печатаются дважды.Это подразумевает, что когда cypress импортирует переменную, он снова запускает файл, что означает, что cypress не имеет доступа к экземпляру axios, который фактически делает запросы, а вместо этого к новому экземпляру, используемому только кипарисом.
Когда я печатаю process.env.NODE_ENV, он печатает дважды с двумя разными значениями
Я знаю, что могу печатать переменную env с Cypress.env('NODE_ENV')
, но ясно, что кипарис неиспользуя ту же переменную scope / enviornment, что и мой файл API.Я также попытался установить для моего cypress.json значение
{
"env" : {
"NODE_ENV" : "development"
}
}
и запустить его в верхней части моего тестового файла process.env.NODE_ENV = Cypress.env('NODE_ENV')
, но это не сработало.Я также попытался export NODE_ENV = development
в терминале, где я звоню кипарис, но это не сработало.Также это скрипт из моего package.json, который я использую для вызова Cypress "cypress": "./node_modules/.bin/cypress open"
, и я использую Cypress 3.1.0 и узел 9.5.0
Возможно ли вообще Cypress взаимодействовать с переменными?Я просто неправильно установил свой кипарис или узел?