文章末尾给大家留了大量福利
一、mark标记
在实际工作中,我们要写的自动化用例会比较多,也不会都放在一个py文件中,如果有几十个py文件,上百个方法,而我们只想运行当中部分的用例时怎么办?
pytest提供了一个非常好用的mark功能,可以给测试用例打上各种各样的标签,运行用例时可以指定运行某个标签。mark功能作用就是灵活的管理和运行测试用例。
标签既可以打到方法上,也可以打到类上,标记的两种方式:
- 直接标记类或方法或函数:@pytest.mark.标签名
- 类属性:pytestmark = [pytest.mark.标签名, pytest.mark.标签名],需要注意的是属性名称是固定的
import pytest
@pytest.mark.beta # 可以给类打标签
class TestLogin: # 标记类
@pytest.mark.qc
@pytest.mark.beta # 也可以多个标签
def test_login(self): # 标记方法
pass
@pytest.mark.smoke # 单个标签
def test_register(): # 标记函数
pass
class TestClass:
# 加一个 pytestmark的类属性
pytestmark = [pytest.mark.qc, pytest.mark.beta] # 标签存放在一个列表
py