Fork me on GitHub

pytest 学习 - 00 环境安装配置

前言

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

 

 

 

posted @ 2024-04-30 09:50  测栈云  阅读(14)  评论(0编辑  收藏  举报