服务器上部署AI自动化测试脚本完整教程
为什么需要AI自动化测试脚本
传统手工编写测试用例耗时且容易遗漏,而AI自动化测试脚本能借助大语言模型自动生成测试逻辑,再交由pytest等框架批量执行,大幅提升测试覆盖率和效率。
本文面向零基础运维用户,直接在一台Linux服务器上完成从环境搭建到跑通第一个AI辅助测试的全部步骤。
前置准备:服务器与Python环境
操作前请确认你有一台能联网的Linux服务器(CentOS 7+或Ubuntu 20.04+),并且拥有sudo权限。
以下是必须的准备工作:
- Python 3.8 或更高版本。使用
python3 --version检查,如果低于3.8,可以运行sudo apt install python3 python3-pip(Ubuntu)或sudo yum install python3 python3-pip(CentOS)升级。 - 虚拟环境工具venv。执行
python3 -m venv --help确认可用,若提示未安装,用sudo apt install python3-venv补充。 - 准备一个OpenAI API Key。如果你还没有,去platform.openai.com注册并生成,注意保管好密钥。
分步操作:搭建AI测试脚本运行环境
1. 创建项目虚拟环境
切换到你的工作目录(比如/home/test),执行:
python3 -m venv ai_test_env
source ai_test_env/bin/activate
激活后终端前面会出现(ai_test_env)提示符,表示当前在虚拟环境中。
2. 安装核心依赖包
在虚拟环境下安装pytest(测试框架)和requests(调用AI API):
pip install pytest requests
如果后续需要测试Web页面,还可以安装selenium,但本文以接口测试为例。
3. 编写AI生成测试用例的脚本
新建文件gen_test.py,内容如下:
import requests
import json
import os
def generate_test_cases(api_key, function_desc):
"""调用OpenAI生成pytest风格的测试用例代码"""
url = "https://api.openai.com/v1/chat/completions"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
prompt = f"请为以下函数生成pytest测试用例:{function_desc}\n只输出Python代码,不要解释。"
data = {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": prompt}],
"temperature": 0.3
}
response = requests.post(url, headers=headers, json=data)
response.raise_for_status()
return response.json()["choices"][0]["message"]["content"]
if __name__ == "__main__":
api_key = os.environ.get("OPENAI_API_KEY")
if not api_key:
print("请设置环境变量 OPENAI_API_KEY")
exit(1)
func = "add(a, b) 返回a与b的和"
code = generate_test_cases(api_key, func)
print(code)
运行python gen_test.py,如果能正常输出pytest代码,说明API可用。
4. 集成到自动化测试流程
创建一个test_simple.py文件,粘贴上面生成的用例并适当调整,例如:
import pytest
def add(a, b):
return a + b
def test_add_positive():
assert add(1, 2) == 3
def test_add_zero():
assert add(0, 0) == 0
运行pytest:
pytest test_simple.py -v
看到两个测试都通过(绿色PASSED)即表示你的AI自动化测试脚本流程已打通。
避坑指南
- API密钥安全:不要将Key硬编码在脚本里,推荐使用环境变量(如
export OPENAI_API_KEY='sk-xxx'),并将gen_test.py添加到.gitignore。 - 网络超时:国内服务器调用OpenAI API可能会遇到超时,可以给requests增加timeout参数(
timeout=30),或使用代理。 - 依赖版本冲突:如果安装过程中提示包版本冲突,建议先升级pip:
pip install --upgrade pip,再逐个安装。 - 模型限制:免费API可能有速率限制,生成大量用例时建议加入sleep间隔或使用本地模型。
效果验证与常见问题
验证方法
- 确认pytest执行后所有用例通过,无ERROR或FAILED。
- 修改add函数逻辑(例如返回值改为a+b+1),再运行pytest应出现失败,证明测试脚本有效。
常见问题解答
Q:生成代码格式不对,pytest无法运行怎么办?
A:检查API返回的内容是否包含Markdown代码块标记,可以用正则提取纯Python代码。
Q:怎样对Web页面做AI自动化测试?
A:安装selenium和浏览器驱动,在prompt中加入“使用selenium”和页面操作描述,AI会自动生成对应的测试脚本。
Q:没有OpenAI API可以用本地模型吗?
A:可以,部署Ollama或llama.cpp后,修改gen_test.py中的请求地址和模型名即可。
总结
本文完整演示了如何在服务器上从零搭建AI自动化测试脚本环境,并跑通一条“调用API→生成用例→pytest执行”的链路。
如果你后续需要处理更复杂的业务逻辑,建议先按本文验证基础环境,再逐步加入selenium、数据驱动等功能。
遇到异常时优先检查API密钥、网络联通和依赖版本,多数问题都能在避坑部分找到答案。