Behave 步骤参数


我们可以将参数传递给 Behave 中的步骤。让我们看一个包含具有多个参数的步骤的特征文件,其中设置了不同的值。这有助于简化自动化实施,因为减少了总步骤定义。

特征文件

考虑一个特征文件的例子,如下所示:

Feature: Schedule
    Scenario: Verify Day and Night Schedule
    Given I reach office at "day" shift
    And I reach office at "night" shift

特征文件包含与 Given 和 And 步骤中几乎相似的步骤。唯一的区别是在日班和夜班时间。我们可以将参数传递给步骤定义文件中的步骤,而不是重复几乎相似的步骤的实现。

请注意:我们在功能文件中保留了双引号(单引号也可以)的昼夜参数。在步骤实现中,我们将传递包含在 {} 中的参数。

此外,参数作为参数之一传递给实现方法。

对应步骤实现文件

对应的步骤实现文件如下:

from behave import *
@given('I reach office at "{time}" shift')
def step_implpy(context, time):
        print("Shift is: {}".format(time))

运行特征文件后得到的输出如下,使用的命令为 Behave --no-capture -f plain

步骤 Parameters

输出显示 班次是:天 and 班次是:晚上 打印。在这里,参数 day 和 night 是从 step 传递过来的。