Auto_Test 开源框架速览:快速搭建你的自动化测试流水线
·
仓库地址:https://gitcode.com/qq_36002987/auto_test
摘要
Auto_Test 是一套轻量级的自动化测试脚手架,覆盖接口、Web UI、移动端及性能测试。项目采用 Python3 + Pytest 为核心,集成 Allure 报告、Jenkins 流水线及 Docker 化执行,可帮助团队在数小时内落地完整的自动化测试闭环。
一、项目定位
| 维度 | 说明 |
|---|---|
| 目标人群 | 中小型研发团队、个人测试工程师 |
| 技术栈 | Python3、Pytest、Requests、Selenium、Appium、Locust |
| 运行环境 | 本地、Docker、Jenkins、GitLab CI |
| 许可证 | MIT |
二、目录结构速读
auto_test
├── config # 全局配置(环境、数据库、账号)
├── api # 接口测试用例
├── web # Web UI 测试用例
├── app # 移动端测试用例
├── performance # Locust 性能脚本
├── common # 公共方法(日志、断言、数据库连接)
├── reports # Allure 结果 & 历史趋势
├── requirements.txt # 依赖列表
├── Dockerfile # 一键容器化
└── Jenkinsfile # CI/CD 示例
三、5 分钟快速开始
1. 环境准备
git clone https://gitcode.com/qq_36002987/auto_test.git
cd auto_test
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
2. 运行示例
- 接口测试
pytest api/test_login.py --alluredir=reports
allure serve reports
- Web UI 测试(Chrome)
pytest web/test_baidu.py --browser=chrome --headless=false
- 移动端(Android 真机)
pytest app/test_settings.py --device=android --udid=your_device_id
3. Docker 一键执行
docker build -t auto_test .
docker run --rm -v $PWD/reports:/app/reports auto_test
四、核心特性
| 特性 | 说明 |
|---|---|
| 统一配置管理 | 通过 config/env.yml 切换测试/预发/生产环境 |
| 即插即用的用例模板 | 内置 PageObject、BaseRequest、BaseApp 模板 |
| Allure 可视化报告 | 支持历史趋势、失败截图、接口链路追踪 |
| 并发执行 | 利用 pytest-xdist 实现多进程并发 |
| CI/CD 模板 | Jenkinsfile & GitLab CI 示例已就绪 |
五、最佳实践
- 环境隔离 在
config/env.yml中配置多套环境变量,避免脚本硬编码。 - 数据驱动 使用
@pytest.mark.parametrize+ CSV/JSON 文件批量生成用例。 - 失败重试 在
pytest.ini开启addopts = -x --reruns=2提升稳定性。 - 报告归档 Jenkins 构建后将 Allure 结果推送至 Nginx 目录,支持历史回溯。
六、常见问题速查
| 问题 | 解决要点 |
|---|---|
| WebDriver 版本不匹配 | 使用 webdriver-manager 自动下载对应浏览器驱动 |
| 移动端无法连接 | 确认 adb devices 已识别,并安装对应 Appium server |
| Allure 报告中文乱码 | 启动时加 -Dfile.encoding=UTF-8 |
| 容器内无显示 | Docker 运行时加 -v /tmp/.X11-unix:/tmp/.X11-unix 并设置 DISPLAY |
七、结语
Auto_Test 通过“开箱即用”的脚本模板与完整的 DevOps 模板,把自动化测试的落地时间从“周”缩短到“小时”。建议从接口测试切入,逐步扩展至 UI 与性能,最终实现测试左移与持续交付。欢迎 Star & Fork,贡献你的改进!
更多推荐


所有评论(0)