前言
pytest是一个非常好用且成熟的全功能Python测试框架,个人觉得比传统的Unitest好多用了,现在面试如果写只会Unitest会被鄙视的。
主要有以下特点:
1.简单灵活,容易上手,参数化灵活。
2.测试用例支持很多机制像skip、xfail、自动失败重试等处理。
3.能够支持ui自动化测试(pytest+selenium)、接口自动化(pytest+requests)。
4.轻松扩展第三方插件,像报告插件pytest-allure(完美html测试报告生成),多CPU并发pytest-xdist等。
5.持续集成方面与jenkins很好的搭配。
6.文档:http://docs.pytest.org/en/latest/contents.html#toc
7.第三方库:https://pypi.org/search/?q=pytest
8.Github地址:https://github.com/pytest-dev/pytest/
pytest安装与依赖
python 3.7
# 安装pytest: pip install pytest # 查看pytest版本 pytest --version # 查看pytest帮助文档 pytest -h # 安装第三方插件 pip install pytest-sugar pip install pytest-rerunfailures pip install pytest-xdist pip install pytest-assume pip install pytest-html
pytest测试用例运行规则
1.查找用例的规则:
1.1. 文件:test_.py开头和_test.py结尾
1.2. 类:Test开头的类中test开头的方法(测试类不能带有__init__方法)
1.3. 模块:模块中test开头的函数(可以不在class中)
1.4. 注意点:
1.4.1. pytest是以方法为单位发现用例的,你写不写测试类都ok的。
1.4.2. 要执行哪个目录的用例,就在哪里目录按照以上规则查找。
2.自定义查找规则:pytest.ini,这里可以自定义查找规则。
3.用例执行顺序
3.1. Unittest用例执行顺序(pytest可以执行unittest框架写的用例和方法)
3.2. 根据ASCII码来排序
3.3. Pytest用例执行顺序
3.4. 文件名称按ASCII码排序
3.5. 文件内根据定义的方法的先后顺序,从上到下执行
参数说明
1. 打印详细运行日志信息:pytest -v (最高级别信息-verbose)
2. s是带控制台输出结果,也是输出详细,可以打印测试用例中print的输出:pytest -v -s 文件名
3. 执行单独一个pytest模块:pytest 文件名.py
4. 运行某个模块里面某个类:pytest 文件名.py::类名
5. 运行某个模块里面某个类里面的方法:pytest 文件名.py::类名::方法名
6. 跳过某个用例:pytest -k "类名 and not 方法名",如pytest -k "TestDemo and not test_one"
7. 运行带有某标记的测试用例(pytest.mark.标记名):pytest -m 标记名
8. 一旦运行到报错就停止运行:pytest -x 文件名
9. 当错误达到num的时候就停止运行:pytest --maxfail=[num]
pycharm配置与执行pytest
路径:File>Settings>Tools>Python Intergrated Tools
标签:00,test,py,用例,pytest,install,pip,安装 From: https://www.cnblogs.com/quxue/p/18164551