[TOC]
# **实战**
## 一、**fixture方法(替换setup)**
1、添加装饰器@pytest.fixture()变成装饰器

2、用法一:在测试用例中传入方法名,即可调用

3、用法二:使用装饰器方法调用(好处是不用动到里面的参数)

## 二、**yield方法(可以激活fixture的,teardown功能)**
1、Yield返回值

2、获取fixture方法的返回值

## 三、**fixture作用域**
1、function函数或者方法界别都会被调用
每一个测试用例都会调用

2、Class类级别调用一次
只在class前后执行一次

3、Module模块级别调用一次
在整个\*.py文件中只调用一次

4、Session是多个文件调用一次
## 四、**conftest.py用法**
1、conftest下的fixture方法,其他同级文件可以直接调用
2、Params参数化调用
如果有yield方法,就不需要return调用参数

## 五、**pytest配置文件**
### **自定义mark标签名**
1、写在pytest.ini文件中

2、Pytest的主配置文件,一般放在项目工程的根目录
3、指定pytest的运行方式
4、不能使用任何中文符号
5、可以给测试用例打上标签,指定执行特定标签的用例

6、执行方法

### **Addopts运行时参数(可添加多个命令行参数,空格分隔,所有参数与命令行一致)**
1、写在pytest.ini文件中
执行pytest \*\_.py命令时,自动带入
多个参数时,空格写在后面即可

2、自定义测试文件的命名规则,python\_files
在pytest.ini文件中,注释用“;”

3、自定义测试类的命名规则,python\_classes

4、自定义测试方法的命名规则,python\_functions

5、指定特定路径运行 testpaths = baidu

6、忽略路径 norecursedirs 用例较多时,可以提升运行效率

### **Pytest插件**
1、失败重跑
指定重跑次数

指定重跑间隔

也可以通过装饰器的方式

2、pytest-assume列出失败的用例
安装pytest-assume

1、pytest-ordering控制测试用例的执行顺序(建议测试用例不要有顺序,不要有依赖)


2、pytest-xdist多线程执行测试用例
安装

\-n参数3(线程数)
