Pytest一(安装及入门)
1,特点
:1. 简单灵活,容易上手;支持参数化; 测试用例的skip和xfail 处理;
2. 能够支持简单的单元测试和复杂的功能测试,还可以用来做 selenium/appium等自动化测试、接口自动化测试 (pytest+requests);
3. pytest具有很多第三方插件,并且可以自定义扩展, 比较好 用的如 pytest-allure(完美html测试报告生成) pytest-xdist (多CPU分发)等;
4. 可以很好的和jenkins集成;**
5.
2、安装
pip install -U pytest
检查版本
$ pytest --version
This is pytest version 3.x.y,imported from $PYTHON_PREFIX/lib/python3.6/site-packages/pytest.py
运行方式:py.test -q test_class.py(在文件目录下执行命令运行指定脚本)
3、pytest测试用例编写规则:

5、所有的包pakege必须要有__init__.py文件
示例:
import pytest
def add(x,y):
return x + y
class Test_demo(object):
def testcase_01(self):
assert add(1,2)==4
if __name__ == '__main__':
pytest.main()

pytest运行规则:查找当前目录及其子目录下以test_*.py或*_test.py文件,找到文件后,在文件中找到以test开头函数并执行。
4、测试类

import pytest
class TestClass:
def test_one(self):
x = "this"
assert 'h' in x
def test_two(self):
x = "hello"
assert hasattr(x, 'check')
if __name__ == '__main__':
pytest.main()

六、用例运行规则
1、python -m
cmd执行pytest用例有三种方法,以下三种方法都可以,一般推荐第一个
-
pytest
-
py.test
-
python -m pytest
2、执行用例规则
2.1.执行某个目录下所有的用例
pytest 文件名/
2.2 执行某一个py文件下用例
pytest 脚本名称.py
2.3 -k 按关键字匹配

2.4.按节点运行
运行.py模块里面的某个函数:pytest test_mod.py::test_func
运行.py模块里面,测试类里面的某个方法:pytest test_mod.py::TestClass::test_method
2.5 按标记表达式
pytest -m slow:将运行用@ pytest.mark.slow装饰器修饰的所有测试。
2.6 .从包里面运行
pytest —pyargs pkg.testing:这将导入pkg.testing并使用其文件系统位置来查找和运行测试。
3、-x 遇到错误时停止测试
pytest -x test_class.py
4、—maxfail=num
pytest —maxfail=1
当用例错误个数达到指定数量时,停止测试
5、pycharm运行三种方式
1、1.以xx.py脚本方式直接执行,当写的代码里面没用到unittest和pytest框架时,并且脚本名称不是以test_开头命名的,此时pycharm会以xx.py脚本方式运行

2、当脚本命名为test_xx.py时,用到unittest框架,此时运行代码,pycharm会自动识别到以unittest方式运行

3、以pytest方式运行,需要改该工程设置默认的运行器:file->Setting->Tools->Python Integrated Tools->项目名称->Default test runner->选择py.test

6、pycharm写pytest代码



浙公网安备 33010602011771号