Behave 标签

Behave 标签

可以对特征文件的某个部分进行标记,这样Behave就可以只对特征文件的某个部分进行验证。一个场景、特征、场景概要只能被标记。

此外,用于某个特征的标签应被其所有的场景和场景大纲所继承。标签被放置在我们想要标记的场景或特征之前。我们也可以有多个标签,在一行中用空格隔开。

一个标签以@开头,后面是标签名称。

带标签的特征文件 (Payment.feature)

带标签的特征文件如下所示

@high
Feature − Payment Process
@creditpayment
            Scenario − Credit card transaction
   Given user is on credit card payment screen
   Then user should be able to complete credit card payment
@debitpayment
            Scenario − Debit card transaction
   Given user is on debit card payment screen
   Then user should be able to complete debit card payment

标签有助于管理测试的执行,根据标签排除/包括特定的场景或功能。

在上面的例子中,为了运行带有creditpayment标签的特定场景,我们必须运行下面提到的命令:

behave payment.feature --tags=creditpayment

要运行标签高的功能并执行所有场景,我们必须运行以下命令

behave payment.feature --tags=high

如果运行下面的命令,意味着该命令将执行被标记为creditpayment或debitpayment的场景。

behave payment.feature --tags= creditpayment, debitpayment

如果运行下面的命令,意味着该命令将执行被标记为creditpayment和debitpayment的两个场景。

behave payment.feature --tags= creditpayment --tags=debitpayment

如果运行下面提到的命令,这意味着该命令将不执行被标记为creditpayment的场景。

behave payment.feature --tags= ~ creditpayment

因此, 带有标签(Payment.feature)的特征文件 现在将如下所示

@high
Feature − Payment Process
@creditpayment @payment
   Scenario − Credit card transaction
      Given user is on credit card payment screen
@debitpayment @payment
      Scenario − Debit card transaction
      Given user is on debit card payment screen
   Scenario − Cheque transaction
      Given user is on cheque payment screen

相应的步骤实现文件

该文件如下 –

from behave import *
@given('user is on credit card payment screen')
def credit_card_pay(context):
   print('User is on credit card payment screen')
@given('user is on debit card payment screen')
def debit_card_pay(context):
   print('user is on debit card payment screen')
@given('user is on cheque payment screen')
def cheque_pay(context):
   print('user is on cheque payment screen')

输出

运行该特征文件后得到的输出结果如下。在这里,我们使用了命令 behave –no-capture Payment.feature –tags=payment .

Behave - 标签

输出显示有两个场景被通过,因为在特征文件中有两个场景的Scenario标签为payment。

当我们使用命令 behave –no-capture Payment.feature –tags=~creditpayment 时,输出结果如下

Behave - 标签

输出显示两个场景通过了,因为在特征文件中有两个场景没有带creditpayment的场景标签。

当我们使用 behave –no-capture Payment.feature –tags=high 命令时,输出结果如下

Behave - 标签

输出显示三个场景通过,因为特征文件中有三个场景没有标记为高的特征。

使用 behave –no-capture Payment.feature –tags=payment,creditpayment 命令,可以得到下面提到的输出结果。

Behave - 标签

输出显示有两个场景通过,因为特征文件中有两个场景没有标记为payment或creditpayment的场景。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程