自动化测试 - pytest自动化测试入门介绍
Pytest测试用例的运行方式
1、主函数模式:
1、运行所有:pytest.main()
2、指定文件:pytest.main([‘-vs’], ‘test_login.py’) # 指定运行test.login.py模块的case,其他的不执行
3、指定目录:pytest.main([‘-vs’, ‘./interface_cases’]) # 指定当前目录下的 interface_cases目录下的用例
4、通过nodeid执行指定文件内的某个方法:pytest.main([‘’-vs, ‘/.interface_cases/Test_login.py::TestInterface::test_login’])
2、命令行模式:
1、运行所有:pytest
2、
3、通过读取pytest.ini配置文件运行
1、pytest.ini是pytest单元测试框架的核心配置文件
2、位置:位置一般放在项目根目录
3、编码:必须是ANSI
4、作用:改变pytest默认的行为
5、运行规则:不管是主函数的模式运行,还是命令行模式运行,都会读取pytest.ini配置文件
6、使用样例:
[pytest]
addopts = -vs # 执行时添加的参数,空格分隔
testpaths = ./cases # 要执行用例的存放目录,比如当前目录下的cases目录,逗号分隔
python_files = test_*.py # 执行的文件以 test_开头的
python_classes = Test # 执行的case的类名是以Test开头的
python_functions = test # 执行的case的方法名是以 test开头的
markers = # 给用例打标签
smoke
login
参数详解:
pytest.main([参数列表])
参数是一个列表的形式
比如:
-s : 表示输出调试信息,包括print信息;使用时:pytest -s
-v : 表示详细的方式进行执行case,会输出类名等信息
-vs : 表示以上两个参数合并同时使用
-n : 支持多线程或者分布式运行用例
例如:-n 2 : 开启两个线程执行
pytest -vs test_login.py -n 2
—return 数字 : 表示失败的用例重复执行次数
例如:pytest —vs ./interface_cases --return 2 # 当前目录下interface_cases目录下的case当有失败时会将失败的case再继续执行两次,也就是失败的case共执行3次
-x : 当有case失败时,停止执行
--maxfail 数字 : 当失败次数达到这个数字后,停止执行
-k “关键字” : 只执行函数名包含 “关键字” 的用例
-m “标签”:指定执行某个标签的case
测试用例分组执行:
测试用例设置标签,执行执行某个标签下的用例
场景:smoke,冒烟测试用例,分布在各个模块下的,可以指定一个mark,然后执行
@pytest.mark.smoke
eg: pytest -vs -m “smoke or login” # 多个mark时,可加逻辑运算符 or
测试用例跳过执行:
1、无条件的跳过
@pytest.mark.skip(reason=“跳过执行的原因描述”)
2、有条件的跳过
@pytest.mark.skipif(age>18,reason=“age小于18,还是未成年”)
本文来自博客园,作者:alisleepy,转载请注明原文链接:https://www.cnblogs.com/alisleepy/p/15554120.html