Files
shop-platform/docs/websocket/test_readme.md

7.1 KiB
Raw Blame History

WebSocket 测试文件说明

本目录包含用于测试 WebSocket 服务器的各种测试文件,支持不同环境和场景的测试需求。

测试文件列表

  1. test_websocket.php - PHP 客户端测试脚本
  2. test_websocket.html - 浏览器端 JavaScript 测试页面
  3. test_wechat_miniprogram.js - 微信小程序客户端测试代码
  4. test_readme.md - 本测试文件说明文档

测试前准备

在开始测试之前,请确保:

  1. 启动 WebSocket 服务器

    cd d:/projects/shop-projects/backend/src
    php ws_server.php
    
  2. 确保服务器运行正常 服务器启动后,您应该看到类似以下输出:

    WebSocket服务器已启动监听地址: ws://localhost:8080
    
    已注册WebSocket控制器的addon路径
      - ws://localhost:8080/ws/aikefu (已注册)
    
    默认测试路径:
      - ws://localhost:8080/ws (默认路径,用于连接测试)
    按 Ctrl+C 停止服务器
    

1. PHP 客户端测试 (test_websocket.php)

功能说明

用于在 PHP 环境下测试 WebSocket 服务器的连接和基本功能。

使用方法

  1. 直接运行测试脚本

    cd d:/projects/shop-projects/backend/docs/websocket
    php test_websocket.php
    
  2. 测试不同路径

    • 默认测试路径: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 服务器的连接和交互功能,提供直观的用户界面。

使用方法

  1. 打开测试页面

    • 直接用浏览器打开 test_websocket.html 文件
    • 或者通过 Web 服务器访问:http://your-domain/docs/websocket/test_websocket.html
  2. 配置测试参数

    • 在 "设置" 区域输入 WebSocket 服务器地址
    • 默认地址:ws://localhost:8080/ws
    • aikefu 插件地址:ws://localhost:8080/ws/aikefu
  3. 连接和测试

    • 点击 "连接" 按钮建立 WebSocket 连接
    • 使用 "发送 Ping"、"发送测试消息" 或 "发送自定义消息" 按钮进行测试
    • 在消息区域查看发送和接收的消息

主要功能

  • 连接管理:连接、断开连接、重连
  • 消息发送
    • Ping 消息:测试服务器响应
    • 测试消息:发送预设的测试数据
    • 自定义消息:支持发送任意 JSON 格式消息
  • 消息显示
    • 美化显示 JSON 格式消息
    • 区分发送和接收的消息
    • 显示消息时间和发送者

3. 微信小程序客户端测试 (test_wechat_miniprogram.js)

功能说明

用于在微信小程序环境下测试 WebSocket 服务器的连接和通信功能,模拟实际的微信小程序客户端环境。

使用方法

  1. 集成测试代码

    • test_wechat_miniprogram.js 文件中的代码复制到微信小程序的页面 JavaScript 文件中
    • 将注释中的 WXML 和 WXSS 代码分别复制到对应的 .wxml.wxss 文件中
  2. 配置服务器地址

    • 修改 wsUrl 变量为您的 WebSocket 服务器地址
    • 注意:微信小程序要求使用 HTTPS/WSS 协议,需要配置 SSL 证书
  3. 运行测试

    • 在微信开发者工具中打开小程序项目
    • 进入包含测试代码的页面
    • 点击 "连接" 按钮建立 WebSocket 连接
    • 使用测试按钮发送消息并查看接收结果

注意事项

  • 微信小程序 WebSocket 限制

    • 只支持 HTTPS/WSS 协议
    • 需要在小程序管理后台配置合法域名
    • 最多同时存在 5 个 WebSocket 连接
  • 调试建议

    • 使用微信开发者工具的调试模式查看日志
    • 先在浏览器端测试确保服务器正常
    • 注意网络环境和防火墙设置

测试场景和用例

基本连接测试

测试场景 预期结果 测试文件
连接默认测试路径 成功连接,收到欢迎消息 所有测试文件
连接 aikefu 插件路径 成功连接 所有测试文件
断开连接 连接关闭,收到关闭通知 所有测试文件
重连 成功重新建立连接 浏览器和小程序测试文件

消息功能测试

测试场景 预期结果 测试文件
发送 Ping 消息 收到 Pong 响应 所有测试文件
发送测试消息 收到服务器处理结果 所有测试文件
发送 JSON 消息 正确解析和处理 所有测试文件
发送错误格式消息 收到错误提示 所有测试文件

常见问题和解决方案

1. 连接失败

可能原因

  • WebSocket 服务器未启动
  • 服务器地址或端口错误
  • 防火墙或网络设置阻止连接
  • 微信小程序域名未配置

解决方案

  • 确认服务器已启动并运行正常
  • 检查服务器地址和端口配置
  • 关闭防火墙或添加例外规则
  • 在微信小程序管理后台配置合法域名

2. 消息发送失败

可能原因

  • WebSocket 连接已关闭
  • 消息格式不正确
  • 服务器处理错误

解决方案

  • 检查连接状态,必要时重新连接
  • 确保消息格式符合 JSON 规范
  • 查看服务器日志排查错误

3. 接收消息异常

可能原因

  • 服务器返回格式错误
  • 网络传输问题
  • 客户端解析错误

解决方案

  • 检查服务器代码确保返回正确格式
  • 检查网络连接稳定性
  • 查看客户端日志排查解析错误

测试完成后的清理

测试完成后,您可以:

  1. 停止 WebSocket 服务器 在运行服务器的终端中按 Ctrl+C 停止服务器。

  2. 关闭测试客户端

    • 浏览器测试:关闭浏览器标签页
    • PHP 测试:测试完成后自动退出
    • 微信小程序测试:退出小程序页面

扩展测试建议

  1. 性能测试

    • 测试同时连接多个客户端
    • 测试大消息传输
    • 测试长时间连接稳定性
  2. 异常场景测试

    • 服务器意外关闭
    • 网络中断恢复
    • 消息丢失场景
  3. 功能完整性测试

    • 测试所有消息类型
    • 测试错误处理机制
    • 测试安全验证功能

联系和支持

如果在测试过程中遇到问题,请联系开发人员或查看服务器日志获取更多信息。


更新时间2025-12-19
版本1.0.0
维护人员WebSocket 开发团队