首页 > 解决方案 > 带有 Cypress 的 iframe:如何在 iframe 中等待 api 调用

问题描述

我正在使用 Cypress 测试 iFrame 内部的行为

对服务器端的请求在 iFrame 内完成,
我的测试应该等待请求完成并继续测试

目前我正在等待通过以下方式完成 api 调用:

 cy.route("POST", "URL")).as("Alias");
 cy.wait("@Alias");

Api 被成功调用,但在 Cypress 中它因等待调用 API 的超时而失败。

标签: iframecypress

解决方案


我有同样的略有不同的问题。我建议您在 iframe 中输入您将修改为您的酱汁的这段代码:

cy.get('iframe').then((iframe) => { const body = iframe.contents().find('body'); cy.wrap(body).find('a').click(); });

我在这里找到了解决方案

对于您的 API 等待问题,您可以使用 cy.wait()

cy.wait(time)

文档


推荐阅读