前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PlayWright(十四)- 前置和后置

PlayWright(十四)- 前置和后置

作者头像
似小陈吖
发布2023-10-17 09:59:56
3830
发布2023-10-17 09:59:56
举报
文章被收录于专栏:测试那些事

上文中我们学习了Pytest的基本使用,那这篇我们来讲下Pytest的前置和后置

1、基本概念

抛出问题:前置和后置是什么意思呢,用户是什么?我们应该在什么时候用到呢?

先来讲,前置和后置是什么意思,前置表示在执行代码前先执行前置的内容,后置表示执行完全部的代码后,再执行后置的代码

有什么用处:比如说打开浏览器-搜索内容-关闭浏览器,这一条测试用例,我们就可以把打开浏览器放在前置里,关闭浏览器放在后置里,这样就不需要我们自己处理了

什么时候用到呢?

用例运行前,一些准备工作,初始化操作,执行完之后的清除数据操作,关闭通道操作,我们都可以用到前置和后置

2、基本使用

这里我们讲两个,一个是类级别的,一个是类里边函数级别的

  • 前置:setup
  • 后置:teardown

1、函数级别

代码语言:javascript
复制
"""
前置后置: 函数级别
"""
import pytest

class TestDemo:
    """函数级别用例"""

    # 说明: 特殊⽅法名写法固定, 没有代码提示, 需要⼿写!
    # 注意: 函数级别执⾏顺序:
    # 先 setup() -> 用例1 -> teardown() ⽅法, 再 setup() -> 用例2 -> teardown() ⽅法

    def setup(self):
        print('每个用例执行前都会先执行我')

    def teardown(self):
        print('每个用例执行后都会先执行我')

    def test_01(self):
        print('用例1')

    def test_02(self):
        print('用例2')

执行结果:

这里有两点,第一是我们写setup和teardown的时候是没有提示的,需要自己填写,第二点是执行顺序不是从上往下执行的,是按照setup() -> 用例1 -> teardown() ⽅法, 再 setup() -> 用例2 -> teardown() ⽅法

2、类级别

代码语言:javascript
复制
"""
特殊⽅法: 类级别
"""
import pytest

class TestDemo:
    """类级别用例"""

    # 说明: 特殊⽅法名写法固定, 没有代码提示, 需要⼿写!
    # 注意: 类级别执⾏顺序:
    # 先 setup_class() -> 测试⽅法1 -> 测试⽅法2 ->teardown_class() ⽅法

    def setup_class(self):
        print('在这个类前执行')

    def teardown_class(self):
        print('在这个类后执行')

    def test_01(self):
        print('用例1')

    def test_02(self):
        print('用例2')

执行结果:

这里我们的执行顺序是setup_class() -> 测试⽅法1 -> 测试⽅法2 ->teardown_class() ⽅法

3、函数级别和类级别混合使用

代码语言:javascript
复制
"""
特殊⽅法: 函数级别和类级别同时使⽤
"""
import pytest

class TestDemo:
    
    def setup_class(self):  # 1
        print('类执行前先执行我')

    def teardown_class(self):  # 2
        print('类执行后先执行我')

    def setup(self):  # 3
        print('方法函数前执行我')

    def teardown(self):  # 4
        print('方法函数后执行我')

    def test_01(self):  # 5
        print('用例1')

    def test_02(self):  # 6
        print('用例2')

大家猜一下执行顺序是什么样的呢

执行结果:

1 -> 3 -> 5 -> 4 -> 3-> 6 -> 4 -> 2

前置和后置内容是不是也很简单,至于其他的级别前置后置,等我们用到的时候再讲

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、基本概念
  • 2、基本使用
    • 1、函数级别
      • 2、类级别
        • 3、函数级别和类级别混合使用
        相关产品与服务
        腾讯云服务器利旧
        云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档