Context Attributes

A context object (Context) is handed to

  • step definitions (step implementations)

  • behave hooks (before_all(), before_feature(), …, after_all())

Behave Attributes

The behave runner assigns a number of attributes to the context object during a test run.

Attribute Name

Layer

Type

Description

config

test run

Configuration

Configuration that is used.

aborted

test run

bool

Set to true if test run is aborted by the user.

failed

test run

bool

Set to true if a step fails.

feature

feature

Feature

Current feature.

rule

rule

Feature

Current rule.

tags

feature, rule, scenario

list<Tag>

Effective tags of current feature, rule, scenario, scenario outline.

active_outline

scenario outline

Row

Current row in a scenario outline (in examples table).

scenario

scenario

Scenario

Current scenario.

log_capture

scenario

LoggingCapture

If logging capture is enabled.

stdout_capture

scenario

StringIO

If stdout capture is enabled.

stderr_capture

scenario

StringIO

If stderr capture is enabled.

table

step

Table

Contains step’s table, otherwise None.

text

step

String

Contains step’s multi-line text (unicode), otherwise None.

Note

Behave attributes in the context object should not be modified by a user. See Context class description for more details.

User Attributes

A user can assign (or modify) own attributes to the context object. But these attributes will be removed again from the context object depending where these attributes are defined.

Kind

Assign Location

Lifecycle Layer (Scope)

Hook

before_all()

test run

Hook

after_all()

test run

Hook

before_tags()

feature, rule or scenario

Hook

after_tags()

feature, rule or scenario

Hook

before_feature()

feature

Hook

after_feature()

feature

Hook

before_rule()

rule

Hook

after_rule()

rule

Hook

before_scenario()

scenario

Hook

after_scenario()

scenario

Hook

before_step()

scenario

Hook

after_step()

scenario

Step

Step definition

scenario