如何在赛普拉斯中等待XHR到第三方API?

时间:2019-02-08 10:35:03

标签: testing cypress

我有一个SPA应用程序,该应用程序与部署在另一台服务器上的API进行通信。例如,当我单击Submit按钮时,它将XHR请求发送到它的API,并且我需要等待响应来检查它。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:-1)

将此输入命令:

Cypress.Commands.add('manageMyApiRequests', () => {
    cy.route('/URL/Of/api/I/Want/To/wait/For').as('myApi') 
})

然后在您的测试中或每次致电之前:

cy.server()
cy.manageMyApiRequests()

然后,无论您想在哪里等待该api响应,都可以这样做:

cy.wait(@myAPi)

在没有第一个cypress命令manageMyApiRequests的情况下也可以实现相同的功能,但是我建议您使用它来更好地组织测试,然后再为相同的功能添加更多api。

仅供参考,如果您想检查响应中的内容,也可以。

cy.wait(@myApi).then{
// do something here with the response
})