fiddler 测试后台接口,传参数失败

本文通过一个具体的HTTP请求示例,解析了POST方法的应用场景及其请求体内容的组成。示例中包含了请求URL、User-Agent、Host等头部信息,以及请求体内的详细参数,如商品ID、订单号、价格等。

post  :url  http://localhost:9090/nonboyuan/ShopingGoodsOrderController/insert.do

User-Agent: Fiddler
Host: localhost:9090
Content-Length: 215
Content-Type: application/x-www-form-urlencoded

 

RequestBody

goodsId=111&orderNumber=NBY1502611903952240
&goodsPrice=5&goodsName=白菜&goodsRmk=是的是的所多所&goodsLogo=1.png&goodsAmount=5&createBy=xiaolei&remark1=山水多所得&remark2=剩斗士的店所多所多
 

转载于:https://my.oschina.net/111222233/blog/1528998

### 接口测试中常见的Bug及解决方法 接口测试作为软件测试的重要组成部分,其过程中可能会遇到多种问题和Bug。以下是一些常见的接口测试Bug及其对应的解决方法: #### 1. 数据依赖问题 在接口测试中,数据依赖是一个常见问题。例如,某些接口的正常运行需要依赖于其他接口的数据输出。如果这些前置数据缺失或不正确,会导致后续接口调用失败[^1]。 - **解决方法**:确保在测试前准备好所有必要的前置数据。可以通过模拟数据、使用数据库初始化脚本或调用相关前置接口来解决数据依赖问题。 #### 2. 连接拒绝 (ECONNREFUSED) 当使用工具如Postman或JMeter进行接口测试时,可能会遇到连接被拒绝的问题。例如,报错信息为`connect ECONNREFUSED`或`org.apache.http.conn.HttpHostConnectException: Connect to failed: Connection refused: connect`[^2]。 - **解决方法**:检查接口地址是否正确,确认目标服务是否正在运行。如果是本地接口,确保服务已启动并监听正确的端口。 #### 3. Token失效问题 在接口测试中,Token失效是一个常见问题。例如,错误信息为`{"code":10001,"message":"token无效"}`。 - **解决方法**:重新调用登录接口获取新的Token,并将其应用于后续接口请求的头部或参数中。 #### 4. 不支持的HTTP请求方法 有时接口会返回错误信息,如`{"code":41002,"message":"不支持的HTTP请求方法"}`[^2]。 - **解决方法**:检查接口文档,确认当前接口支持的HTTP方法(如GET、POST、PUT等),并修改请求方法以匹配接口要求。 #### 5. 参数提取为null 在接口测试中,可能会遇到参数提取为null的情况。例如,使用GET方法时,参数被错误地放置在URL中而不是parameters中。 - **解决方法**:根据接口文档的要求,将参数正确放置在请求体或URL参数中。 #### 6. 删除操作未生效 在删除操作后,接口返回删除成功,但实际数据仍然存在。例如,删除好友请求后,好友仍显示在列表中[^3]。 - **解决方法**:使用抓包工具(如Fiddler)分析请求和响应数据。如果后台返回结果显示删除成功,则问题可能出在前端展示逻辑;如果后台数据未被删除,则需检查后台接口实现逻辑。 #### 7. 测试结果不确定 在某些情况下,接口测试结果可能不稳定,表现为有时通过有时失败。 - **解决方法**:检查是否存在环境依赖问题,例如数据库状态、缓存机制或第三方服务的可用性。确保测试环境稳定且与生产环境一致。 --- ### 示例代码:处理Token失效问题 以下是一个Python示例,展示如何在接口测试中处理Token失效问题: ```python import requests def get_new_token(): login_url = "https://example.com/api/login" payload = {"username": "testuser", "password": "testpass"} response = requests.post(login_url, json=payload) return response.json().get("token") def call_protected_api(token): protected_url = "https://example.com/api/protected" headers = {"Authorization": f"Bearer {token}"} response = requests.get(protected_url, headers=headers) if response.status_code == 401: # Token失效 new_token = get_new_token() return call_protected_api(new_token) #
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值