第一次为内部网站编写Cypress(cypress Io框架)自动测试(http://XXXX:8089/)。访问该网站主页需要使用活动目录的特殊权限(获取Windows凭据并检查用户是否属于某个组或具有某个角色)。测试脚本非常简单:
describe('The Home Page', function() {
it('successfully loads', function() {
cy.visit('http://XXXX:8089/')
})
})
收到 401 - 未经授权的错误消息。尝试用嵌入式 Windows 凭据替换 url,如 http://username:password@xxxx:8089/,得到相同的错误。通过google找不到解决方案。希望有人能帮我解决这个问题。多谢。
我遇到了这个问题并通过以下方式解决:
添加 {failOnStatusCode: false} 将忽略状态,因为 Cypress 将停止任何 40X 状态的运行,因此使用 {failOnStatusCode: false} 将告诉 cypress 继续
cy.visit('/', {failOnStatusCode: false});
这是我每次测试前登录的方式。
const login = () => {
cy.visit('http://0.0.0.0:8080/#/login');
cy.get('#username').type('username');
cy.get('#password').type('1234password$');
cy.get('#login-button').click();
}
describe('UI', () => {
// beforeEach(login);
beforeEach(() => {
login();
Cypress.Cookies.preserveOnce('session_id', 'remember_token');
});
});
我希望这可以帮助任何面临这个问题的人。
cy.visit('http://XXXX:8089/', {
auth: {
username: 'admin',
password: 'admin123',
}
});
这个帮助我解决了 401 Unauthorized 问题。显然,当您访问网站时面临基本身份验证时,这可以帮助您解决问题。
我在 GitHub 上找到了适合我的问题的解决方案。您可以在这里查看:https://github.com/cypress-io/cypress/issues/21213