[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(線程數)
