Tentei usar Windsurf Escrevi o código para testes de automação de interface e realmente senti sua conveniência e eficiência. O Windsurf não exige muita habilidade de código do usuário e, ao mesmo tempo, a precisão do código gerado é alta. Além disso, a cobertura do cenário dos casos de teste gerados pelo Windsurf também é relativamente alta. Quando o código é concluído, o Windsurf também pode gerar automaticamente um mapa mental, proporcionando uma revisão manual conveniente. De modo geral, acho que é uma ferramenta poderosa para escrever código de teste.
- Escrever código de teste de interface com base nas APIs da Coze
Dica: este é um projeto em python, gere o código de teste da interface de acordo com as informações da interface descritas na documentação on-line. https://www.coze.cn/docs/developer_guides/retrieve_chat
Depois de usar as dicas acima, o Windsurf conseguiu gerar o código Python corretamente e pôde ser executado. No entanto, tanto o Windsurf quanto o Cursor foram menos eficientes no reconhecimento da documentação on-line da API do Coze, com alguns erros no reconhecimento de informações importantes sobre a interface. Assim, copiei os exemplos de solicitações e respostas da documentação em um arquivo txt local e pedi ao Windsurf que os reconhecesse. Dessa vez, a precisão da identificação foi muito alta. Uma descrição detalhada da interface pode ser encontrada em: https://www.coze.cn/docs/developer_guides/retrieve_chat. Exemplos de solicitações e respostas estão abaixo:
Solicitação de amostra:
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'
Devolver amostra:
{
"code": 0,
"data": {
"bot_id": "737946218936519****",
"completed_at": 1718609575,
"conversation_id": "738136585609548****",
"created_at": 1718609571,
"id": "738137187639794****",
"status": "concluído",
"usage": {
"input_count": 242,
"output_count": 56,
"token_count": 298
}
},
"msg": ""
}
Dica: 请根据@example.txt里面的请求和返回样例修改代码 para refinar os cenários de teste
Nesse ponto, o código foi gerado e executado sem erros.
- Gerar mapas mentais a partir do código
Quando o código estava funcionando, pedi ao Windsurf que gerasse mapas mentais com base no código.
Palavra-chave: Gere um mapa mental do caso de teste com base no código de teste
O Windsurf só pode gerar mapas mentais no formato Markdown, como segue:
# Coze Casos de teste de API
## 1. configuração básica
- URL da base da API: https://api.coze.cn
- Versão da API: v3
- Ponto de extremidade: /chat/retrieve
- Método de autenticação: Portador Token
## 2. teste de cenário normal (test_retrieve_chat_success)
### Solicitar validação de parâmetro
- chat_id correto
- conversation_id correto
#### Verificação de resposta
- O código de status HTTP é 200
- O código de resposta é 0
- O campo msg existe
### Validação da estrutura de dados
- Verificar se o objeto de dados existe
- Verificar informações básicas do bate-papo
* id
* :: conversation_id
* :: bot_id
* :: completed_at
* :: created_at
* :: Status
- Verificar informações de uso
* :: input_count
* :: output_count
* :: token_count
## 3. teste de cenários anormais
### Invalid chat_id (test_retrieve_chat_invalid_chat_id)
- Uso de um chat_id inválido
- Validação de respostas de erro
- Verificação de mensagens de erro
### Invalid conversation_id (test_retrieve_chat_invalid_conversation_id)
- Uso de um conversation_id inválido
- Validação de respostas de erro
- Verificação de mensagens de erro
### Teste de parâmetros ausentes (test_retrieve_chat_missing_params)
- Chat_id ausente
- Falta conversation_id
- Validação de respostas de erro
Teste de exceção de autenticação ### (test_retrieve_chat_invalid_auth)
- Uso de tokens de autenticação inválidos
- Validação de respostas de erro
- Verificação de mensagens de erro
## 4. dados de teste
### Exemplo de valores
- chat_id: ****
- conversation_id: ****
- bot_id: ****