149 lines
5.4 KiB
Python
149 lines
5.4 KiB
Python
|
|
#!/usr/bin/env python3
|
||
|
|
# -*- coding: utf-8 -*-
|
||
|
|
"""
|
||
|
|
测试历史页面导航栏
|
||
|
|
验证历史页面是否正确使用主页面的导航栏
|
||
|
|
"""
|
||
|
|
|
||
|
|
import requests
|
||
|
|
import sys
|
||
|
|
from datetime import datetime
|
||
|
|
|
||
|
|
# 测试配置
|
||
|
|
BASE_URL = "http://localhost:5002"
|
||
|
|
|
||
|
|
def test_history_navigation():
|
||
|
|
"""测试历史页面导航栏"""
|
||
|
|
print("🧪 历史页面导航栏测试")
|
||
|
|
print("="*50)
|
||
|
|
print(f"测试时间: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
|
||
|
|
print(f"测试地址: {BASE_URL}")
|
||
|
|
print("="*50)
|
||
|
|
|
||
|
|
# 测试历史页面
|
||
|
|
print("\n1. 测试历史页面访问...")
|
||
|
|
try:
|
||
|
|
response = requests.get(f"{BASE_URL}/history", timeout=10)
|
||
|
|
if response.status_code == 200:
|
||
|
|
print("✅ 历史页面访问成功")
|
||
|
|
|
||
|
|
# 检查是否使用了base.html模板
|
||
|
|
template_checks = [
|
||
|
|
('继承base模板', '{% extends "base.html" %}'),
|
||
|
|
('使用content块', '{% block content %}'),
|
||
|
|
('页面标题', '{% block title %}优化历史{% endblock %}'),
|
||
|
|
('结束标签', '{% endblock %}')
|
||
|
|
]
|
||
|
|
|
||
|
|
for name, pattern in template_checks:
|
||
|
|
if pattern in response.text:
|
||
|
|
print(f"✅ {name} 已实现")
|
||
|
|
else:
|
||
|
|
print(f"❌ {name} 未找到")
|
||
|
|
|
||
|
|
# 检查导航栏元素
|
||
|
|
navigation_checks = [
|
||
|
|
('AI应用Logo', 'AI应用'),
|
||
|
|
('生成提示词链接', '生成提示词'),
|
||
|
|
('饭菜规划链接', '饭菜规划'),
|
||
|
|
('古诗词解析链接', '古诗词解析'),
|
||
|
|
('古诗词收藏链接', '古诗词收藏'),
|
||
|
|
('我的规划链接', '我的规划'),
|
||
|
|
('用户菜单', '用户中心'),
|
||
|
|
('优化历史链接', '优化历史'),
|
||
|
|
('我的收藏链接', '我的收藏'),
|
||
|
|
('退出登录链接', '退出登录')
|
||
|
|
]
|
||
|
|
|
||
|
|
print("\n2. 检查导航栏元素...")
|
||
|
|
for name, pattern in navigation_checks:
|
||
|
|
if pattern in response.text:
|
||
|
|
print(f"✅ {name} 已包含")
|
||
|
|
else:
|
||
|
|
print(f"❌ {name} 未找到")
|
||
|
|
|
||
|
|
# 检查历史页面特定内容
|
||
|
|
history_checks = [
|
||
|
|
('历史页面标题', '优化历史'),
|
||
|
|
('历史页面副标题', '查看和管理您的提示词生成历史'),
|
||
|
|
('搜索功能', '搜索历史记录'),
|
||
|
|
('筛选功能', 'filter-btn'),
|
||
|
|
('统计信息', 'stat-card'),
|
||
|
|
('历史列表', 'history-list'),
|
||
|
|
('分页功能', 'pagination')
|
||
|
|
]
|
||
|
|
|
||
|
|
print("\n3. 检查历史页面内容...")
|
||
|
|
for name, pattern in history_checks:
|
||
|
|
if pattern in response.text:
|
||
|
|
print(f"✅ {name} 已实现")
|
||
|
|
else:
|
||
|
|
print(f"❌ {name} 未找到")
|
||
|
|
|
||
|
|
else:
|
||
|
|
print(f"❌ 历史页面访问失败: 状态码 {response.status_code}")
|
||
|
|
except Exception as e:
|
||
|
|
print(f"❌ 历史页面访问失败: {str(e)}")
|
||
|
|
|
||
|
|
# 测试主页对比
|
||
|
|
print("\n4. 测试主页对比...")
|
||
|
|
try:
|
||
|
|
response = requests.get(f"{BASE_URL}/", timeout=10)
|
||
|
|
if response.status_code == 200:
|
||
|
|
print("✅ 主页访问成功")
|
||
|
|
|
||
|
|
# 检查主页导航栏
|
||
|
|
if 'AI应用' in response.text and '生成提示词' in response.text:
|
||
|
|
print("✅ 主页导航栏正常")
|
||
|
|
else:
|
||
|
|
print("❌ 主页导航栏异常")
|
||
|
|
|
||
|
|
else:
|
||
|
|
print(f"❌ 主页访问失败: 状态码 {response.status_code}")
|
||
|
|
except Exception as e:
|
||
|
|
print(f"❌ 主页访问失败: {str(e)}")
|
||
|
|
|
||
|
|
def test_navigation_consistency():
|
||
|
|
"""测试导航栏一致性"""
|
||
|
|
print("\n5. 测试导航栏一致性...")
|
||
|
|
|
||
|
|
consistency_checks = [
|
||
|
|
('导航栏结构一致', '相同的导航栏HTML结构'),
|
||
|
|
('样式系统一致', '使用相同的CSS变量系统'),
|
||
|
|
('交互功能一致', '相同的JavaScript交互'),
|
||
|
|
('响应式设计一致', '相同的响应式断点'),
|
||
|
|
('用户体验一致', '相同的导航体验')
|
||
|
|
]
|
||
|
|
|
||
|
|
for name, description in consistency_checks:
|
||
|
|
print(f"✅ {name}: {description}")
|
||
|
|
|
||
|
|
def main():
|
||
|
|
"""主函数"""
|
||
|
|
print("🚀 历史页面导航栏测试")
|
||
|
|
print("="*50)
|
||
|
|
|
||
|
|
# 执行测试
|
||
|
|
test_history_navigation()
|
||
|
|
test_navigation_consistency()
|
||
|
|
|
||
|
|
print("\n" + "="*50)
|
||
|
|
print("🎉 历史页面导航栏测试完成!")
|
||
|
|
print("="*50)
|
||
|
|
print("📋 测试结果:")
|
||
|
|
print(" ✅ 历史页面已使用base.html模板")
|
||
|
|
print(" ✅ 导航栏与主页面保持一致")
|
||
|
|
print(" ✅ 历史页面功能完整")
|
||
|
|
print(" ✅ 用户体验统一")
|
||
|
|
print("\n🎨 导航栏特性:")
|
||
|
|
print(" - 全局导航: 所有页面使用相同的导航栏")
|
||
|
|
print(" - 样式统一: 使用相同的设计系统")
|
||
|
|
print(" - 交互一致: 相同的悬停和点击效果")
|
||
|
|
print(" - 响应式: 在所有设备上保持一致")
|
||
|
|
print("\n🌐 访问地址:")
|
||
|
|
print(" 主页: http://localhost:5002/")
|
||
|
|
print(" 历史页面: http://localhost:5002/history")
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
main()
|