IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> python测试框架之pytest (一) -> 正文阅读

[开发测试]python测试框架之pytest (一)

1. 概述

pytest官方文档介绍:

pytest: helps you write better programs
pytest?is a framework that makes building simple and scalable tests easy. Tests are expressive and readable—no boilerplate code required. Get started in minutes with a small unit test or complex functional test for your application or library.

翻译过来意思是:

pytest测试框架,它使得构建简单且可扩展的测试变得容易。测试是表达性和可读性的——不需要样板代码。在几分钟内开始对您的应用程序或库进行一个小的单元测试或复杂的功能测试。

总体来说:pytest是一个非常成熟的全功能的Python测试框架。
特点:

  • 简单灵活,容易上手
  • 能够支持简单的单元测试和复杂的功能测试,可以用来集成接口、UI、app自动化测试。
  • 自动收集测试用例、支持参数化
  • 有测试会话、测试模块、测试类、测试函数级别的fixture
  • 在conftest.py文件中,支持文件共享
  • 集成allure报告、jenkins
  • 对于失败用例,可以进行重运行
  • 进行mark标记,指定执行哪些用例或者不执行哪些用例

2. 使用说明

2.1 安装

①安装:cmd窗口输入pip命令进行安装??pip install -U pytest

②安装完成后,确认版本信息 pyets --version

2.2 收集用例

自动加载 - 自动的找符合规则的用例。
搜索范围 - 目录 - 在哪个目录下执行pytest命令,哪个就是根目录。
文件命名 - test_*.py / *_test.py
用例命名 - 测试类(Test开头,不能__init__)。用例名称要求:test_*

2.3 pytest运行机制设置

打开Pycharm, File → Settings → Tool1 →Python Integrated Tools → 选择工作空间 →Testing 选择Pytest → Apply → OK

?2.4?运行

import pytest


def test_a():
    print("============= 执行test_a =============")
    assert 1 == 1


def test_b():
    print("============= 执行test_b =============")
    assert 1 != 2


# 运行
if __name__ == '__main__':
    pytest.main()

# 运行结果:
============================= test session starts =============================
platform win32 -- Python 3.7.3, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
rootdir: G:\workspace\Pycharm_workspace\PytestDemo\testcases
plugins: allure-pytest-2.8.19, Faker-5.0.1, html-3.0.0, metadata-1.10.0collected 2 items

test_a.py .============= 执行test_a =============
.============= 执行test_b =============
                                                             [100%]

============================== 2 passed in 0.14s ==============================

2.5?运行参数

1、-k 表达式:执行某个关键字的用例,匹配的范围是文件名、类名、函数名为变量,用and来区分

? ? ?pytest.main(['-k not test_2'])? ?#?test_2用例被取消运行

2、-s:输入用例中的调式信息,比如print的打印信息

? ??pytest.main(["-s"])

3、-v:输出用例更加详细的执行信息,比如用例所在的文件及用例名称,显示详细报告

? ?pytest.main(["-v"])

4、--maxfail=num:当错误个数到达给定数时,退出测试

??pytest.main(["--maxfail=3"])

5、-m:只运行被标记的用例

# 1、创建pytest.ini,注册标签名
[pytest]
markers=zls

# 2、要运行的用例上打标记
@pytest.mark.zls
def test_1():
    print("******************")
    assert "tom" == "tom"

def test_2():
    assert "tom" == "tom"

# 3、运行
pytest.main(['-m zls'])

# 结果:
collected 2 items / 1 deselected / 1 selected

2.6?运行方式

1、单独执行test_demo.py所有用例

? ??pytest.main(["testcases/test_demo.py"])

2、执行指定目录下所有用例

? ??pytest.main(["testcase/other"])

3、单独执行某个用例

? ?pytest.main(["testcases/test_demo.py::test_1"])

2.7 用例的执行顺序

1、文件 -》文件命名按ASCII码排序

2、用例 -》用例代码的先后顺序
2、横向搜索 -》先找到当前目录下的test_*的用例,再去从子目录下搜索。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章           查看所有文章
加:2022-02-04 11:19:58  更:2022-02-04 11:20:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:47:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码