Cypress执行API请求返回IP地址而非预期响应体问题
问题原因排查
1. 请求端点URL不匹配
你当前调用的接口URL是 http://ptsv2.com/t/fu807-1554722621/post,但预期响应中的targetUrl是另一个完全不同的端点 http://ptsv2.com/t/7ty82-1554722743/post。ptsv2是临时HTTP测试服务,每个唯一端点对应独立的接收/返回逻辑,调用错误的URL自然会返回不符合预期的响应体。
2. POST请求未携带必要的请求体
预期响应包含username和password字段,说明该接口需要在POST请求的**请求体(body)**中提交这两个参数,才会返回对应的目标内容。但你当前的cy.request()只设置了请求方法、URL和headers,完全没有传递请求体数据,所以接口返回了默认的客户端IP和token信息。
3. 代码语法错误导致逻辑异常
你的代码存在括号匹配错误:it.only()的闭合括号写在了.then()之前,导致.then()没有正确绑定到cy.request()的结果上。正确的写法应该把.then()放在cy.request()之后,再闭合it()块,否则会导致测试逻辑执行异常,无法正确处理响应。修正后的代码示例:
it.only('Task 1 - 2: Send Post request', ()=>{ cy.request({ method : 'POST', url: 'http://ptsv2.com/t/7ty82-1554722743/post', // 替换为正确的URL headers: { 'Authorization': 'Basic YXV0b21hdGU6ZXZlcnl0aGluZw==' }, body: { // 添加必要的请求体参数 username: "automate", password: "everything" } }).then((res)=>{ cy.log(res.body) }) })
内容的提问来源于stack exchange,提问作者Saad Ahmed Khan
相关产品推荐
相关产品推荐

