wait()找不到先前触发的别名路由

时间:2018-07-06 10:52:15

标签: javascript testing automated-tests cypress

使用赛普拉斯js,我为网站创建了端到端测试,并在powershell中启动了测试。由于缺乏知识,使用cy.route("http://localhost:8000/admin/portfolio/putstrategy") .as("updatestrategy") cy.get("button") .contains("Upload") .click() cy.wait("@updatestrategy") 函数时,别名路由不是我期望的那样。

柏树测试问题的核心:

wait()

日志:

enter image description here

我希望Each time we use cy.wait() for an alias, Cypress waits for the next nth matching request.与通过单击按钮发起的请求相匹配。我现在得到的是成功的请求响应,似乎是在测试赶上之前。

From the docs:

wait()

我对这句话的理解是,[Environment]::ExpandEnvironmentVariables("%LOG_LEVEL%") 将与请求匹配,相对于同一地址,其执行顺序号与等待执行顺序号匹配。

请求可能超时,响应可能超时。在这种情况下,找不到与等待编号匹配的请求。

如何使用赛普拉斯来等待程序调用的请求?

2 个答案:

答案 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")