Python3+selenium-unittest之装饰器(@classmethod)

1、setup():每个测试case运行前运行
2、teardown():每个测试case运行完后执行
3、setUpClass():必须使用@classmethod 装饰器,所有case运行前只运行一次
4、tearDownClass():必须使用@classmethod装饰器,所有case运行完后只运行一次

import unittest
import time
class Test(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("setUpClass!")

    @classmethod
    def tearDownClass(cls):
        print("tearDownClass!")

    def test01(self):
        print("执行test_01")
    def test03(self):
        print("执行test_03")
    def test02(self):
        print("执行test_02")
    def sum(self):
        print("sum方法")
if __name__ == "__main__":
    unittest.main()

执行结果为:

setUpClass!

执行test_01

执行test_02

执行test_03

tearDownClass!

原文地址:https://www.cnblogs.com/EncoreLiu/p/10742565.html

时间: 2024-11-06 16:02:26

Python3+selenium-unittest之装饰器(@classmethod)的相关文章

python3.5.2之装饰器(1)

一.本次实验环境: 在腾讯云虚拟主机centos7上配置pyenv多版本python管理器,并安装交互式web编辑器jupyter,python版本为3.5.2.  二.装饰器: 装饰器的本质是一个函数,接收一个函数作为参数,并且返回一个函数 带参数的装饰器是一个函数,返回一个装饰器 带参数的装饰器最多允许一层,timeit()()(不允许) 在python中,一个函数可以作为参数传递给另外一个函数,还可返回一个函数(不了解此请看高阶函数)因此,我们可以把一个函数传递给另一个函数后,在这个被传递

Python + selenium + unittest装饰器 @classmethod

前言 前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例时候都会重新打开,这样就会浪费很多时间. 于是就想是不是可以只打开一次浏览器,执行完用例再关闭呢?这就需要用到装饰器(@classmethod)来解决了. 一.装饰器 1.用setUp与setUpClass区别 setup():每个测试case运行前运行teardown():每个测试case运行完后执行setUpClass():必须使用@classmetho

python unittest框架装饰器

要说单元测试和UI自动化之间的是什么样的一个关系,说说我个人的一些心得体会吧,我并没有太多的这方面经验,由于工作本身就用的少,还有就是功能测试点点对于我这种比较懒惰的人来说,比单元测试复杂...思考单元测试的处理逻辑和UI的对应关系,根据分层自动化的测试思想, UI>>接口>>最底层就是单元,对于单元级别的自动化测试, 是白盒测试范畴, 用一段代码去测试一段代码, 而我们则是需要利用单元测试框架的一些组织驱动单元来编写我们的自动化测试脚本, 而unittest是python自带的单

python3 闭包函数,装饰器

闭包函数: 1.定义在函数内部的函数 2.包含对外部作用域而非全局作用域的引用特点: 1.自带作用域 2.延迟计算(取到内存地址,加括号执行) def 外部函数(func): def 内部函数(*args,**kwargs): pass return 内部函数 f=外部函数(func) print(f.__closure__) print(f.__closure__[0].cell_contents) 优点: 1 自带作用域 2 惰性延迟 1.开放封闭原则,对扩展是开房的,对修改是封闭的2.装饰

循序渐进Python3(四) -- 装饰器、迭代器和生成器

初识装饰器(decorator ) Python的 decorator 本质上就是一个高阶函数,它接收一个函数作为参数,然后,返回一个新函数. 使用 decorator 用Python提供的 @ 语法,这样可以避免手动编写 f = decorate(f) 这样的代码. 先看一个例子: #!/usr/bin/env python def outer(func): print('这是outer.') def inner(): print('这是inner.') func() print('这是最后.

python3【基础】-装饰器

要理解充分理解python的装饰器,有充分理解下述三个知识点为前提: python作用域规则 函数即对象 闭包 一.python作用域规则: 首先介绍python中的作用域规则.python的作用域规则遵循LEGB规则,这四个字母是什么意思呢?下面将逐一介绍: L:local函数内部作用域 E:enclosing函数内部与内嵌函数之间 G:global全局作用域 B:build-in内置作用域 上述四个作用域的优先级表现为L>E>G>B,具体在代码中是什么意思呢?我们举例来说明. 1.

python3基础09(装饰器的使用)

#!/usr/bin/env python# -*- coding:utf-8 -*- import time #方式1class People: def __init__(self, name, age): self.__name = name self.__age = age def get_age1(self): return self.__age def set_age2(self, age): if isinstance(age, int): self.__age = age else

python+selenium+unittest测试框架2-装饰器@classmethod

装饰器@classmethod 一.装饰器@classmethod 多个用例可能需要多次打开浏览器,装饰器@classmethod只打开一次浏览器.classmethod是python里的类方法,@是修饰符号. 1.setUpClass(): @classmethod def setUpClass(cls): 2.tearDownClass(): @classmethod def tearDownClass(cls): 示例: from selenium import webdriver fro

Python之面向对象:闭包和装饰器

一.闭包 1. 如果一个函数定义在另一个函数的作用域内,并且引用了外层函数的变量,则该函数称为闭包. def outter(): name='python' def inner(): print name return inner res=outter() 把inner的地址赋值给res res() 相当于执行inner()函数.通过闭包,可以把局部变量在外部也可以使用 2.判断是否为闭包 res.func_closure inner()函数就是一个闭包 3.通过闭包,可以把局部变量在外部也可以

类中三个装饰器

目录 类中的三个装饰器 一.@classmethod 二.@staticmethod装饰器装饰静态方法 三[email protected] 把一个方法伪装成属性 类中的三个装饰器 装饰类中的方法 @classmethod --->装饰类方法,不用self属性,只用类的cls属性 @staticmethod --->装饰静态方法,既不用self属性,又不用类cls的属性 @property --->把一个方法伪装属性 一.@classmethod 在类中一个方法不用对象属性,但使用静态属