- Behave 教程
- Behave - 主页
- Behave - 介绍
- Behave - 安装
- Behave - 命令行
- Behave - 配置文件
- Behave - 特性测试设置
- Behave - Gherkin 关键字
- Behave - 特性文件
- Behave - 步骤实现
- Behave - 第一步
- Behave - 支持的语言
- Behave - 步骤参数
- Behave - 情景提纲
- Behave - 多行文本
- Behave - 设置表
- Behave - 分步执行步骤
- Behave - 背景
- Behave - 数据类型
- Behave - 标记
- Behave - 枚举
- Behave - 步骤匹配器
- Behave - 正则表达式
- Behave - 可选部分
- Behave - 多方法
- Behave - 步骤函数
- Behave - 步骤参数
- Behave - 运行脚本
- Behave - 排除测试
- Behave - 重试机制
- Behave - 报告
- Behave - 挂钩
- Behave - 调试
- Behave 有用资源
- Behave - 快速指南
- Behave - 有用资源
- Behave - 讨论
Behave - 分步执行步骤
我们可以在情景中用一个宏步骤替换多个步骤。这有助于我们在步骤定义文件中不再重复相同的代码。BDD 框架具有从步骤定义中调用多个步骤的能力。
具有类似步骤的特性文件
具有类似步骤的特性文件如下所示:
Feature − Payment Module
Scenario − Verify message after payment
Given User is on payment screen
When User enters payment details
And User completes payment
Then User should get success message
Scenario − Verify new users can process payment
Given User keys in payment info and submits
Then success message should get displayed
在特性文件中,我们有两个情景包含类似步骤。在 Behave 中,我们可以在一个步骤中执行多个步骤。这可以使用步骤实现文件中的 context.execute_steps 方法来完成。
相应的步骤实现文件
上述特性文件的相应步骤实现文件如下所示:
from behave import *
@given('User is on payment screen')
def is_on_payment_screen(context):
print('User is on payment screen')
@when('User enters payment details')
def enters_payment_details(context):
print('When User enters payment details')
@when('User completes payment')
def completes_payment(context):
print('When User completes payment')
@then('User should get success message')
def get_success_message(context):
print('Then User should get success message')
@given('User keys in payment info and submits')
def payment_info_and_submits(context):
#passing steps within steps with context.execute_steps
context.execute_steps(u"""
Given User is on payment screen
When User enters payment details
And User completes payment
""")
@then('success message should get displayed')
def success_message(context):
print('Then success message should get displayed')
输出
以下显示运行特性文件后的输出,并且使用的命令是 behave --no-capture -f plain。
续后输出如下:
输出显示情景验证的新用户可以拥有从情景中执行的步骤来处理支付,验证新用户可以处理支付。
广告