Files
aitsc/test_optimization_history_tencent.py
2025-10-10 23:39:54 +08:00

222 lines
7.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
测试优化历史功能 - 使用腾讯云prompt表
"""
import requests
import json
import time
# 测试配置
BASE_URL = "http://localhost:5002"
API_BASE = f"{BASE_URL}/api/optimization-history"
def test_add_history():
"""测试添加历史记录"""
print("🧪 测试添加历史记录...")
data = {
"original_text": "写一个登录页面",
"optimized_text": "请创建一个现代风格的登录页面包含用户名和密码输入框、登录按钮使用响应式设计支持移动端和桌面端。页面应该具有简洁美观的UI设计包含适当的验证和错误提示功能。",
"wx_user_id": 1
}
try:
response = requests.post(API_BASE, json=data, timeout=10)
result = response.json()
if result.get('success'):
print(f"✅ 添加成功: {result.get('message')}")
return result.get('data', {}).get('id')
else:
print(f"❌ 添加失败: {result.get('message')}")
return None
except Exception as e:
print(f"❌ 请求失败: {str(e)}")
return None
def test_get_history():
"""测试获取历史记录"""
print("🧪 测试获取历史记录...")
try:
response = requests.get(API_BASE, timeout=10)
result = response.json()
if result.get('success'):
history = result.get('data', {}).get('history', [])
pagination = result.get('data', {}).get('pagination', {})
print(f"✅ 获取成功: 共 {pagination.get('total', 0)} 条记录")
print(f" 当前页: {pagination.get('page', 1)}/{pagination.get('pages', 1)}")
if history:
print(f" 最新记录: {history[0].get('original_text', '')[:50]}...")
return True
else:
print(f"❌ 获取失败: {result.get('message')}")
return False
except Exception as e:
print(f"❌ 请求失败: {str(e)}")
return False
def test_search_history():
"""测试搜索历史记录"""
print("🧪 测试搜索历史记录...")
try:
params = {"search": "登录"}
response = requests.get(API_BASE, params=params, timeout=10)
result = response.json()
if result.get('success'):
history = result.get('data', {}).get('history', [])
print(f"✅ 搜索成功: 找到 {len(history)} 条相关记录")
return True
else:
print(f"❌ 搜索失败: {result.get('message')}")
return False
except Exception as e:
print(f"❌ 请求失败: {str(e)}")
return False
def test_get_stats():
"""测试获取统计信息"""
print("🧪 测试获取统计信息...")
try:
response = requests.get(f"{API_BASE}/stats", timeout=10)
result = response.json()
if result.get('success'):
stats = result.get('data', {})
print(f"✅ 统计信息:")
print(f" 总记录数: {stats.get('total_count', 0)}")
print(f" 今日记录: {stats.get('today_count', 0)}")
print(f" 本周记录: {stats.get('week_count', 0)}")
print(f" 本月记录: {stats.get('month_count', 0)}")
return True
else:
print(f"❌ 获取统计失败: {result.get('message')}")
return False
except Exception as e:
print(f"❌ 请求失败: {str(e)}")
return False
def test_export_history():
"""测试导出历史记录"""
print("🧪 测试导出历史记录...")
try:
response = requests.get(f"{API_BASE}/export", timeout=10)
result = response.json()
if result.get('success'):
data = result.get('data', [])
count = result.get('count', 0)
print(f"✅ 导出成功: 共 {count} 条记录")
return True
else:
print(f"❌ 导出失败: {result.get('message')}")
return False
except Exception as e:
print(f"❌ 请求失败: {str(e)}")
return False
def test_delete_history(history_id):
"""测试删除历史记录"""
if not history_id:
print("⚠️ 跳过删除测试(没有可删除的记录)")
return True
print(f"🧪 测试删除历史记录 (ID: {history_id})...")
try:
response = requests.delete(f"{API_BASE}/{history_id}", timeout=10)
result = response.json()
if result.get('success'):
print(f"✅ 删除成功: {result.get('message')}")
return True
else:
print(f"❌ 删除失败: {result.get('message')}")
return False
except Exception as e:
print(f"❌ 请求失败: {str(e)}")
return False
def main():
"""主测试函数"""
print("=" * 60)
print("🚀 优化历史功能测试 - 腾讯云prompt表")
print("=" * 60)
# 检查服务是否运行
try:
response = requests.get(BASE_URL, timeout=5)
print(f"✅ 服务运行正常: {BASE_URL}")
except Exception as e:
print(f"❌ 服务连接失败: {str(e)}")
print("请确保服务正在运行: python run_dev_fixed.py")
return
print("\n" + "=" * 60)
print("开始测试...")
print("=" * 60)
# 测试步骤
tests = [
("添加历史记录", test_add_history),
("获取历史记录", test_get_history),
("搜索历史记录", test_search_history),
("获取统计信息", test_get_stats),
("导出历史记录", test_export_history),
]
results = []
history_id = None
for test_name, test_func in tests:
print(f"\n📋 {test_name}")
print("-" * 40)
if test_name == "添加历史记录":
history_id = test_func()
results.append((test_name, history_id is not None))
else:
success = test_func()
results.append((test_name, success))
time.sleep(1) # 避免请求过快
# 测试删除(如果有记录)
if history_id:
print(f"\n📋 删除历史记录")
print("-" * 40)
success = test_delete_history(history_id)
results.append(("删除历史记录", success))
# 输出测试结果
print("\n" + "=" * 60)
print("📊 测试结果汇总")
print("=" * 60)
passed = 0
total = len(results)
for test_name, success in results:
status = "✅ 通过" if success else "❌ 失败"
print(f"{status} {test_name}")
if success:
passed += 1
print(f"\n🎯 测试完成: {passed}/{total} 通过")
if passed == total:
print("🎉 所有测试通过!优化历史功能运行正常。")
else:
print("⚠️ 部分测试失败,请检查日志和配置。")
if __name__ == "__main__":
main()