使用赛普拉斯js,我为网站创建了端到端测试,并在powershell中启动了测试。由于缺乏知识,使用cy.route("http://localhost:8000/admin/portfolio/putstrategy")
.as("updatestrategy")
cy.get("button")
.contains("Upload")
.click()
cy.wait("@updatestrategy")
函数时,别名路由不是我期望的那样。
柏树测试问题的核心:
wait()
日志:
我希望Each time we use cy.wait() for an alias, Cypress waits for the next nth matching request.
与通过单击按钮发起的请求相匹配。我现在得到的是成功的请求响应,似乎是在测试赶上之前。
wait()
我对这句话的理解是,[Environment]::ExpandEnvironmentVariables("%LOG_LEVEL%")
将与请求匹配,相对于同一地址,其执行顺序号与等待执行顺序号匹配。
请求可能超时,响应可能超时。在这种情况下,找不到与等待编号匹配的请求。
如何使用赛普拉斯来等待程序调用的请求?
答案 0 :(得分:1)
您的路线应仅指向路径,而不是完整的URL。尝试将其更改为cy.route("/admin/portfolio/putstrategy").as("updatetrategy")
我假设这只是测试的一小段内容,但是如果您在调用cy.server()
之前没有cy.route()
,则也需要添加它。
答案 1 :(得分:1)
^^就像他说的那样,但这是因为它是POST请求。看起来应该像这样
cy.route("POST", "/admin/portfolio/putstrategy").as("updatetrategy")