本文于 2024-12-09 08:39 更新,部分内容具有时效性,如有失效,请留言
我尝试使用Windsurf编写了接口自动化测试的代码,实际感受到它的便捷和高效。Windsurf对使用者的代码能力要求并不高,同时生成代码的准确率较高。更为出色的是,它生成测试Case的场景覆盖率也比较高。当代码编写完成后,Windsurf还能够自动生成思维导图,给人工复核提供了便利。整体使用下来,感觉这就是一个编写测试代码的利器。
- 根据Coze的API编写接口测试代码
提示词:这是一个python项目,请根据在线文档描述的接口信息,生成接口测试代码。https://www.coze.cn/docs/developer_guides/retrieve_chat
使用上述提示词后,Windsurf能够正常生成Python代码并可运行。然而,无论是Windsurf还是Cursor,在识别Coze在线API文档时效果都欠佳,对接口关键信息的识别存在一些错误。于是,我将文档中请求和应答的样例复制到本地的txt文件中,再让Windsurf进行识别。这次识别的准确率就非常高。接口详细描述请见:https://www.coze.cn/docs/developer_guides/retrieve_chat。请求和应答样例如下:
请求样例:
curl --location --request GET 'https://api.coze.cn/v3/chat/retrieve?chat_id=738137187639794****&conversation_id=738136585609548****'
--header 'Authorization: Bearer pat_OYDacMzM3WyOWV3Dtj2bHRMymzxP****'
--header 'Content-Type: application/json'
返回样例:
{
"code": 0,
"data": {
"bot_id": "737946218936519****",
"completed_at": 1718609575,
"conversation_id": "738136585609548****",
"created_at": 1718609571,
"id": "738137187639794****",
"status": "completed",
"usage": {
"input_count": 242,
"output_count": 56,
"token_count": 298
}
},
"msg": ""
}
提示词:请根据@example.txt里面的请求和返回样例修改代码,完善测试场景
至此,代码已经生成完毕,并运行无误。
- 根据代码生成思维导图
代码可以正常运行以后,我让Windsurf根据代码生成了思维导图。
提示词:请根据测试代码生成测试案例的思维导图
Windsurf只能生成Markdown格式的思维导图,内容如下:
# Coze API 测试案例
## 1. 基础配置
- API 基础 URL: https://api.coze.cn
- API 版本: v3
- 端点: /chat/retrieve
- 认证方式: Bearer Token
## 2. 正常场景测试 (test_retrieve_chat_success)
### 请求参数验证
- chat_id 正确
- conversation_id 正确
### 响应验证
- HTTP 状态码为 200
- 响应码 code 为 0
- msg 字段存在
### 数据结构验证
- 验证 data 对象存在
- 验证 chat 基本信息
* id
* conversation_id
* bot_id
* completed_at
* created_at
* status
- 验证 usage 信息
* input_count
* output_count
* token_count
## 3. 异常场景测试
### 无效的 chat_id (test_retrieve_chat_invalid_chat_id)
- 使用无效的 chat_id
- 验证错误响应
- 检查错误信息
### 无效的 conversation_id (test_retrieve_chat_invalid_conversation_id)
- 使用无效的 conversation_id
- 验证错误响应
- 检查错误信息
### 缺少参数测试 (test_retrieve_chat_missing_params)
- 缺少 chat_id
- 缺少 conversation_id
- 验证错误响应
### 认证异常测试 (test_retrieve_chat_invalid_auth)
- 使用无效的认证令牌
- 验证错误响应
- 检查错误信息
## 4. 测试数据
### 示例值
- chat_id: ****
- conversation_id: ****
- bot_id: ****