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))

输出

运行功能文件后获得的输出如下,使用的命令是beeve --no-capture -f plain -

步骤参数

输出显示Shift is: dayShift is: night打印。此处,参数 day 和 night 是从步骤传递的。