#angular #cypress
Вопрос:
Вот мой тест. Я взял это из документации. Поскольку я проверяю, что при нажатии определенной кнопки она должна перенаправляться в другой домен, вот как я написал тест.
it('should redirect to some external website on click', () => {
cy.intercept(
'GET',
'http://localhost.com:4100?*',
(req: CyHttpMessages.IncomingHttpRequest) => {
req.followRedirect = false;
}
).as('redirect');
cy.get('#some-button').click(); //Clicking this button does the redirection
cy.wait('@redirect')
.its('request.url')
.should('include', 'value-A')
.and('include', 'value-B');
});
Все утверждения проходят. Однако он продолжает перенаправлять меня на внешний URL-адрес.
согласно документации, именно так можно запретить браузеру следовать перенаправлению.
cy.request({
url: '/dashboard',
followRedirect: false, // turn off following redirects
}).then((resp) => {
// redirect status code is 302
expect(resp.status).to.eq(302)
expect(resp.redirectedToUrl).to.eq('http://localhost:8082/unauthorized')
});
Как предотвратить перенаправление браузера на внешний веб-сайт? followRedirect = false
не работает.