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

185 lines
5.8 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
"""
测试最终修复结果
"""
import requests
import time
BASE_URL = "http://localhost:5002"
def test_javascript_file():
"""测试JavaScript文件访问"""
print("🧪 测试JavaScript文件访问...")
try:
response = requests.get(f"{BASE_URL}/static/js/optimization_history_db.js")
if response.status_code == 200:
content = response.text
if 'class OptimizationHistoryDB' in content:
print(" ✅ JavaScript文件访问正常包含OptimizationHistoryDB类")
return True
else:
print(" ❌ JavaScript文件缺少OptimizationHistoryDB类")
return False
else:
print(f" ❌ JavaScript文件访问失败: {response.status_code}")
return False
except Exception as e:
print(f" ❌ JavaScript文件访问异常: {str(e)}")
return False
def test_optimization_history_page():
"""测试优化历史页面"""
print("\n🧪 测试优化历史页面...")
try:
response = requests.get(f"{BASE_URL}/optimization-history")
if response.status_code == 200:
content = response.text
# 检查是否包含JavaScript文件引用
if 'optimization_history_db.js' in content:
print(" ✅ 页面包含JavaScript文件引用")
else:
print(" ❌ 页面缺少JavaScript文件引用")
return False
# 检查是否包含初始化代码
if 'new OptimizationHistoryDB()' in content:
print(" ✅ 页面包含对象初始化代码")
else:
print(" ❌ 页面缺少对象初始化代码")
return False
return True
else:
print(f" ❌ 页面访问失败: {response.status_code}")
return False
except Exception as e:
print(f" ❌ 页面访问异常: {str(e)}")
return False
def test_api_endpoints():
"""测试API接口"""
print("\n🧪 测试API接口...")
try:
response = requests.get(f"{BASE_URL}/api/optimization-history")
if response.status_code == 200:
result = response.json()
if result.get('success'):
history_count = len(result.get('data', {}).get('history', []))
print(f" ✅ API接口正常当前有 {history_count} 条记录")
return True
else:
print(f" ❌ API返回失败: {result.get('message')}")
return False
else:
print(f" ❌ API接口失败: {response.status_code}")
return False
except Exception as e:
print(f" ❌ API接口异常: {str(e)}")
return False
def test_add_new_record():
"""测试添加新记录"""
print("\n🧪 测试添加新记录...")
test_data = {
"original_text": "测试最终修复",
"optimized_text": "这是测试最终修复的优化结果",
"optimization_type": "最终测试",
"industry": "IT",
"profession": "测试工程师",
"tags": ["最终测试", "修复验证"]
}
try:
response = requests.post(
f"{BASE_URL}/api/optimization-history",
json=test_data,
headers={'Content-Type': 'application/json'}
)
if response.status_code == 200:
result = response.json()
if result.get('success'):
new_id = result.get('data', {}).get('id')
print(f" ✅ 新记录添加成功ID: {new_id}")
return True
else:
print(f" ❌ 新记录添加失败: {result.get('message')}")
return False
else:
print(f" ❌ 新记录添加请求失败: {response.status_code}")
return False
except Exception as e:
print(f" ❌ 新记录添加异常: {str(e)}")
return False
def main():
"""主测试函数"""
print("🚀 最终修复验证测试")
print("=" * 50)
# 等待服务器启动
print("⏳ 等待服务器启动...")
time.sleep(3)
tests = [
("JavaScript文件访问", test_javascript_file),
("优化历史页面", test_optimization_history_page),
("API接口", test_api_endpoints),
("添加新记录", test_add_new_record)
]
results = []
for test_name, test_func in tests:
try:
result = test_func()
results.append((test_name, result))
except Exception as e:
print(f"❌ 测试 {test_name} 异常: {str(e)}")
results.append((test_name, False))
# 输出测试结果
print("\n" + "=" * 50)
print("📊 测试结果汇总")
print("=" * 50)
passed = 0
total = len(results)
for test_name, result in results:
status = "✅ 通过" if result else "❌ 失败"
print(f"{test_name}: {status}")
if result:
passed += 1
print(f"\n📈 总体结果: {passed}/{total} 测试通过")
if passed == total:
print("🎉 所有测试通过!优化历史功能完全正常!")
print("\n💡 现在您可以:")
print(" 1. 访问优化历史页面查看所有记录")
print(" 2. 在生成页面生成提示词会自动保存")
print(" 3. 使用搜索和筛选功能")
print(" 4. 查看统计信息和历史记录")
else:
print("⚠️ 部分测试失败,请检查相关功能")
return passed == total
if __name__ == '__main__':
success = main()
exit(0 if success else 1)