# selenium-pytest **Repository Path**: casual123/selenium-pytest ## Basic Information - **Project Name**: selenium-pytest - **Description**: 基于pytest+selenium+allure的UI自动化测试框架 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 18 - **Forks**: 0 - **Created**: 2023-02-23 - **Last Updated**: 2025-12-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pytest-master #### 项目介绍 该项目是一个web-ui自动化框架的测试项目,使用了pytest+selenium+allure+logging等框架技术 主要包括的功能有日志管理, 配置文件管理, 测试用例的数据和用例分离, 自动化测试, 测试报告Allure自动化报告等 #### 软件架构 | 软件名称 | 软件版本 | 备注说明 | | :------------------- | -------- | ---------------------------------- | | Python | 3.9.7 | python环境 | | Selenium | 3.141.0 | selenium环境 | | logging | 0.5.1.2 | python自带日志框架 | | PyYAML | 6.0 | 读取yaml配置文件 | | pytest | 6.0.1 | 执行python测试用例 | | pytest-ordering | 0.6 | 设置测试用例的执行顺序 | | allure-pytest | 2.17.3 | 生成html测试报告 | #### 模块说明 | 功能模块 | 说明 | | ------------- | -----------------------------------------------------| | allure-results| 生成allure报告的目录 | | allure-report | 生成可视化html测试报告 | | base | 基础组件层 selenium框架原生的api的一个通用的封装 | | config | 基础配置层 包括项目路径的配置 业务数据的配置yaml文件 | | img | 执行失败用例截图文件保存路径 | | log | 项目中的日志存储路径 | | page | 业务对象层 对于业务系统中的每一个模块页面的封装: 比如登录页面 | | testcase | 测试用例层 编写的测试用例, 本项目使用的是pytest测试用例 | | tool | 工具类封装, 存放一些封装的工具类,包含日志、断言控制器、打包zip、发送邮件等 | | conftest.py | 固定配置文件,存放公共token、配置信息以及需要执行的动作 | | pytest.ini | pytest的配置文件 | | run.py | pytest的启动执行文件 存放在项目的根目录 | #### 安装教程 1. 导入项目源码到项目中, 并且建议配置一个虚拟的venv的python环境 2. 在虚拟环境中执行 pip install -r requirements.txt 安装所有的依赖文件 3. 在本地配置并且下载安装allure环境(配置好环境变量) 4. 修改项目中的一些基础配置: conftest.py, config/data.yaml 5. 启动项目运行run.py 6. 在pycharm中打开测试报告index.html(注意不要直接在本地打开) #### 技术要点 1. selenium web自动化 2. pytest 测试框架 3. 日志管理框架logging 4. PyYAML yaml配置文件的使用和解析 5. assert_compare断言控制器 6. 装饰器设计模式的使用 7. allure测试报告 8. parameter参数化测试用例数据管理 9. pytest_runtest_makereport用例执行失败后自动截图