wait() 找不到之前触发的别名路由
wait() cannot find previously triggered alias route
使用 Cypress js,我为网站创建了端到端测试,并在 powershell 中启动了测试。由于缺乏知识,在使用 wait()
函数时,别名路由并不像我预期的那样。
cypress 测试问题的核心:
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()
将匹配请求,执行顺序号与等待执行顺序号相匹配,相对于同一地址。
请求可能会超时,响应也可能会超时。在这种情况下,找不到与等待号码匹配的请求。
如何使用 Cypress 等待以编程方式调用的请求?
您的路线应该只指向路径,而不是完整的 URL。尝试将其更改为 cy.route("/admin/portfolio/putstrategy").as("updatetrategy")
我假设它只是您测试的一个片段,但如果您在调用 cy.route()
之前没有 cy.server()
,您也需要添加它。
^^ 就像他说的,但这是 POST 请求。它应该是这样的
cy.route("POST", "/admin/portfolio/putstrategy").as("updatetrategy")
使用 Cypress js,我为网站创建了端到端测试,并在 powershell 中启动了测试。由于缺乏知识,在使用 wait()
函数时,别名路由并不像我预期的那样。
cypress 测试问题的核心:
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()
将匹配请求,执行顺序号与等待执行顺序号相匹配,相对于同一地址。
请求可能会超时,响应也可能会超时。在这种情况下,找不到与等待号码匹配的请求。
如何使用 Cypress 等待以编程方式调用的请求?
您的路线应该只指向路径,而不是完整的 URL。尝试将其更改为 cy.route("/admin/portfolio/putstrategy").as("updatetrategy")
我假设它只是您测试的一个片段,但如果您在调用 cy.route()
之前没有 cy.server()
,您也需要添加它。
^^ 就像他说的,但这是 POST 请求。它应该是这样的
cy.route("POST", "/admin/portfolio/putstrategy").as("updatetrategy")