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

Step Parameters

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

广告

© . All rights reserved.