Cypress中仅需密码的基础认证问题求助
解决Cypress中仅需密码的基础认证问题
以下是几种针对仅要求密码、无需用户名的基础认证场景的可行方案:
手动构造Authorization请求头
基础认证的核心是Authorization: Basic <base64编码的user:pass>字符串,当无需用户名时,构造空用户名+冒号+密码的组合并编码,直接在请求头中设置:Given("I log in to Staging", () => { const authToken = btoa(`:password`); // 编码":password" cy.visit("https://mywebsite.com", { headers: { Authorization: `Basic ${authToken}` } }); });尝试非空占位用户名
部分服务器对空用户名的处理存在兼容问题,可尝试将用户名设为空格、"guest"等占位值:Given("I log in to Staging", () => { cy.visit("https://mywebsite.com", { auth: { username: ' ', // 用空格作为占位用户名 password: 'password', }, }); });处理自定义认证弹窗
如果网站使用的是自定义的密码弹窗(而非浏览器原生基础认证弹窗),则需要手动操作DOM元素完成登录:Given("I log in to Staging", () => { cy.visit("https://mywebsite.com"); // 根据实际页面元素选择器调整 cy.get('input[type="password"]').type('password'); cy.get('button[type="submit"]').click(); });
内容的提问来源于stack exchange,提问作者user23625907
相关产品推荐
相关产品推荐

