您当前的位置: 首页 >> 选购指南 >  >> 
PlayWright(十四)- 前置和后置
来源:博客园      时间:2023-07-10 18:02:21


【资料图】

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

1、基本概念

抛出问题:前置和后置是什么意思呢,用户是什么?我们应该在什么时候用到呢?先来讲,前置和后置是什么意思,前置表示在执行代码前先执行前置的内容,后置表示执行完全部的代码后,再执行后置的代码有什么用处:比如说打开浏览器-搜索内容-关闭浏览器,这一条测试用例,我们就可以把打开浏览器放在前置里,关闭浏览器放在后置里,这样就不需要我们自己处理了什么时候用到呢?用例运行前,一些准备工作,初始化操作,执行完之后的清除数据操作,关闭通道操作,我们都可以用到前置和后置

2、基本使用

这里我们讲两个,一个是类级别的,一个是类里边函数级别的
  • 前置:setup
  • 后置:teardown

1、函数级别

"""前置后置: 函数级别"""import pytestclass 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、类级别

"""特殊⽅法: 类级别"""import pytestclass 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、函数级别和类级别混合使用

"""特殊⽅法: 函数级别和类级别同时使⽤"""import pytestclass 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
前置和后置内容是不是也很简单,至于其他的级别前置后置,等我们用到的时候再讲
标签:

X 关闭

X 关闭