在前面的章节中,分别介绍了 Web、App、接口自动化测试用例的生成。但是在前文中实现的效果均为在控制台打印自动化测试的用例。用例需要手动粘贴,调整之后再执行。
那么其实这个手动粘贴、执行的过程,也是可以直接通过人工智能完成的。
应用价值
- 通过人工智能代替人工操作的部分,节省时间,提升效率。
- 通过封装更多的 Tools,让 Agent 更为智能。
实践演练
实现原理
实现思路
在理解需求之后,我们可以了解到我们需要让 Agent 具备两个功能:
- 输入源码信息,生成 python 文件。
- 输入文件名,执行 pytest 测试文件功能。
如此,可以通过如下两个步骤实现需求:
- 工具包封装。
- 实现 Agent。
工具包封装
为了让工具包更易被大模型理解,我们将注释调整为英文,提升准确率。同时为了传参的时候不出现格式错误问题,通过args_schema
限制参数结构与格式(tools 章节有具体讲解)。
from langchain_core.tools import tool
from pydantic.v1 import BaseModel, Field
class PythonFileInput(BaseModel):
# 定义参数的描述
filename: str = Field(description="filename")
source_code: str = Field(description="source code data")
class PytestFileName(BaseModel):
# 定义参数的描述
filename: str = Field(description="The name of the file to be executed")
@tool(args_schema=PythonFileInput)
de