# TPshop-WebAutomatic **Repository Path**: flySpaceX/TPshop-WebAutomatic ## Basic Information - **Project Name**: TPshop-WebAutomatic - **Description**: tpshop商城web自动化项目。登录,搜索添加购物车自动化 项目使用PO二次封装模式 python+pytest+selenium+allure - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-06-05 - **Last Updated**: 2025-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: web自动化 ## README 该项目是一个基于Python的Web自动化测试框架,用于对TPshop电商平台进行自动化测试。框架结构清晰,采用了模块化的设计思想,便于维护和扩展。 --- ## 📌 功能简介 - 提供基础页面操作方法(`base/base_page.py`),如元素查找、点击、输入内容、切换iframe等。 - 实现了页面对象模型(Page Object Model),如首页(`page/home_page.py`)、登录页(`page/login_page.py`)、搜索页(`page/search_page.py`)等。 - 包含测试脚本(`scripts/test_login.py` 和 `scripts/test_add_cart.py`),使用pytest进行参数化测试,并结合JSON文件(`data/login_data.json`)进行数据驱动。 - 工具类(`utils.py`)提供驱动管理、JSON数据读取、日志配置初始化等功能。 --- ## 🧰 技术栈 - Python 3.x - Selenium - pytest - JSON - Git(用于版本控制) --- ## 📁 目录结构 ``` . ├── base/ # 基础类 │ ├── __init__.py │ └── base_page.py # 基础页面类 ├── config.py # 配置文件 ├── data/ # 测试数据 │ └── login_data.json # 登录测试数据 ├── page/ # 页面对象类 │ ├── home_page.py # 首页操作类 │ ├── login_page.py # 登录页操作类 │ └── search_page.py # 搜索页操作类 ├── scripts/ # 测试脚本 │ ├── test_login.py # 登录测试脚本 │ └── test_add_cart.py # 加入购物车测试脚本 └── utils.py # 工具类 ``` --- ## ⚙️ 安装与使用 ### 1. 安装依赖 ```bash pip install selenium pytest loguru ``` ### 2. 配置 请根据需要修改 `config.py` 中的测试配置信息,如浏览器类型、测试URL等。 ### 3. 运行测试 进入 `scripts` 目录,运行以下命令: ```bash pytest test_login.py pytest test_add_cart.py ``` --- ## 🧪 测试功能 ### 登录测试(`test_login.py`) - 支持参数化测试,使用 `login_data.json` 提供多组用户名、密码和验证码。 - 验证登录失败或成功时的提示信息。 ### 加入购物车测试(`test_add_cart.py`) - 测试商品加入购物车功能。 - 可指定商品索引和页面索引,便于测试不同商品。 --- ## 📦 工具类功能 - `DriverUtil`:管理浏览器驱动的初始化和关闭。 - `readJson`:读取JSON测试数据。 - `init_log_config`:初始化日志配置。 - `get_tips_msg`:获取页面提示信息,用于断言。 --- ## 📸 截图功能 测试过程中如发生异常,可调用 `save_screenshot` 方法保存当前页面截图,便于后期分析问题。 --- ## 📜 许可证 该项目未明确指定许可证,请查看根目录下的 `LICENSE` 文件(如果存在)以获取详细信息。 --- ## 🤝 贡献指南 欢迎贡献代码!请遵循以下步骤: 1. Fork 仓库 2. 创建新分支 (`git checkout -b feature/new-test`) 3. 提交更改 (`git commit -m 'Add some feature'`) 4. 推送分支 (`git push origin feature/new-test`) 5. 提交 Pull Request --- ## 📬 联系方式 如有问题或建议,请访问 [Gitee 项目页面](https://gitee.com/flySpaceX/TPshop-WebAutomatic) 提交 issue。 --- ## 📦 项目状态 该项目目前主要用于演示和学习 Web 自动化测试,适合初学者理解页面对象模型和数据驱动测试的结构。