如何使用赛普拉斯测试提交json /数据

时间:2020-06-23 11:54:37

标签: javascript cypress

如何使用赛普拉斯测试发送到服务器的表单数据/ json?

我尝试了下一种方法:

    it('Stored value is correct on submission', () => {
        cy.server();
        cy.route({
          method: 'POST',
          url: `/app/api/data/${formId}/${modelId}`,
          onRequest: (e) => {
            cy.get('@formPOST').should('deep.equal', expectedRequestBody);
          }
        });
        cy.get("button[type='submit']").click({force: true});
      });

1 个答案:

答案 0 :(得分:0)

我正在寻找一种快速的方法来拦截和测试从我的表单发送的数据,但没有找到任何数据,因此我分享我的经验:

describe('Submitted data is correct', () => {
      it('Stored and empty values are send as expected', () => {
        cy.server();
        cy.route('POST', `/app/api/data/${formId}`).as('formPOST');
        cy.get("button[type='submit']").click({force: true});
        cy.wait('@formPOST')
          .its('requestBody')
          .should('deep.equal', expectedRequestBody)
      });
    });

请注意,要提交的预期数据在变量 expectedRequestBody 中。 赛普拉斯在重定向后比较提交数据事件的最有趣和最放松的地方