gpt4 book ai didi

python - 如何将等待/ sleep 装饰器添加到步骤函数(行为)?

转载 作者:行者123 更新时间:2023-12-05 02:53:44 26 4
gpt4 key购买 nike

使用 Python/Selenium/Behave:

我想知道如何正确地将 wait/sleep 装饰器添加到步骤函数中?

我已经用我的装饰函数设置了一个 helper.py:

import time

def wait(secs):
def decorator(func):
def wrapper(*args, **kwargs):
ret = func(*args, **kwargs)
time.sleep(secs)
return ret
return wrapper
return decorator

class Helper(object):
pass

在我的步骤文件中,我在行为装饰器之后调用等待装饰器以匹配步骤:

from behave import step
from features.helper import wait

@step('I observe a login error')
@wait(3)
def step_impl(context):
#time.sleep(3)
assert context.login_page.check_login_error() is not None

但是当我从我的特征文件执行该步骤时,没有执行等待/ sleep ,断言失败。在这种情况下如何执行等待装饰器?

最佳答案

我猜问题是由于在 sleep 之前调用了目标函数。所以你可以交换 functime.sleep 调用:

def wait(secs):
def decorator(func):
def wrapper(*args, **kwargs):
time.sleep(secs)
return func(*args, **kwargs)
return wrapper
return decorator

关于python - 如何将等待/ sleep 装饰器添加到步骤函数(行为)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62060041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com