编程语言
首页 > 编程语言> > 如何使用Python获得当前的行为步骤?

如何使用Python获得当前的行为步骤?

作者:互联网

我正在使用Python进行测试.在步骤文件中,我想获取当前步骤名称,因为如果测试失败,我会截取屏幕截图并将文件重命名为步骤名称.

像这样的东西:

鉴于用户已登录
当用户做某事时
然后发生了一些事

我希望我的步骤代码如下:

@given('user is logged in')  
try:  
   # MY CODE HERE  
except:  
   # GET THE STEP NAME HERE

任何人都知道如何做到这一点?

解决方法:

我基本上完成了你要做的事情,通过在我的environment.py文件中设置一个after_step挂钩来截取失败测试的屏幕截图.

def after_step(context, step):
    if step.status == "failed":
        take_the_shot(context.scenario.name + " " + step.name)

如果某个步骤可以出现在多个场景中,那么您很可能也想要场景名称.

如果上述方法对您不起作用,遗憾的是,行为不会在当前步骤的上下文中设置步骤字段,就像当前方案或具有当前功能的功能一样.您可以使用执行此类赋值的before_step挂钩,然后在步骤本身中,您将访问步骤的名称context.step.name.就像是:

def before_step(context, step):
    context.step = step

步骤实施:

def step_impl(context):
    if some_condition:
        take_the_shot(context.scenario.name + " " + context.step.name)

标签:python,python-behave
来源: https://codeday.me/bug/20190528/1169710.html