7.1 KiB
7.1 KiB
WebSocket 测试文件说明
本目录包含用于测试 WebSocket 服务器的各种测试文件,支持不同环境和场景的测试需求。
测试文件列表
test_websocket.php- PHP 客户端测试脚本test_websocket.html- 浏览器端 JavaScript 测试页面test_wechat_miniprogram.js- 微信小程序客户端测试代码test_readme.md- 本测试文件说明文档
测试前准备
在开始测试之前,请确保:
-
启动 WebSocket 服务器:
cd d:/projects/shop-projects/backend/src php ws_server.php -
确保服务器运行正常: 服务器启动后,您应该看到类似以下输出:
WebSocket服务器已启动,监听地址: ws://localhost:8080 已注册WebSocket控制器的addon路径: - ws://localhost:8080/ws/aikefu (已注册) 默认测试路径: - ws://localhost:8080/ws (默认路径,用于连接测试) 按 Ctrl+C 停止服务器
1. PHP 客户端测试 (test_websocket.php)
功能说明
用于在 PHP 环境下测试 WebSocket 服务器的连接和基本功能。
使用方法
-
直接运行测试脚本:
cd d:/projects/shop-projects/backend/docs/websocket php test_websocket.php -
测试不同路径:
- 默认测试路径:
ws://localhost:8080/ws - aikefu 插件路径:
ws://localhost:8080/ws/aikefu
可以通过修改脚本中的
$wsUrl变量来切换测试路径。 - 默认测试路径:
预期输出
成功连接并发送消息后,您应该看到类似以下输出:
正在连接到 WebSocket 服务器: ws://localhost:8080/ws
✅ 成功连接到 WebSocket 服务器
📤 发送 ping 消息
📤 发送测试消息
📥 收到消息: {"type":"welcome","message":"欢迎连接到默认WebSocket测试路径","info":"此路径仅用于测试,不提供实际功能。请使用/ws/{addonName}连接到具体的addon服务。"}
📥 收到消息: {"type":"pong"}
📥 收到消息: {"type":"info","message":"收到消息,但默认路径不提供实际功能","received":{"message":"Hello WebSocket!","action":"test"}}
2. 浏览器端 JavaScript 测试 (test_websocket.html)
功能说明
用于在浏览器环境下测试 WebSocket 服务器的连接和交互功能,提供直观的用户界面。
使用方法
-
打开测试页面:
- 直接用浏览器打开
test_websocket.html文件 - 或者通过 Web 服务器访问:
http://your-domain/docs/websocket/test_websocket.html
- 直接用浏览器打开
-
配置测试参数:
- 在 "设置" 区域输入 WebSocket 服务器地址
- 默认地址:
ws://localhost:8080/ws - aikefu 插件地址:
ws://localhost:8080/ws/aikefu
-
连接和测试:
- 点击 "连接" 按钮建立 WebSocket 连接
- 使用 "发送 Ping"、"发送测试消息" 或 "发送自定义消息" 按钮进行测试
- 在消息区域查看发送和接收的消息
主要功能
- 连接管理:连接、断开连接、重连
- 消息发送:
- Ping 消息:测试服务器响应
- 测试消息:发送预设的测试数据
- 自定义消息:支持发送任意 JSON 格式消息
- 消息显示:
- 美化显示 JSON 格式消息
- 区分发送和接收的消息
- 显示消息时间和发送者
3. 微信小程序客户端测试 (test_wechat_miniprogram.js)
功能说明
用于在微信小程序环境下测试 WebSocket 服务器的连接和通信功能,模拟实际的微信小程序客户端环境。
使用方法
-
集成测试代码:
- 将
test_wechat_miniprogram.js文件中的代码复制到微信小程序的页面 JavaScript 文件中 - 将注释中的 WXML 和 WXSS 代码分别复制到对应的
.wxml和.wxss文件中
- 将
-
配置服务器地址:
- 修改
wsUrl变量为您的 WebSocket 服务器地址 - 注意:微信小程序要求使用 HTTPS/WSS 协议,需要配置 SSL 证书
- 修改
-
运行测试:
- 在微信开发者工具中打开小程序项目
- 进入包含测试代码的页面
- 点击 "连接" 按钮建立 WebSocket 连接
- 使用测试按钮发送消息并查看接收结果
注意事项
-
微信小程序 WebSocket 限制:
- 只支持 HTTPS/WSS 协议
- 需要在小程序管理后台配置合法域名
- 最多同时存在 5 个 WebSocket 连接
-
调试建议:
- 使用微信开发者工具的调试模式查看日志
- 先在浏览器端测试确保服务器正常
- 注意网络环境和防火墙设置
测试场景和用例
基本连接测试
| 测试场景 | 预期结果 | 测试文件 |
|---|---|---|
| 连接默认测试路径 | 成功连接,收到欢迎消息 | 所有测试文件 |
| 连接 aikefu 插件路径 | 成功连接 | 所有测试文件 |
| 断开连接 | 连接关闭,收到关闭通知 | 所有测试文件 |
| 重连 | 成功重新建立连接 | 浏览器和小程序测试文件 |
消息功能测试
| 测试场景 | 预期结果 | 测试文件 |
|---|---|---|
| 发送 Ping 消息 | 收到 Pong 响应 | 所有测试文件 |
| 发送测试消息 | 收到服务器处理结果 | 所有测试文件 |
| 发送 JSON 消息 | 正确解析和处理 | 所有测试文件 |
| 发送错误格式消息 | 收到错误提示 | 所有测试文件 |
常见问题和解决方案
1. 连接失败
可能原因:
- WebSocket 服务器未启动
- 服务器地址或端口错误
- 防火墙或网络设置阻止连接
- 微信小程序域名未配置
解决方案:
- 确认服务器已启动并运行正常
- 检查服务器地址和端口配置
- 关闭防火墙或添加例外规则
- 在微信小程序管理后台配置合法域名
2. 消息发送失败
可能原因:
- WebSocket 连接已关闭
- 消息格式不正确
- 服务器处理错误
解决方案:
- 检查连接状态,必要时重新连接
- 确保消息格式符合 JSON 规范
- 查看服务器日志排查错误
3. 接收消息异常
可能原因:
- 服务器返回格式错误
- 网络传输问题
- 客户端解析错误
解决方案:
- 检查服务器代码确保返回正确格式
- 检查网络连接稳定性
- 查看客户端日志排查解析错误
测试完成后的清理
测试完成后,您可以:
-
停止 WebSocket 服务器: 在运行服务器的终端中按
Ctrl+C停止服务器。 -
关闭测试客户端:
- 浏览器测试:关闭浏览器标签页
- PHP 测试:测试完成后自动退出
- 微信小程序测试:退出小程序页面
扩展测试建议
-
性能测试:
- 测试同时连接多个客户端
- 测试大消息传输
- 测试长时间连接稳定性
-
异常场景测试:
- 服务器意外关闭
- 网络中断恢复
- 消息丢失场景
-
功能完整性测试:
- 测试所有消息类型
- 测试错误处理机制
- 测试安全验证功能
联系和支持
如果在测试过程中遇到问题,请联系开发人员或查看服务器日志获取更多信息。
更新时间:2025-12-19
版本:1.0.0
维护人员:WebSocket 开发团队