如何使用赛普拉斯测试发送到服务器的表单数据/ 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});
});
答案 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 中。 赛普拉斯在重定向后比较提交数据事件的最有趣和最放松的地方