接口自动化测试服务器部署教程指南
为什么要单独部署接口自动化测试服务器
接口自动化测试脚本如果一直跑在你自己的电脑上,不仅关机就停,而且别人用它也没法运行。
把测试任务放到一台独立的服务器上,你可以设置定时任务每天跑一遍,还能通过 Jenkins 之类的工具触发。
本文就围绕“接口自动化测试服务器部署”这个需求,教你从零开始,在 Linux 服务器上搭建环境、编写脚本、设定自动执行并验证结果。
第一步:准备好一台 Linux 服务器
你需要一台能联网的 Linux 服务器。
如果你是新手,建议直接用 CentOS 7 或 Ubuntu 20.04 的云服务器(腾讯云、阿里云都行)。
最低配置 1 核 2 GB 就够了。
- 用 SSH 登录服务器(Windows 可以使用 Xshell 或 Putty,Mac/Linux 直接在终端输入命令)。
- 登录后先更新系统包:
# CentOS 系统
sudo yum update -y
# Ubuntu 系统
sudo apt update && sudo apt upgrade -y
更新完成后,服务器基础环境就准备好了。
第二步:安装 Python 3 和 pip
大多数 Linux 发行版自带 Python,但版本可能比较老。
接口自动化测试通常需要 Python 3.6+,建议安装 Python 3.9 或更高版本。
检查当前 Python 版本:
python3 --version
如果版本低于 3.6,或者干脆没有 Python3,可以用以下方式安装:
CentOS 7 安装 Python 3.9
# 安装 EPEL 和 IUS 软件源
sudo yum install -y epel-release
sudo yum install -y https://repo.ius.io/ius-release-el7.rpm
# 安装 Python 3.9
sudo yum install -y python39 python39-pip
# 设置软链接(方便直接用 python3 调用)
sudo alternatives --set python3 /usr/bin/python3.9
Ubuntu 20.04 安装 Python 3.9
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update
sudo apt install -y python3.9 python3.9-pip
# 设置默认 python3 指向 3.9
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1
安装完成后,验证一下:
python3 --version
pip3 --version
第三步:搭建接口测试运行环境
创建项目目录,并安装核心依赖:
mkdir -p /home/auto-test
cd /home/auto-test
创建虚拟环境(避免污染系统全局):
python3 -m venv venv
source venv/bin/activate # 激活虚拟环境
安装 requests 和 pytest:
pip install requests pytest
如果你需要测试报告或更多功能,可以再加:
pip install pytest-html allure-pytest
现在写一个简单的测试脚本,比如测试某个公开 API:
# test_api.py
import requests
def test_get_users():
url = "https://jsonplaceholder.typicode.com/users"
resp = requests.get(url)
assert resp.status_code == 200
assert len(resp.json()) > 0
保存到 /home/auto-test/test_api.py。
然后运行测试:
pytest test_api.py -v
如果看到绿色的 PASSED,说明环境搭建成功。
第四步:设置定时自动运行任务
接口自动化测试通常希望每天定时跑一次,这里用 Linux 自带的 crontab 实现。
编辑定时任务:
crontab -e
如果你是第一次使用,会提示选择编辑器(选 nano 或 vim 都行)。
添加一行:
0 8 * * * cd /home/auto-test && /home/auto-test/venv/bin/python -m pytest test_api.py -v >> /home/auto-test/log.txt 2>&1
这行表示每天早上 8 点执行测试,并把输出(包括错误)追加到 log.txt。
你可以根据自己的需要调整运行时间。
保存退出后,可以用 crontab -l 查看任务列表。
避坑指南与高频问题
1. 权限不够导致依赖安装失败
如果在 pip install 时遇到权限错误,不要用 sudo pip,那会弄乱系统环境。
请确保在虚拟环境中操作,或者使用 --user 参数(不推荐)。
2. Python 版本冲突
有些服务器同时存在 python2 和 python3,你可能需要用 python3 而不是 python。
建议始终使用 python3 和 pip3,或者激活虚拟环境后直接用 python。
3. 测试脚本无法执行
检查脚本是否可执行?
不是必需的,pytest 可以直接读取 .py 文件。
但记得文件内容没有语法错误。
4. crontab 环境变量问题
cron 执行时的环境变量很少,有时找不到 pytest 命令。
所以上面我们写了完整路径 /home/auto-test/venv/bin/python -m pytest,这能避免找不到解释器的坑。
5. 查看日志排查问题
定时任务执行后,去查看日志文件:
cat /home/auto-test/log.txt
如果日志为空或者报错,可以手动运行 crontab 中的命令来调试。
验证部署是否成功
你在服务器上手动执行完 pytest 并看到绿点后,已经验证了环境正确。
再检查一下 crontab 任务:
crontab -l # 确认有定时任务
然后你可以等第二天早上 8 点,或者直接临时修改 crontab 时间(比如改为下一分钟)测试一次。
执行后查看 log.txt 是否出现测试结果。
如果看到类似 “1 passed” 的信息,恭喜你,接口自动化测试服务器部署成功了!
总结
本文带你从选服务器、安装 Python、搭建依赖、编写脚本到设置定时任务,完整走了一遍“接口自动化测试服务器部署”的流程。
你不需要一开始就搞 Jenkins,先用 crontab 把自动化跑起来,再慢慢进阶。
如果你在操作中遇到上面没提到的问题,欢迎留言交流。