97 lines
2.7 KiB
Python
97 lines
2.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
测试update_query_result接口的脚本
|
|
用于模拟发送请求并获取详细的错误信息
|
|
"""
|
|
|
|
import requests
|
|
import json
|
|
import logging
|
|
import time
|
|
|
|
# 配置日志
|
|
handlers = [logging.FileHandler('test_api.log'), logging.StreamHandler()]
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
format='%(asctime)s - %(levelname)s - %(message)s',
|
|
handlers=handlers
|
|
)
|
|
logger = logging.getLogger(__name__)
|
|
|
|
# API地址
|
|
BASE_URL = 'http://localhost:99'
|
|
API_ENDPOINT = f'{BASE_URL}/api/update-query-result'
|
|
|
|
def test_update_query_result():
|
|
"""
|
|
测试update_query_result接口
|
|
"""
|
|
logger.info(f"开始测试API接口: {API_ENDPOINT}")
|
|
|
|
# 测试数据
|
|
test_data = {
|
|
'id': 1, # 假设query_history表中有id为1的记录
|
|
'results_count': 1,
|
|
'cars_info': [
|
|
{
|
|
'plate_number': '测试车牌1',
|
|
'phone': '13800138001',
|
|
'name': '测试姓名1',
|
|
'email': 'test1@example.com',
|
|
'address': '测试地址1'
|
|
}
|
|
]
|
|
}
|
|
|
|
try:
|
|
logger.info(f"发送测试请求,数据: {json.dumps(test_data, ensure_ascii=False)}")
|
|
|
|
# 发送POST请求
|
|
start_time = time.time()
|
|
response = requests.post(
|
|
API_ENDPOINT,
|
|
json=test_data,
|
|
headers={'Content-Type': 'application/json'},
|
|
timeout=30
|
|
)
|
|
end_time = time.time()
|
|
|
|
logger.info(f"请求完成,耗时: {end_time - start_time:.2f}秒,状态码: {response.status_code}")
|
|
|
|
# 输出响应内容
|
|
if response.status_code == 200:
|
|
try:
|
|
result = response.json()
|
|
logger.info(f"响应数据: {json.dumps(result, ensure_ascii=False)}")
|
|
except json.JSONDecodeError:
|
|
logger.warning(f"响应不是有效的JSON格式: {response.text}")
|
|
else:
|
|
logger.error(f"请求失败,状态码: {response.status_code},响应内容: {response.text}")
|
|
|
|
return response.status_code
|
|
|
|
except requests.exceptions.RequestException as e:
|
|
logger.error(f"请求异常: {str(e)}")
|
|
return None
|
|
|
|
def main():
|
|
"""
|
|
主函数
|
|
"""
|
|
logger.info("测试脚本启动")
|
|
|
|
# 执行测试
|
|
status_code = test_update_query_result()
|
|
|
|
if status_code == 200:
|
|
logger.info("测试成功")
|
|
elif status_code is not None:
|
|
logger.error(f"测试失败,状态码: {status_code}")
|
|
else:
|
|
logger.error("测试失败,请求异常")
|
|
|
|
logger.info("测试脚本结束")
|
|
|
|
if __name__ == "__main__":
|
|
main() |