前面使用pytest.main来运行case,也可以通过pytest命令在命令行中运行,可以指定运行哪个文件里面的case,从哪个目录下查找case等等。

    下面是几个常用的参数
    -s: 显示程序中的print/logging输出
    -v: 丰富信息模式, 输出更详细的用例执行信息
    -q: 安静模式, 不输出环境信息
    -k:关键字匹配,用and或者or区分:匹配范围(文件名、类名、函数名)
    -m:mark匹配

    下面是代码具体的使用方式

    1. import pytest
    2. class TestCase:
    3. def test_print(self):
    4. print("test_print")
    5. def test_hello(self):
    6. print("test_hello")
    7. def test_normal(self): # 可以加多个标签
    8. print("test_normal")
    9. def test_user_class(self): # 可以加多个标签
    10. print("test_user_class")
    11. class TestCase2: # 装饰类的方式
    12. @pytest.mark.online
    13. def test_mygod(self):
    14. print("test_mygod!!!")
    15. @pytest.mark.smoke
    16. @pytest.mark.onlie
    17. def test_my(self):
    18. print("test_my!!!!")
    19. class TestCase3:
    20. def test_car(self):
    21. print("test_car!!!")
    22. def test_car1(self):
    23. print("test_car!!!")
    24. def test_fly(self):
    25. print("test_fly!!!!")
    26. @pytest.mark.smoke
    27. def test_user(): # 可以加多个标签
    28. print("test_user")
    29. if __name__ == '__main__':
    30. # pytest.main() #如果什么也不指定,从当前目录下所有文件夹里面搜索case
    31. # pytest.main(["-q",__file__]) #安静模式,不会显示pytest版本信息等等
    32. # pytest.main(["-v",__file__]) #详细模式,会打印每条case执行结果,指定python文件
    33. # pytest.main(["-s",__file__]) #展示模式,函数里面有print或者日志输出,会展示,指定python文件
    34. # pytest.main(["-vs",__file__]) #展示模式+详细模式,指定python文件
    35. # pytest.main(["-vs","./cases"]) #展示模式+详细模式,指定目录
    36. # pytest.main(["./cases","-k","login"]) #指定运行包含login关键字的,包括 py文件、类、函数
    37. # pytest.main(["./cases","-k","login or register"]) #指定运行包含login或者register关键字的,包括 py文件、类、函数
    38. # pytest.main(["./cases","-k","login and online"]) #指定运行包含login并且包含online关键字的,包括 py文件、类、函数
    39. # pytest.main(["./cases","-m","smoke"]) #指定运行smoke标签的case
    40. # pytest.main(["./cases","-m","smoke or online"]) #指定运行smoke或者online标签的case
    41. # pytest.main(["./cases","-m","smoke and online"]) #指定运行smoke是并且是online标签的case
    42. pytest.main(["./cases", "-sk", "user", "-m", "smoke"]) # 指定运行名称中包含user的,标签是smoke的case