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.
tags feature, scenario list<Tag> Effective tags of current feature, 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.


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 or scenario
Hook after_tags() feature or scenario
Hook before_feature() feature
Hook after_feature() feature
Hook before_scenario() scenario
Hook after_scenario() scenario
Hook before_step() scenario
Hook after_step() scenario
Step Step definition scenario