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 步骤几乎相似的步骤。 唯一的区别是在白班和夜班的时间安排上。 我们可以将参数传递给步骤定义文件中的步骤,而不是重复执行几乎相似的步骤。

请注意 − 我们在特征文件中保留了双引号文本(也可以使用单引号文本)的 day 和 night 参数。 在步骤实现中,我们将传入{}中的参数。

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

对应步骤实现文件

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

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

步骤参数

输出显示打印了 Shift is: dayShift is: night。 在这里,参数 day 和 night 从步骤中传递。