Skip to content

WebSocket 测试场景

WS-CONN: 连接管理

WS-CONN-01: 正常连接与断开

步骤操作预期结果
1建立 WebSocket 连接连接成功,开始收到消息
2进行正常对话消息正常收发
3关闭 WebSocket连接正常关闭
4重新建立连接连接成功

WS-CONN-02: 断线重连消息同步

步骤操作预期结果
1连接 WS 并发起补全开始收到流式响应
2在流式过程中断开连接
3立即重新连接收到断线期间缓存的消息
4等待补全完成收到 completion_done

WS-CONN-03: 并发连接互斥

步骤操作预期结果
1客户端 A 连接对话 X成功
2客户端 B 连接对话 XClose Code 4009
3客户端 A 断开
4客户端 B 重试连接对话 X成功

WS-CONN-04: 跨资源独立性

步骤操作预期结果
1连接对话 A成功
2同时连接对话 B成功(不同资源不互斥)

WS-STREAM: 流式补全

WS-STREAM-01: 完整流式序列

验证服务端消息的正确时序:

request_completion 发送后预期收到:
1. completion_init
2. [llm_thinking_chunk...] (如果 reasoning 模式)
3. [llm_text_chunk...]
4. [llm_text_sentence...]
5. assistant_message_complete
6. completion_done
检查项预期
completion_init 是首条消息
text_chunk 拼接 = assistant_message_complete.content
text_sentence 不遗漏文字是(所有句子拼接 = 完整文本)
finish_reason 合理stop / tool_calls / length

WS-STREAM-02: 停止后的消息终止

步骤操作预期结果
1请求补全开始收到 chunk
2在流式过程中发送 stop_completion
3观察后续消息收到 stop_completion 消息后不再有新 chunk
4stop_completion 包含 partial_text是(已生成的部分)

WS-STREAM-03: request_id 追踪

步骤操作预期结果
1发送 append_message (request_id="req-1")message_appended.request_id = "req-1"
2发送 request_completion (request_id="req-2")所有输出消息的 request_id = "req-2"

WS-TOOL: 工具调用测试

WS-TOOL-01: 工具调用 chunk 累积

步骤操作预期结果
1触发工具调用收到 tool_call_chunk 序列
2验证第一个 chunk包含 id 和 function.name
3验证后续 chunkid=null,function.arguments 递增
4拼接所有 arguments得到合法 JSON

WS-TOOL-02: 确认超时

步骤操作预期结果
1触发需确认的工具调用收到 pending 状态
2长时间不响应(如 5 分钟)
3之后发送 accept应正常处理
4之后发送 request_completion应正常执行工具

WS-TOOL-03: 多工具混合确认

步骤操作预期结果
1触发同时调用搜索+画布操作的消息
2请求补全搜索工具立即执行,画布操作为 pending
3收到搜索工具的 tool_call 结果有结果
4assistant_message_completetool_calls 中两个工具状态不同
5确认画布操作tool_confirmation_processed
6request_completion画布操作执行

WS-TOOL-04: AskUser 工具交互

步骤操作预期结果
1触发 AI 调用 AskUserFunction
2请求补全收到 tool_call (confirmation_state=awaiting_input)
3收到 completion_done (finish_reason=tool_calls)补全暂停
4发送 append_message (role=tool, tool_call_id=...)message_appended
5发送 request_completionAI 基于用户回答继续

WS-PROJECT: 项目 WebSocket

WS-PROJECT-01: 域隔离

步骤操作预期结果
1连接项目 WS成功
2发送 canvas 域消息画布操作成功
3发送 conversation 域消息对话操作成功
4画布域错误不影响对话域

WS-PROJECT-02: 画布批量操作

步骤操作预期结果
1批量创建 3 个节点 + 2 条边(使用 temp_id)成功
2验证 temp_id_mappingtemp_id 正确映射为 UUID
3验证边的 source/target引用的 temp_id 正确替换

WS-PROJECT-03: 批量操作原子性

步骤操作预期结果
1批量创建中包含一个无效节点
2验证响应success=false
3查询画布节点无新节点(全部回滚)

WS-ERROR: 错误恢复

WS-ERROR-01: AI 服务超时后恢复

步骤操作预期结果
1请求补全
2AI 服务超时收到 error (llm_timeout)
3再次请求补全正常工作

WS-ERROR-02: 错误后对话状态一致

步骤操作预期结果
1请求补全
2补全过程中发生错误收到 error + completion_done
3通过 REST API 查看对话对话状态正常,消息历史一致
4重新请求补全正常工作

WS-ERROR-03: 快速连续操作

步骤操作预期结果
1快速连续发送 10 条消息收到 10 个 message_appended 或 rate_limited
2快速连续请求 3 次补全第一次执行,后续排队或报错
3验证最终状态消息历史完整,无数据丢失

狐线 AI Pro 外部测试文档