目录
前言:
Python装饰器在接口自动化测试中有广泛的应用。装饰器是一种特殊的Python语法,可以用于修改或扩展函数的行为,而无需修改函数的定义。在接口自动化测试中,装饰器可以用于添加额外的功能,如日志记录、异常处理、性能统计等。
在讲解装饰器在接口自动化测试项目的应用之前,我们先来介绍一下 python 装饰器到底是个什么
装饰器
说装饰器就不得不提一下函数这个一等公民了,在 python 中函数有几个特性先来了解一下
函数的一些特性
- 函数也是对象
在 python 中函数也是对象,可以把函数赋值给变量,比如下面这样:
def func(message):
print("打印一条message: {}".format(message))
send_message = func
send_message("123")
我们把函数 func 赋予了变量 send_message,这样之后你调用 send_message,就相当于是调用函数 func()
- 把函数当做参数
函数也可以当做参数传递给另一个函数使用,比如:
def func(message):
print("打印一条message: {}".format(message))
def call_func(func, message):
func(message)
- 函数的嵌套
函数的嵌套就是说在函数里再定义一个函数,比如这样:
def call_func(message):
def func(message):
print("打印一条message: {}".format(message))
return func(message)
上面在 call_func 的内部又定义了一个函数 func,并在 call_func 里调用了这个内部的函数,调用后作为 call_func 的返回值返回
- 函数的返回值也可以是函数对象
我们修改一下上面的例子。如下:
def call_func():
def func(message):
print("打印一条message: {}".format(message))
return func
result = call_func()
result("hello world")
函数 call_func() 的返回值是函数对象 func 本身,之后,我们将其赋予变量 result,再调用 result(‘hello world’),最后输出了'打印一条 message: hello world'.
简单的装饰器
def my_decorator(func):
def wrapper():