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代码

 

 

 

 

posted @ 2021-01-22 18:35  水绿冰蓝  阅读(135)  评论(0)    收藏  举报