# 回顾
# pytest是什么
# pytest基本用法
# pyest参数化
# pytest的fixture和conftest.py  conftest.py固定

# 搭建自动化框架  pom设计模式去做的自动化框架
# pom应用在web自动化和app自动化

# 主流的框架设计模式两种：1.关键字驱动 2.pom设计模式
# 团队情况 不会代码的很多人员 关键字驱动  会代码的多 pom设计模式
# 有什么区别？悬念

# pom设计模式
# pom  page object model（页面对象模型）
# 设计模式就是设计框架的一种思维方式  解决问题的思维方式
# 到底解决什么问题：
# 线性代码：复用性不好的  往写好的代码里面加新功能  之前的代码很容易出现问题  相当于让整个代码报废了
# 不好维护 不好扩展  不好加新功能  不好结合pytest allure测试报告

# pom最大的特定  项目结构是非常清晰
# base文件夹  封装项目中经常要做的操作  访问 元素定位 窗口切换函数。。。类 工具箱   函数 工具  打开浏览器 之后
# page文件夹  项目中一个个的页面  登陆的页面 py文件  评论页面  管理页面
# test_case用例文件夹  登陆的用例   登陆-管理流程用例  写法不固定 很灵活
# data测试数据文件  正常场景的数据  异常场景的数据
# report 测试报告
# 邮件文件夹
# 各种配置文件夹

# 用代码实现了
# 流程：
# 1.登陆--新建章节
# 2.登陆-评论
# pom框架来实现一下


# 回顾
# 搭建pom框架
# 1.pom设计模式
# base 常用的操作封装在这里
# page文件夹  项目中的页面分开 分成一个个的页面
# test_case文件夹 用例文件夹 测试用例  登陆 不同的数据
# data文件夹  数据
# common文件夹 读取数据文件

# 浏览器是怎么创建  conftest
# 传输的

# conftest放在跟目录 报错  检查一下pytest版本  高版本
# 降低一下自己的pytest版本 7.1.2
# ERROR at setup of TestCase.test_login
# file D:\python\web_project20240529\day09\test_casellogin_test.py, line 15
# def test_login(self, driver):
# E7
# fixture 'driver' not found
# available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest namespace, monkeypatch, pytestconfig, record property, recrd testsuite property,
# re.
# use 'pytest --fixtures [testpath]' for help on them.


