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框架中前后置的处理-setup及fixture的简介-2 -> 正文阅读

[Python知识库]pytest框架中前后置的处理-setup及fixture的简介-2

在编写场景自动化的过程,我们往往需要进行前后置,本文章主要介绍pytest三种前后置:
setup/teardown,setup_class/teardown_class:主要作用于所有用例或者所有的类
@pytest.fixtrue():可以作用于部分,也可以作用于全部
conftest.pyhe @pytest.fixtrue()结合使用:作用与全局的前后置

一、setup/teardown,setup_class/teardown_class
几个前后置使用场景:
setup_class:在所有用例之前只执行一次
setup:每个用例之前执行一次
teardown:每个用例之后执行一次
teardown_class:所有用例执行完后执行一次

(1)举例场景
执行用例前,我们需要打开数据库
执行第一个用例第一步,我们需要打开浏览器
执行用例
执行执行完用例,我们需要关闭浏览器

执行第二个用例第一步,我们需要打开浏览器
执行用例
执行执行完用例,我们需要关闭浏览器

第n、n+1。。。。

所有用例均执行完毕,我们需要关闭数据库
(2)代码运行

class TestPreSub:
    def setup_class(self):
        print("执行用例前,我需要现打开数据库")
        print("————————————————数据库已经打开————————————————————")

    def setup(self):
        print("________________浏览器已经打开__________________")

    def testCase0(self):
        print("开始执行第一条用例执行完毕^ - ^")

    def testCase1(self):
        print("开始执行第二条用例执行完毕^ - ^")

    def testCase3(self):
        print("开始执行第三条用例执行完毕^ - ^")

    def testCase4(self):
        print("开始执行第四条条用例执行完毕^ - ^")

    def teardown(self):
        print("________________浏览器已经关闭__________________")

    def teardown_class(self):
        print("————————————————数据库已经关闭————————————————————")

在这里插入图片描述
二、使用@pytest.fixture()装饰器来实现部分用例的前后置
(一)fixture简介
fixture是pytest勇于测试前后进行预备、清理工作的代码分离出核心测试逻辑的一种机制。
是在测试函数运行前后,由pytest执行的外壳函数,代码可以定制,满足多变的测试需求;
eg:定义传入测试中的数据集;
eg:配置测试前系统的初始状态;
eg:为批量测试提供数据源
(二)fixture的简要例子
例子1
在这里插入图片描述

例子2:

import pytest
@pytest.fixture()
def some_day():
    return 520

def test_some_day(some_day):
    assert some_day ==1314

执行结果:
在这里插入图片描述
@pytest.fixture()装饰器用来声明函数是一个fixture
如果测试函数的参数列表中包含fixture名字,pytest则会监测到fixture,并在执行测试用例前先执行fixture的方法(这也就是上面的例子实获取到实际为520的原因)
在这里插入图片描述三、conftest.py的使用
执行顺序是:搜索测试所在的模块,然后搜索conftest.py

*fixture放的位置:可以单独放在测试文件里
如果希望多个测试文件共享fixture,可以放在公共目录下的conftest.py文件,将fixture放在里面,
总之通过conftest.py和@pytest.fixture()结合使用实现全局的前置应用,应用场景eg:全局的登陆,模块的全局处理
在这里插入图片描述
注意事项:
conftest.py文件是单独存放的一个配置文件,名称不能进行更改;
原则上,conftest.py需要和运行的用例放在同一层,并且不需要做任何的import导入的操作。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:38:17  更:2022-04-26 11:41: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/15 15:50:34-

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