Кипарис, как вы посещаете два разных домена для одного теста?

#cypress

#кипарис

Вопрос:

У меня есть следующее:

 describe('Page not authenticated', () =gt; {  it('Page has authentication', () =gt; {  cy.visit('https://myauthsite.com/logout');  cy.visit('/', { failOnStatusCode: true });  cy.url().should('include', 'https://myauthsite.com/');  }); })  

По внутренним причинам пакет настроен так, чтобы у него всегда был постоянный сеанс, поэтому мне нужен тест для посещения определенного URL-адреса, который явно вышел бы из системы и «убил» сеанс, а затем посетил главную страницу, которую я пытаюсь протестировать, чтобы убедиться, что он перенаправляет меня на нужную страницу. Однако я сталкиваюсь с этой ошибкой

 You may only `cy.visit()` same-origin URLs within a single test.  The previous URL you visited was:   gt; 'https://myauthsite.com'  You're attempting to visit this URL:   gt; 'https://myactualsite.com'  You may need to restructure some of your test code to avoid this problem.  https://on.cypress.io/cannot-visit-different-origin-domain  

Многие из перечисленных обходных путей в основном касаются проверки атрибута вместо посещения URL-адреса или разделения посещений на два разных тестовых случая, но в моем случае мне действительно нужно, чтобы он был в своем собственном инкапсулированном тесте, разве это невозможно?

Ответ №1:

cy.request() не связан одной и той же политикой запросов между источниками, поэтому, если вы можете выйти из системы с помощью HTTP-запроса, это должно сработать.