可以将参数传递给 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-
输出显示 Shift is: day
和 Shift is: night
打印。在这里,参数 day
和 night
是从 step
传递过来的。