仓库地址: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 示例已就绪

五、最佳实践

  1. 环境隔离 在 config/env.yml 中配置多套环境变量,避免脚本硬编码。
  2. 数据驱动 使用 @pytest.mark.parametrize + CSV/JSON 文件批量生成用例。
  3. 失败重试 在 pytest.ini 开启 addopts = -x --reruns=2 提升稳定性。
  4. 报告归档 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,贡献你的改进!

更多推荐