AIInterview_ApiPost_TestCase.md 2.6 KB

AI面试接口测试用例

基础信息

  • 基础URL: http://localhost:8080
  • 所有接口都需要在header中携带 Content-Type: application/json

1. 测试连接

请求信息

  • 接口:/ai/interview/test
  • 方法:GET
  • Headers:无特殊要求

预期响应

{
    "code": 200,
    "msg": "连接成功"
}

2. 开始面试

请求信息

  • 接口:/ai/interview/start
  • 方法:POST
  • Headers:
    • sessionId:可选,不传则自动生成

预期响应

{
    "code": 200,
    "msg": "面试开始的初始化消息",
    "sessionId": "1234567890"
}

3. 建立SSE连接

请求信息

  • 接口:/ai/interview/stream
  • 方法:GET
  • 参数:
    • sessionId:必填,从start接口获取的sessionId

预期响应

Server-Sent Events流式响应,包含以下类型的消息:

// 连接成功消息
{
    "type": "connected",
    "sessionId": "1234567890"
}

// 消息开始
{
    "type": "start"
}

// 消息内容
{
    "type": "message",
    "content": "消息内容片段"
}

// 消息结束
{
    "type": "done"
}

4. 发送消息

请求信息

  • 接口:/ai/interview/chat
  • 方法:POST
  • Headers:
    • sessionId:必填,从start接口获取的sessionId
  • Body:

    {
    "message": "你好,我想应聘Java开发工程师职位"
    }
    

预期响应

如果使用SSE:

{
    "code": 200,
    "msg": "消息正在处理中"
}

如果不使用SSE:

{
    "code": 200,
    "msg": "AI的回复内容"
}

5. 结束面试

请求信息

  • 接口:/ai/interview/end
  • 方法:POST
  • Headers:
    • sessionId:必填,从start接口获取的sessionId

预期响应

{
    "code": 200,
    "msg": "面试总结内容"
}

错误响应示例

1. 会话不存在

{
    "code": 404,
    "msg": "面试会话不存在,请重新开始面试"
}

2. 消息内容为空

{
    "code": 400,
    "msg": "消息内容不能为空"
}

3. 服务器错误

{
    "code": 500,
    "msg": "错误详细信息"
}

测试流程建议

  1. 先调用test接口测试连接是否正常
  2. 调用start接口开始面试,获取sessionId
  3. 使用获取的sessionId建立SSE连接
  4. 使用chat接口进行多轮对话测试
  5. 最后调用end接口结束面试

注意事项

  1. SSE连接建立后,chat接口的响应会通过SSE流式返回
  2. 所有接口调用时注意保存和复用sessionId
  3. 建议在Postman或ApiPost中创建环境变量存储sessionId,方便测试
  4. 错误处理要测试所有可能的错误场景