我的Web应用程序引发POST XHR请求,我想停止POST请求并转换为GET请求,然后将其转发到服务器,然后检查405状态码。 我可以检查响应状态代码,但无法将请求从POST修改为GET。有人这样做吗?
尝试了多个选项
代码片段1:像其他标头一样,我尝试使用“请求方法”,但不起作用
then('saving the new user form', () => {
cy.typeText('#nameInput > input', 'Test ');
cy.typeText('#mobileInput > input', '1234567890');
cy.typeText('#emailInput > input', 'test@gmail.com');
cy.server()
cy.route('POST','/api').as('saveUserBtn')
cy.get('#bottomSaveUserButton').click()
cy.wait('@saveUserBtn')
cy.get('@saveUserBtn').should((xhr) => {
expect(xhr.requestBody).to.have.property('Request Method', 'GET')
})
});
&这是错误: 断言错误 预期[Array(1)]具有属性“请求方法” 赛普拉斯/support/step_definitions/asvs/verb2.js:19:41 17 | 18 | cy.get('@ saveUserBtn')。should((xhr)=> {
19 | Expect(xhr.requestBody).to.have.property('请求方法','获取') | ^ 20 | }) 21 | }); 22 |
代码片段2:此片段始终引发另一个POST请求,而不是GET
then('saving the new user', () => {
cy.typeText('#nameInput > input', 'Test ');
cy.typeText('#mobileInput > input', '1234567890');
cy.typeText('#emailInput > input', 'test@gmail.com');
cy.clickElement('bottomSaveUserButton');
cy.server().should((server) => {
expect(server.method).to.eq('GET')
})
cy.server({
method: 'POST'
})
cy.route({
method:'POST',
url:'api'
}).as('saveUserBtn')
cy.clickElement('bottomSaveUserButton');
cy.wait('@saveUserBtn').should('have.property', 'status', 200)
});