pytest介绍篇

一. pytest介绍

1.pytest它是目前最流行以及非常成熟的基于python的单元测试框架
2.它可以结合Selennlum,requests,applum实现ui自动化,接口自动化,app自动化
3.它可以和allure结合生成非常漂亮的定制的报告,还可以和jenkins实现持续集成
4.pytest有很多非常强大的插件
pytest (pytest包)
pytest-html(生成html报告)
pytest-xdist(多线程运行)
pytest-ordering(改变测试用例默认执行顺序)
pytest-rerunfailures (失败用力重跑,主要运用于ui自动化定位)
pytest-base-url 设置基础路径
allure-pytest 生成allure报告

学习前准备安装插件 : 新增一个requirements.txt
pytest介绍篇_第1张图片
安装方式:
注意:复制上去的时候把中文给删除掉
使用命令安装 pip install -r requirements.txt 或 直接点击安装要求去进行安装
注意:使用命令行进行安装的时候,要切换到当前项目的目录下

作用:
1.发现用例(根据它默认的规则找到测试用例)
2.执行用例
3.判断结果
4.生成报告

二. pytest默认的发现测试用例的规则

1.模块名必须以test_开头或者_test结尾
2.测试类必须以Test开头,并且不能带有init(初始化)方法
3. 测试方法必须以test开头

三.执行pytest测试用例

1.命令行执行:
1)直接执行命令 pytest 注意-要用英文
2)-vs
-v 输出更详细的信息
-s 输出调试信息
3)-n
-n 2 两个线程同时执行
4)–reruns
–reruns 失败用例重跑
5)–x
–x出现1个失败终止测试
6)-- maxfail
–maxfail=2 出现n次失败终止测试
7)–html
pytest --html=./reports/result.html 生成html报告
8) -k
-k 运行测试用例名称中包含字符串的用例
9) node id 指定测试用例执行
pytest ./testcase/user_manager/test_api.py::Testapi::test_case -vs

2.主函数执行

1)创建文件,使用主函数执行用例
import pytest

if __name__ == '__main__':
    pytest.main()

3.通过pytest.ini的配置文件执行
特点
1) 无论是命令行执行还是主函数进行执行都必须遵循pytest.ini文件的配置执行
2)pytest.ini文件是pytest的全局配置文件。(如同jemeter : jmeter.propties)
3)如果因为pytest.ini文件中写了中文注释,就需要把编码格式改成GBK

[pytest]
# 命令行参数
addopts = -vs
# 指定测试用例文件夹
testpaths = ./testcases
# 改变默认的模块规则
python_files = test_*.py
# 改变类的默认规则
python_classes = Test*
# 改变默认的用例规则
python_functions = test_*

# 用例标记分组

markers =
    smoke:冒烟测试

你可能感兴趣的:(pytest,单元测试)