我正在使用赛普拉斯。我有一个小的 React 应用程序和一个小的 Flask 后端。我希望我的测试能够调用后端来设置它将要运行的状态。我用的是抓取。这很好用。但赛普拉斯很生气,并不认为测试成功。我真的不是一个 javascript 开发人员,所以这可能是显而易见的,但我不知道如何让它快乐。
这是我的测试代码:
it.only("edits a job", async () => {
const now = new Date().getTime()
const title = `Edit-This-${now}`
const newTitle = `SUCCESS-EDIT-${now}`
const company = `Edit Company-${now}`
const link = `https://example.com/edit-me-${now}`
const status = "Edit Test"
const body = JSON.stringify({company, title, link, status})
await fetch('/add_job', {method: 'post', headers: {'Content-Type': 'application/json'}, body: body})
cy.visit("http://localhost:3000/jobs_list")
cy.contains(title)
cy.contains(company)
cy.contains(link)
cy.contains(status)
cy.get(`[name=edit-${title}`).click()
cy.get(`[value=${title}`).clear().type(newTitle)
cy.get(`[name=save-${newTitle}`).click()
cy.contains(newTitle)
console.log("what the heck")
})
Run Code Online (Sandbox Code Playgroud)
这似乎工作得很好。但最后出现了 CypressError:
Cypress command timeout of 4530ms …Run Code Online (Sandbox Code Playgroud)