自动化测试

本文介绍如何使用无影 AgentBay SDK 创建测试代理。该代理可以扫描 Python 项目,使用 LLM 生成测试用例,并在隔离的云环境中执行。

功能特性

  • 扫描 Python 项目以识别需要测试的模块。

  • 基于项目结构使用 LLM 生成测试用例。

  • 在隔离的 AgentBay 云会话中执行测试。

  • 将测试结果保存到本地日志文件。

  • 支持多种代理框架(目前支持 LangChain,计划支持其他框架)。

框架集成指南

本项目采用支持多种代理框架的结构。请参考特定的框架集成指南获取详细的设置和使用说明:

  • LangChain 集成指南:LangChain 框架的完整设置和使用说明。

项目源码参考auto-testing-agent

项目结构

本项目采用模块化结构,将核心功能与框架特定集成分离:

├── README.md              # 文档
├── .env                   # 环境变量
├── common/                # 公共核心功能
│   ├── sample_project/    # 用于测试的示例项目
│   └── src/               # 与框架无关的代码
│       └── base_auto_testing_agent.py # 基础测试代理类
├── langchain/             # LangChain 集成
│   ├── data/              # 输出数据目录(测试结果等)
│   ├── src/               # LangChain 特定代码
│   │   ├── auto_testing_agent.py          # LangChain 特定实现
│   │   └── auto_testing_agent_example.py  # LangChain 编排示例脚本
│   └── requirements.txt   # Python 依赖项

公共模块

common目录包含可在不同代理框架中使用的所有核心功能。包括:

  • 带有共享功能的基础测试代理类。

  • 项目扫描和分析功能。

  • 测试用例生成逻辑。

  • AgentBay 会话管理。

  • 测试执行和结果保存功能。

框架集成模块

框架特定目录(如 langchain)包含集成代码,这些代码使用公共模块的核心功能,并将其封装在框架特定组件中。

自定义

可以修改 common/sample_project/目录中的代码来测试您自己的 Python 项目,并更新示例脚本中的指令以匹配您特定的测试需求。