基于superpowers生成的UI 自动化测试框架设计文档skill
主题: 基于 pytest Playwright 的 UI 自动化测试框架技术选型维度选择理由浏览器驱动Playwright内置浏览器管理速度快API 简洁与 pytest 集成成熟设计模式POM (Page Object Model)页面逻辑与测试分离维护性强配置管理pytest.ini conftest.py标准 pytest 生态做法简洁够用报告Allure可视化报告支持步骤标记、截图附件项目结构ui-test-framework/ ├── pytest.ini # pytest 配置 ├── conftest.py # fixturesbrowser 生命周期管理 ├── pages/ # Page Object 层 │ ├── __init__.py │ └── baidu_page.py # 百度首页 搜索结果页 ├── tests/ # 测试用例层 │ ├── __init__.py │ └── test_baidu_search.py # 搜索世界杯赛程测试 ├── utils/ # 工具层 │ ├── __init__.py │ └── driver.py # Playwright browser 工厂 └── requirements.txt # 依赖分层职责pages/— 封装百度首页的搜索框、搜索按钮等元素定位和操作方法tests/— 纯测试逻辑调用 Page 方法断言结果utils/— Playwright browser 实例的创建与销毁conftest.py— 为每个测试函数自动注入 browser 和 page 对象测试流程conftest.py fixture 启动 Chromium 浏览器headless 模式注入 page 对象到测试函数测试函数创建 BaiduPage 实例BaiduPage.open() → 导航到 https://www.baidu.comBaiduPage.search(世界杯赛程) → 输入关键字并搜索等待搜索结果加载断言搜索结果标题包含世界杯赛程fixture teardown 自动关闭浏览器Allure 集成运行:pytest --alluredirreports/allure-results生成:allure generate reports/allure-results -o reports/allure-report --clean查看:allure open reports/allure-report使用allure.step()标记步骤失败自动截图依赖pytestpytest-playwrightallure-pytestplaywright