pytest自动化框架,就conftest配置文件、common中间层公共方法、测试用例、数据驱动、allure、pytest、fixture、logs,写一份操作pytest测试框架使用介绍指南?
时间: 2023-08-22 09:05:20 浏览: 107
2021最全pytest自动化测试框架V43完整版.pdf
5星 · 资源好评率100%
好的,下面是使用pytest测试框架的一些指南:
1. 安装pytest
使用pip安装pytest模块:
```
pip install pytest
```
2. 创建测试用例
在项目目录中创建一个名为`test_*.py`(*代表任意字符)的测试用例文件,例如:
```
# test_math.py
def test_add():
assert 1 + 1 == 2
def test_subtract():
assert 2 - 1 == 1
```
3. 运行测试用例
在命令行中进入项目目录,执行以下命令:
```
pytest
```
pytest会自动识别当前目录下的测试用例文件,并执行其中的测试用例。
4. 使用fixture
fixture是pytest中非常重要的一个概念,它可以提供一些测试用例所需要的前置操作或者后置操作。例如:
```
# conftest.py
import pytest
@pytest.fixture
def setup():
print("执行测试用例前的准备工作")
yield
print("执行测试用例后的清理工作")
```
```
# test_math.py
def test_add(setup):
assert 1 + 1 == 2
def test_subtract(setup):
assert 2 - 1 == 1
```
在测试用例中使用fixture时,需要在测试用例的参数中指定fixture的名称,例如:`def test_add(setup):`。
5. 参数化
pytest支持参数化测试,可以通过`@pytest.mark.parametrize`装饰器来实现。例如:
```
# test_math.py
import pytest
@pytest.mark.parametrize("a,b,result", [(1, 1, 2), (2, 1, 1), (0, 0, 0)])
def test_add(a, b, result):
assert a + b == result
```
6. 使用allure生成报告
pytest可以结合allure生成漂亮的测试报告。安装allure命令行工具:
```
brew install allure
```
在pytest中使用allure时,需要安装pytest-allure插件:
```
pip install pytest-allure
```
使用allure生成测试报告:
```
pytest --alluredir=./report
allure serve ./report
```
7. 编写中间层公共方法
在项目中,如果有多个测试用例需要用到同一个方法,可以将这些方法放在一个common.py中。例如:
```
# common.py
def login(username, password):
print("登录操作")
```
在测试用例中使用common.py中的方法:
```
# test_math.py
from common import login
def test_add():
login("admin", "123456")
assert 1 + 1 == 2
```
8. 使用日志记录测试过程
在测试过程中,可以使用logging模块记录日志。例如:
```
# test_math.py
import logging
def test_add():
logging.info("执行加法测试用例")
assert 1 + 1 == 2
```
可以通过设置logging的level来控制日志的输出级别。
这就是使用pytest测试框架的一些指南。希望能够对你有所帮助!
阅读全文