【发布时间】:2021-11-09 08:39:39
【问题描述】:
所以我有一个简单的代码:
it('login', function(){
cy.visit('/login')
cy.get('[formcontrolname="username"]').type(Cypress.env('myuname'))
cy.get('[formcontrolname="password"]').type(Cypress.env('mypwd'))
cy.get('[type="submit"').should('be.enabled').click()
cy.url().should('include','/dashboard')
})
在此之后,页面按预期登录,但在仪表板中没有显示用户,而是立即退出。
在柏树的日志中,我只得到 3 个“新网址”
在去度假 3 周之前,这有效,但由于某种原因回来后却没有。网页代码没有任何变化。
在 chrome 和 firefox 中手动尝试它可以按预期工作并且用户保持登录状态。 在执行测试时观察控制台,我注意到令牌在登录时存在,但之后由于某种原因它被删除了。
除了此处介绍的解决方法:https://github.com/cypress-io/cypress/issues/461 是否有其他方法可以按预期工作?
我需要根据用户角色测试不同的视图,因此我需要使用第三个用户更改角色然后登录,但如果用户不断退出,则无法做到这一点。
我也无法保存通用令牌,因为用户角色正在更改,因此令牌值也在更改。
提前致谢!
附: 哦,还有一件不幸的事情:它并不总是发生,发生在我运行相同测试的大约 80% 的时间里:(
【问题讨论】:
-
您尝试过 cypher_null 的解决方案吗?
-
能否请您显示您的 html 代码,仅显示登录部分?
标签: authentication token cypress