pytest
插件
pytest
pytest-html 生成html格式的自动化测试报告
pytest-xdist 测试用例分布执行,多cup分发
pytest-ordering 改变测试用例执行顺序
pytest-rerunfailures 用例失败重跑
allure-pytest 生成美观的测试报告
安装 pip install -r txt
安装 pip install -U pytest
查看版本
pip show pytest
pytest --version
测试函数执行
用例文件夹中打开命令行,执行pytest 或py.test
pytest运行规则:查找当前目录及其子目录下以test_*.py或*_test.py文件,找到文件后,在文件中找到以test开头函数并执行。
测试类执行
模块名:test_ 、_test
测试类:Test开头,不能有__init__方法
测试方法:必须以test开头
pytest会找到符合规则(test_.py和_test.py)所有测试,因此它发现两个test_前缀功能。 如果只想运行其中一个,可以指定传递文件名test_class.py来运行模块:
备注: -q, --quiet decrease verbosity( 显示简单结果)
py.test -q test_class.py
- 文件名以test_*.py文件和*_test.py
- 以test_开头的函数
- 以Test开头的类,test_开头的方法,并且不能带有__init__ 方法
- 所有的包pakege必须要有__init__.py文件
- 断言使用assert
主函数模式
(1)运行所有,pytest.main()
(2)运行指定模块 :加模块名
参数详解:pytest.main(['-s'])
-s:表示输出调试信息
-v:详细信息
命令行模式
(1)pytest
参数详解:
通过读取pytest.ini配置文件执行
用例执行等级
pytest.mark.run(order=1)
用例分组
pytest.mark.smoke (smoke是组名)
跳过用例
pytest.mark.skip(reason="跳过原因")
pytest.mark.skipif(1==1, reason="跳过原因")
setup/teardown
setup_class/teardown_class
@pytest.fixture()
scope:表示的是被标记的方法的作用域
params:参数化
autouse:自动执行
ids:参数化别名
name:方法别名
生成json格式的临时报告
--alluredir ./report/json

浙公网安备 33010602011771号