Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cypress UI使用KeyClope自动登录失败_Javascript_Selenium_Single Sign On_Keycloak_Cypress - Fatal编程技术网

Javascript Cypress UI使用KeyClope自动登录失败

Javascript Cypress UI使用KeyClope自动登录失败,javascript,selenium,single-sign-on,keycloak,cypress,Javascript,Selenium,Single Sign On,Keycloak,Cypress,我试图使用自动化电子商务商店前台,但我遇到了登录问题 正在使用的身份验证和标识工具为,Cypress测试无法成功登录或注册。流程如下:访问siteundertest.com>单击登录/注册>重定向到KeyClope>输入有效登录信息>单击登录。预期结果:登录成功,用户被重定向到已验证的主页(siteundertest.com)。实际:处理您的请求时出错 注: 此测试使用Selenium进行 当前域中的KeyClope未启用POST请求(这是我无法控制的决定),因此我无法通过API调用绕过登录/

我试图使用自动化电子商务商店前台,但我遇到了登录问题

正在使用的身份验证和标识工具为,Cypress测试无法成功登录或注册。流程如下:访问siteundertest.com>单击登录/注册>重定向到KeyClope>输入有效登录信息>单击登录。预期结果:登录成功,用户被重定向到已验证的主页(siteundertest.com)。实际:处理您的请求时出错

注:

  • 此测试使用Selenium进行
  • 当前域中的KeyClope未启用POST请求(这是我无法控制的决定),因此我无法通过API调用绕过登录/注册:
  • 我怀疑cookie/头信息丢失,但我不确定如何确定Cypress需要提供哪些信息
  • 我尝试过在cypress.json(config)和各种其他建议中禁用web安全性:
  • 无头(电子)和镀铬/FF/Edge均出现错误
  • 手动登录工作正常,使用了各种用户帐户
  • 当Cypress单击KeyClope注册按钮时,也会发生相同的错误
  • 我也尝试过:
    Cypress.Cookies.preserveOnce('session\u id','memory\u token')Cypress.Cookies.preserveOnce('session\u code','memory\u token')Cypress.Cookies.preserveOnce('clientsession')
    但我承认我在这里有点盲目,所以我什么都在尝试
得益于一位有帮助的开发人员,我能够从Key斗篷获得一些关于cookies的信息,Cypress>Selenium>Manual Web:

测试:

description('Login to keydape with Email',function(){
前(函数(){
cy.fixture('loginda')。然后(函数(数据){
这个数据=数据;
})
})
它('打开主页',函数(){
cy.visit(this.data.OccTestHmepageUrl)
})
它('单击登录',函数(){
cy.get('[data bind=“visible:!(loggedInUserName()&&&(loggedIn()| | isUserSessionExpired())“]>#CC loginHeader login')。单击()
});
它('Verify Redirect to keydape',function(){
cy.get('.auth land page>:第n个子项(1)>.text center')
});
它('单击登录按钮',函数(){
cy.get('.emailLogin>.auth按钮内容')。单击()
})
它('输入有效的电子邮件地址',函数(){
cy.fixture('loginda')。然后(函数(数据){
这个数据=数据;
cy.get(“#emailUsername”)
.type(this.data.LoginEmail)}
)}
)
它('输入有效密码',函数(){
cy.fixture('loginda')。然后(函数(数据){
这个数据=数据;
cy.get(“#密码”)
.type(this.data.LoginPassword)}
)}
)
它('单击登录按钮',函数(){
cy.get('#loginBtn')。单击()
//这里发生错误
})
它('验证成功登录',函数(){
//重定向失败
cy.get(“#CC loginHeader logout”)
})

})
您已经解决了这个问题吗?你愿意分享解决方案吗?