今天和大家分享一下pytest测试框架的基础篇,内容包括:
– 了解pytest测试框架的特点
– 掌握pytest基本使用
– 掌握pytest常用的场景
– 掌握pytest运行参数和配置方法
目录
一、测试框架的作用和类型
1.1 测试框架
概念:测试框架,对测试用例进行发现、组织、执行、记录、报告等管理操作,从而帮助测试人员更好的设计、开发自动化测试脚本。
1.2 关于Python的测试框架
| 框架 | 优点 | 缺点 |
|---|---|---|
| RF |
关键字驱动 丰富的插件 良好扩展性 |
不方便自定义测试报告 不方便进行测试 |
| UnitTest |
python内置 xUnit用法 使用方便 |
命名风格和Python不一致 过多的支持抽象,面向对象 缺少插件,没法扩展 |
| Pytest |
不要求使用面向对象 使用起来很灵活 丰富的插件 |
不兼容其他框架 要求掌握python基础 |
共同点:
1.标记和筛选用例
2.执行用例
3.记录测试过程
4.可以管理测试环境
5.生成测试报告
二、pytest测试框架
pytest是更加pythonic的测试框架,具有强烈风格特色。
pythonic,简单的翻译就是python风格,pythonic code,就是说你写的代码要带有浓厚的python规范和python风格
2.1 安装pytest
pip install pytest
注意:pytest的生态是由pytest本身和pytest插件共同构成的,除了本身以外还需要一些插件。
- pytest:pytest框架本体
- pytest-html:生成HTML测试报告
- pytest-xdist:并行化执行测试用例
- pytest-rerunfailures:失败重跑
- pytest-ordering:为用例排序
- allure-pytest:生成allure测试报告(更高级)
一键安装所有:
pip install pytest pytest-html pytest-xdist pytest-rerunfailures pytest-ordering allure-pytest
2.2 启动pytest
1.执行在命令行输入pytest —- 在什么地方安装,就在什么地方输入(建议)
2.python代码中执行 pytest.main()
3.pycharm提供了testrunner(不建议使用)
– 执行在命令行输入pytest效果

Text测试报告
1.报告头:
– 平台和版本信息
– 根目录、配置文件、特殊选项
– 插件列表
2.收集情况
– 测试用例的数量
3.执行状态
– 用例的执行结果
– 测试的执行进度
4.摘要
– 错误提示、捕获的输出
– 结果统计
– 耗时统计
2.3 编写测试用例【重点】
2.3.1 发现规则
下面分别举例子说明
基于test开头的函数
def test_login(self): pass
基于Test开头的类
class TestAPI: def test_login(self): pass
基于unittest.TestCase的子类
import unittest class test(unittest.TestCase): # 如果是unittest.Testcase的子类,命名不做要求 def test_login(self): pass
2.3.2 实践方法
1.创建test_开头的文件:test_api.py
2.在文件中,创建test_开头的函数:test_login
3.在函数中使用断言关键字断言:assert
扩展:
class TestAPI: def __init__(self): # 作为测试用例的class 不可以有实例化__init__方法 pass def test_login(self): pass
上面代码效果如下:

意思就是作为测试用的类不可以有初始化方法__init__。
思考:
如果有太多的文件,想要分门别类怎么办?
太多的文件可以放下任意文件夹里,不影响加载和执行,pytest对文件夹没有任何要求。
惯例:文件夹如有和测试相关的一切,使用test或者test_来开头。
2.4 运行参数及其配置化
2.4.1 配置项
这里可以在pytest官网上进行阅读和查看
pytest官网:pytest: helps you write better programs — pytest documentation/
或者可以输入命令进行帮助查看
pytest -h
下面举几个常用的配置项:
- -v 显示详细信息
- -s 关闭输出捕获
- -n X:使用X进程,并行化的运行测试用例(电脑是几核的就写几)
- -n auto:自动选择进程数执行
- –html=Path:生成HTML测试报告,并保存在Path路径
- –self-contained-html:HTML文件自包含
- –reruns X:测试用例失败之后,重试X次
2.4.2 配置化
通过pytest.ini配置文件进行配置
[pytest]
addopts = -v -s -n 1 --html=report.html

运行效果如下:

会显示我么配置参数里面各个效果
三、结束语
今天的分享主要是围绕pytest基础去讲解,后续还会分享pytest测试框架的进阶篇和实战篇,感兴趣的朋友可持续关注,创作不易,还望三连。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220743.html原文链接:https://javaforall.net
