我想创建执行以下操作的 Cypress 脚本:
1. 可以工作,但不理想
当我通过访问启动脚本时,我确实设法让它工作
cy.visit('https://localhost:3000/login')
Run Code Online (Sandbox Code Playgroud)
但后来我有两个问题:
A. 其余代码需要位于 origin 函数中:
cy.origin('https://localhost:3000/login', () => {
cy.visit('https://localhost:3000')
// test script
})
Run Code Online (Sandbox Code Playgroud)
B、更重要的是:
2. 不工作,理想
所以我想通过访问以正确的方式启动脚本
cy.visit('https://localhost:3000/')
Run Code Online (Sandbox Code Playgroud)
然后点击Log In按钮
cy.contains('Log In')
.click()
Run Code Online (Sandbox Code Playgroud)
这是棘手的部分 - 一旦用户单击按钮,Log InURL https://localhost:3000/login(状态代码302)会将用户重定向到
https://staging.XXX.com/login?redirect_uri=https%3A%2F%2Flocalhost%3A3000%2Freturn_from_login&client_id=CLIENT_ID&scope=%7B%22full%22%3A+true%7D
Run Code Online (Sandbox Code Playgroud)
一旦我让脚本以这种方式工作,我就会遇到两个问题:
A。Chrome 要求我允许重定向
b. 一旦允许,我将被重定向到 Cypress 之外,因此左侧边栏完全消失
有人知道如何解决这个问题吗?
整个代码是
describe('User Session + Start a Discussion', () => {
const username = "username";
const password = "password";
before(() => { …Run Code Online (Sandbox Code Playgroud)