# TASK - 报表自动化原子任务拆分 ## 任务依赖图 ```mermaid graph LR T1[环境准备] --> T2[Secsion登录逻辑] T2 --> T3[报表导出逻辑] T3 --> T4[94kan上传逻辑] T4 --> T5[主程序集成与测试] ``` ## 原子任务定义 ### T1: 环境准备 - **输入**: 无 - **动作**: 安装 `playwright`, `pytest-playwright`,初始化项目目录。 - **输出**: `requirements.txt`, 已安装的依赖。 - **验收**: 运行 `playwright install` 成功。 ### T2: Secsion 登录模块 - **输入**: 账号、密码、浏览器 Page。 - **动作**: 1. 访问登录 URL。 2. 处理证书警告(如有)。 3. 点击“店铺”角色。 4. 输入凭据并提交。 - **输出**: 成功跳转至首页。 - **验收**: 页面 URL 包含 `homepage`。 ### T3: 报表导出模块 - **输入**: 浏览器 Page, 日期字符串。 - **动作**: 1. 访问统计 URL。 2. 填充日期选择器。 3. 监听 `download` 事件。 4. 点击“导出报表”。 - **输出**: 导出的文件路径。 - **验收**: 文件存在于本地且大小大于 0。 ### T4: 94kan 上传模块 - **输入**: 浏览器 Page, 文件路径。 - **动作**: 1. 访问 94kan URL。 2. 定位上传组件。 3. 使用 `set_input_files` 设置文件。 - **输出**: 上传成功状态。 - **验收**: 页面显示“处理中”或上传进度。 ### T5: 主程序集成 - **输入**: 以上所有模块。 - **动作**: 串联流程,加入日志。 - **输出**: `main.py`。 - **验收**: 全流程自动运行成功。