Cypress SSO重定向后如何传递基本身份验证?
我是Cypress和JS的新手。如果未登录,我正在测试的应用程序将重定向到存根IDP页面。该应用程序还支持基本身份验证。我在考试中所做的就是Cypress SSO重定向后如何传递基本身份验证?,cypress,Cypress,我是Cypress和JS的新手。如果未登录,我正在测试的应用程序将重定向到存根IDP页面。该应用程序还支持基本身份验证。我在考试中所做的就是 cy.visit(“https://username:password@app_url.com”) 这会将我重定向到存根IDP页面,在该页面中,我按 cy.contains('button','login')。单击()。这将重定向回应用程序主页 然而,重定向后,它会提示我再次填写基本身份验证。是否有方法传递重定向后记住的基本身份验证头 存根IDP用于基于S
cy.visit(“https://username:password@app_url.com”)
这会将我重定向到存根IDP页面,在该页面中,我按
cy.contains('button','login')。单击()。这将重定向回应用程序主页
然而,重定向后,它会提示我再次填写基本身份验证。是否有方法传递重定向后记住的基本身份验证头
存根IDP用于基于SAML的SSO,这项工作太多,或者说我缺乏创建服务器请求以获取身份验证令牌的知识。现在正在寻找一个简单的解决方法。我也遇到了同样的问题,我只是用cy.intercept()解决了它。
您必须在新的重定向URL上使用cy.intercept
,并将基本授权标头添加到请求中
生成基本身份验证标头,您可以在此处生成:
找到目标URL,您可以在应用程序主页上找到它
- 可能有几个重定向,当在开放模式下运行测试时,您可以找到最后一个带有基本身份验证的重定向,取消弹出窗口后,您将在运行程序中看到这一点
- “新url”就是您想要的
在测试中,在单击按钮之前添加intercept()
命令。将授权头添加到传出请求,该请求在重定向测试时触发
cy.intercept(``,(req)=>{
请求头['Authorization']=`;
});
在这里,您可以阅读有关向传出请求和拦截功能添加标题的更多信息: