"""
Pytest框架介绍,test_开头或——test结尾命名
"""
import pytest


class Test():

    def test_01(self):
        print("这是一条注册用例")

    def test_02(self):
        print("这是一条登录用例")

    def test_03(self):
        print("这是一条xxx用例")
import pytest

pytest.main(["-s", "-m run"])  # 更加方便的运行用例


"""
组合使用,分优先级使用
pytest.main(["-v", "s"])
pytest.main(["-q", "s"])  # 报错
pytest.main(["-v", "p"])  # 报错
注意点:
1.命令可以共存
2.使用-q 的时候,是不可以使用-s,也不可以使用-v,因为优先级的效果
"""

'''
pytest.main(["-s"])
# 更加方便的运行用例[] list 在python中是一个数据类型,用于遍历
# pytest 运行命令的时候会去检索,列表里面的数据,
# 发现有-s,运行用例会显示用例中的输出 (print)
# -q 只显示整体的测试结果
# -v 用于显示每个测试函数的执行结果
import pytest


class Test():

    def setup_class(self):
        # print("类级别 预置条件") # 运行而不执行
        pass

    def teardown_class(self):
        print("类级别 重置环境")

    def setup(self):
        print("函数方法级别 预置条件")

    def teardown(self):
        # print("函数方法级别 重置环境")
        pass

    def test_01(self):
        print("这是一条注册用例")

    def test_02(self):
        print("这是一条登录用例")

    def test_03(self):
        print("这是一条xxx用例")


# 前置条件只限于当前py文件里面
# Pytest的高级语法之高级匹配
import pytest

'''
mark的方式; 可以使我们用例得到一个标签标识;
在用例**函数**上面 添加 @pytest.mark.XXX
XXX--是标识名称(自定义)
'''


class Test():

    def setup_class(self):
        #print("类级别 预置条件")

    def teardown_class(self):   #在teardown 后面加上一个:_class
        print("类级别 重置环境")

    def setup(self):
        print("函数方法级别 预置条件")
  
    def teardown(self):
        #print("函数方法级别 重置环境")

    @pytest.mark.run
    def test_01(self):
        print("这是一条注册用例")
        
    @pytest.mark.run
    def test_02(self):
        print("这是一条登录用例")

    def test_03(self):
        print("这是一条xxx用例")
        
"""
pytest装饰器,只运行带有标识符的用例:@pytest.mark.run
新建个py文件去运行如下图:
"""

import pytest


pytest.main(["-s", "-m run"])

"""
-m 是mark的缩写,去匹配标识为 run 的用例
# Pytest的高级语法之预置条件、重置环境的写法:

import pytest


class Test():

    # def setup_class(self):
    #     print("类级别 预置条件")
    # 
    # def teardown_class(self):   # 在teardown 后面加上一个:_class
    #     print("类级别 重置环境")

    # def setup(self):
    #     print("函数方法级别 预置条件")
    #
    # def teardown(self):
    #     print("函数方法级别 重置环境")

    @pytest.mark.run
    def test_01(self):
        print("这是一条注册用例")

    @pytest.mark.run
    def test_02(self):
        print("这是一条登录用例")

    def test_03(self):
        print("这是一条xxx用例")


'''
文件命名是固定写法: 只能命名为 conftest.py
写 预置条件和重置环境的函数
''' 
import pytest


@pytest.fixture(scope="function", autouse=True)
def fix():
    print("预置条件")
    yield
    print("重置环境")


"""
1、要在文件目录中,创建一个conftest.py;
在这个文件中引用pytest.fixtrue(scope="作用域",autouse=True) 
在文件中pytest.fixtrue构建一个函数,以装饰器的方式去构建一个函数:
ex:
@pytest.fixtrue(scope="作用域",autouse=True)
 def function()  # 函数(function)名字不规定
    构建预置条件
    yeild
    构置后置条件
 yeild:关键字;yeild返回内容之后,继续运行
"""



import pytest

pytest.main(["-s", "-m run"])
# 生成报告
import pytest

pytest.main(["-m run", "--html=report/report.html"]) 





"""
生成报告:
pytest-html
下载:pip install pytest--html
main["--html=文件路径.html"]
注意事项:
要在报告中显示输出的内容,需要在命令中不要使用: -s /-v /-q
"""


本文已存档:链接:https://pan.baidu.com/s/1l053GiWitZJb_dpHLBHT7g?pwd=