#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-запроса, это должно сработать.