小编dog*_*tar的帖子

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

使用 Python/Selenium/Behave:

我想知道如何正确地将等待/睡眠装饰器添加到步骤函数中?

我用我的装饰器函数设置了一个 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
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

但是,当我从功能文件执行该步骤时,没有执行等待/睡眠,并且断言失败。在这种情况下我该如何执行等待装饰器?

python python-decorators python-behave

3
推荐指数
1
解决办法
3145
查看次数

标签 统计

python ×1

python-behave ×1

python-decorators ×1