Одна и та же политика происхождения Cypress, два разных порта

#port #cypress

Вопрос:

Веб-сайт имеет следующий URL: localhost:3000/….. Я хотел бы позвонить на веб-сайт с URL: localhost:4000/…. с помощью cy.visit() в одном тесте. К сожалению, это не работает из-за одной и той же политики происхождения (у меня два разных порта). Не могли бы вы, пожалуйста, помочь мне. Что мне делать?

Я хочу это сделать:

 beforeach (=> {cy.visit('localhost:3000/.....')})
it(=> {cy.visit('localhost:4000')})
 

Большое спасибо

Ответ №1:

Это хорошо известно в мире кипарисов, об этом упоминается в документации. Если это не подходит для вашего контекста, вам не следует выбирать Cypress в первую очередь. Тем не менее, я бы также поставил под сомнение необходимость посещения разных источников в одном тесте.

Если вам действительно нужно это сделать, прочтите эту часть документации Cypress. Это возможно:

  • для посещения разных источников в разных тестах
  • вы можете использовать .request() команду для запроса любого источника, независимо от того, какую страницу вы посетили .visit()

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

1. — посещение разных источников в разных тестах не помогло . Я просто сделал это и показал мне сообщение об ошибке:

2. .запрос() мне совсем не помогает. Мне абсолютно необходимо протестировать сайт с помощью cy.visit.

3. — и я уже читал эту часть выше в cypress doc.

4. — Я делаю что-то вроде этого: beforeEach(() => { cy.visit(‘локальный хост:300/….’) }) это(» , =>> { cy.посещение(‘localhost: 4000/….’)})

Ответ №2:

Политика одного и того же источника действительна, потому что вы посещаете ее в разделе «До». Это может быть легко решено, если вы нанесете визит в начале каждого it дела. В моей практике использование beforeach оказалось трудным для создания и поддержки, потому что оно должно настраивать разные случаи, и для каждого случая лучше настраивать его в своем коде.

Если это не сработает — просто разделите дело в другой файл и сгруппируйте их в папку.

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

1. это работает, я знаю, что хотел другого решения. большое спасибо. Затем я буду использовать это решение. большое спасибо