我无法“抓住”赛普拉斯的BE要求。甚至更多,我看不到一些XHR请求,但它们在DevTools中。我添加了带有箭头的屏幕截图,以更好地描述问题。
我无法将项目上传到公共仓库,但是也许您可以根据测试本身获得一些想法。我之前没有任何东西,等等。
it('should generate the right request for password change', () => {
cy.visit(`/courses/reset-password?token=${token}&userId=${userId}`);
cy.server();
cy.route('POST', '/auth/local/reset-password').as('resetRequest');
cy.get('#password').type(password);
cy.get('#confirmPassword').type(password);
cy.get('button[type="submit"]').click();
console.log('at the end');
cy.wait('@resetRequest').then((request) => {
// never get here
console.log('fff', request);
console.log('requestBody', request.requestBody);
expect(request.body.newPassword).to.eq(password);
expect(request.body.token).to.eq(token);
expect(request.body.userId).to.eq(userId);
});
});
如果有人有任何想法-请与我分享:)
答案 0 :(得分:2)
要能够将cy.server()
和cy.route()
用于获取请求,您需要按照以下说明进行操作:https://stackoverflow.com/a/49088084/9947826