Cypress — cy.visit() не удалось загрузить

#javascript #node.js #cypress

Вопрос:

Проблема

Я запускаю интеграционный тест для Cypress, который отлично работает локально, но терпит неудачу, когда я запускаю его в Gitlab. Ошибка, которую я получаю при использовании cy.visit() команды, приводит к следующей ошибке:

 CypressError: `cy.visit()` failed trying to load:
http://localhost:3000/ The response we received from your web server
was:
  404: Not Found
 

Конфигурация

Я запускаю тест со следующими командами:

 tests:
  image: cypress/base:10
  stage: tests
  script:
    - npm ci
    - npm run test:ci
 

Команды выглядят так в моем package.json :

       "scripts": {
        "start:ci": "serve dist --no-clipboard --listen ${PORT:-3000}",
        "test": "cross-env NODE_ENV=test amp;amp; npm run test:jest amp;amp; npm 
run test:cypress",
        "test:ci": "start-server-and-test start:ci http://localhost:3000 test",
        "test:cypress": "cypress run --headless",
        "test:jest": "jest",
      },
 

Исследования

Я изучил ошибку и нашел эту тему, которая помогла мне немного разобраться в проблеме. Затем я попытался добавить в свой cypress.json файл следующую конфигурацию:

 {
  "baseUrl": "http://localhost:3000"
}
 

но я все равно получаю ту же ошибку. С чего бы это?

Комментарии:

1. Попробуйте добавить wait-on и посмотрите, по-прежнему ли это не удается docs.cypress.io/guides/continuous-integration/…

2. Боюсь, это не помогло

3. это дало ту же ошибку или что-то еще? Я хочу знать, есть ли проблема в запуске:ci не удалось запустить в gitlab или проблема с конфигурацией теста cypress

4. Время просто истекает, а затем у процесса заканчивается память. Я попробовал другой подход со страницы, которую вы отправили, используя start-server-and-test рекомендованный ими, который вы можете видеть как test:ci сценарий, но результат был тот же

5. о, я скучал по этому, ты прав. Он должен устанавливать все

Ответ №1:

Добавьте косую черту в конец URL-адреса или, если вы можете удалить косую черту при размещении запроса.