# 认证UI测试 这个文件夹包含了登录和注册界面的UI响应测试,具有美观优雅的反馈系统。 ## 文件说明 - `auth_ui_test.tscn` - 测试场景文件 - `auth_ui_test.gd` - 测试脚本 - `README.md` - 本说明文件 ## 如何运行测试 ### 方法1:在Godot编辑器中运行 1. 在Godot编辑器中打开 `tests/auth/auth_ui_test.tscn` 文件 2. 点击编辑器右上角的"播放场景"按钮(或按F6键) 3. 如果仍然跳转到主场景,请尝试以下步骤: - 确保当前打开的是测试场景文件 - 在场景面板中右键点击根节点,选择"Change Scene" - 或者在项目设置中临时更改主场景为测试场景 ### 方法2:通过代码运行 在任何脚本中添加以下代码来切换到测试场景: ```gdscript get_tree().change_scene_to_file("res://tests/auth/auth_ui_test.tscn") ``` ## 界面布局 ### 左侧:认证界面 - 完整的登录和注册界面 - 实时表单验证 - Toast消息显示 - 字段错误提示 ### 右侧:测试控制面板 #### 🧪 UI响应测试标题 #### 📋 测试反馈面板 - **智能反馈系统**:实时显示测试执行状态 - **颜色编码**: - 🔵 蓝色:信息提示 - 🟢 绿色:成功响应 - 🔴 红色:错误响应 - **详细信息**: - 测试名称和类型 - HTTP状态码 - 响应消息和错误代码 - 预期的UI反馈效果 - **自动滚动**:新消息自动滚动到可见区域 #### 🎯 测试用例按钮 16个精美设计的测试按钮,按功能分组: ## 测试功能 ### 登录测试(4个) - ✅ **登录成功**(状态码200) - 预期:绿色Toast "登录成功!正在进入鲸鱼镇...",跳转到主场景 - ❌ **用户名或密码错误**(状态码401) - 预期:红色Toast "用户名或密码错误,请检查后重试" - ❌ **用户不存在**(状态码404) - 预期:红色Toast "用户不存在,请先注册" - ❌ **参数错误**(状态码400) - 预期:红色Toast,根据具体错误显示 ### 发送验证码测试(5个) - ✅ **发送成功**(状态码200) - 预期:绿色Toast "验证码已发送到您的邮箱" - ❌ **邮箱格式错误**(状态码400) - 预期:红色Toast "请输入有效的邮箱地址" - ❌ **请求过频**(状态码429) - 预期:红色Toast "请求过于频繁,请稍后再试" - ❌ **服务器错误**(状态码500) - 预期:红色Toast "服务器繁忙,请稍后再试" - ❌ **网络错误**(状态码0) - 预期:红色Toast "网络连接失败,请检查网络连接" ### 邮箱验证测试(3个) - ✅ **验证成功**(状态码200) - 预期:绿色Toast "邮箱验证成功,正在注册..." - ❌ **验证码错误**(状态码400) - 预期:红色Toast "验证码错误或已过期" - ❌ **验证码不存在**(状态码404) - 预期:红色Toast "请先获取验证码" ### 注册测试(6个) - ✅ **注册成功**(状态码201) - 预期:绿色Toast "注册成功!欢迎加入鲸鱼镇",切换到登录界面 - ❌ **参数错误**(状态码400) - 预期:红色Toast,根据具体错误显示 - ❌ **缺少验证码**(状态码400) - 预期:红色Toast "请先获取并输入邮箱验证码" - ❌ **用户已存在**(状态码409) - 预期:红色Toast "用户名或邮箱已被使用,请换一个" - ❌ **请求过频**(状态码429) - 预期:红色Toast "注册请求过于频繁,请稍后再试" - ❌ **服务器错误**(状态码500) - 预期:红色Toast "注册失败,请稍后再试" ## 测试步骤 1. **启动测试场景** - 运行测试场景后,右侧反馈面板会显示欢迎信息和使用说明 2. **准备测试数据** - 在左侧认证界面切换到注册界面 - 填写测试数据: - 用户名:testuser - 邮箱:test@example.com - 密码:password123 - 确认密码:password123 - 验证码:123456 3. **执行测试** - 点击右侧对应的测试按钮 - 观察反馈面板中的详细信息: - 🚀 测试开始提示 - 📡 请求类型和状态码 - ⚡ HTTP响应模拟 - 🎯 预期UI反馈说明 - ✅/❌ 测试完成状态 4. **观察UI反馈** - 左侧界面的实际反馈效果 - Toast消息的颜色和内容 - 字段错误提示的显示 - 按钮状态的变化 ## 反馈系统特色 ### 🎨 美观设计 - 使用Emoji图标增强视觉效果 - 颜色编码区分不同状态 - 圆角边框和阴影效果 - 按钮分组和分隔符 ### 📊 详细分析 - 实时显示测试执行过程 - 预期vs实际效果对比 - HTTP响应详细解析 - 错误代码和消息说明 ### 🔄 交互体验 - 自动滚动到最新消息 - 按钮悬停效果 - 平滑的颜色过渡 - 响应式布局 ## 注意事项 - 测试场景会自动断开`login_success`信号,避免跳转到主场景 - 按ESC键可以优雅退出测试(显示退出提示) - 所有测试都是模拟的,不会发送真实的网络请求 - 反馈面板会保留测试历史,便于对比分析 - 测试按钮按功能分组,每组之间有分隔符 ## 预期行为验证 这个测试系统不仅模拟后端响应,还会告诉你每种情况下应该看到什么UI反馈,帮助你验证: 1. **Toast消息系统**是否正常工作 2. **字段验证错误**是否正确显示 3. **按钮状态管理**是否符合预期 4. **用户体验流程**是否顺畅 通过对比预期效果和实际效果,可以快速发现UI反馈系统中的问题并进行修复。