赛普拉斯:测试由提交POST表单引起的非XHR请求

时间:2020-09-23 13:07:59

标签: cypress

我正在测试Vue应用程序。在某些情况下,我的应用程序必须提交(不仅在单击提交按钮之后,而是以编程方式)POST表单,并使用一些正文参数重定向到第三方服务器。就像写在best practice中的一样,我试图避免使用重定向到真实服务器的情况。

对于我的特定测试,仅确保使用特定参数发送请求就足够了,但是我现在不知道如何捕获该主体请求参数以进行断言,因为赛普拉斯不允许对非XHR请求进行存根处理而且我不能这样:

cy.route('POST', '/posts').as('post')
cy.get("@post").should(req => {
  // check body params
});

我还考虑过存根vue组件方法来拦截表单提交,但是它似乎仅适用于Math等全局对象。

我真的很感谢任何新想法如何测试这种功能。

1 个答案:

答案 0 :(得分:0)

从Cypress 5.1开始,您可以使用cy.route2()(https://docs.cypress.io/guides/references/changelog.html#5-1-0)对其他请求类型进行存根。