- Brought to you by [2bePUBLISHED]
- Developed by Christoph Rosse
A behat extension that enables features to be enabled/disabled for different screen sizes.
BehatResponsiveFeaturesExtension can be installed via composer
composer require "2bepublished/behat-responsive-features-extension"
Step 1: Activate the extension in your behat.yml
default:
suites:
...
extensions:
Pub\BehatResponsiveFeaturesExtension\Extension: ~
Step 2: Define a suite that uses responsive features. In the step you'll also have to define the screen-width that this suite will use.
default:
suites:
ios_7_iphone5:
paths: [ %paths.base%/features/ ]
contexts: [ Feature ]
type: pub_responsive_suite # required: this instructs Behat to use the responsive suite.
screen-width: 320 # required: this sets the width for that suite
mink_session: ios_7_iphone5 # optional: the mink session is optional if you don't use mink.
Step 3: Use the width tags inside your feature definitions:
- @min-width:xxx - takes min-width in pixels
- @all-widths - if want a feature to run on all responsive-suites use this tag.
@all-widths
Feature: A very important feature
In order to see this very important feature
As a User
I don't need a big screen
@min-width:500
Feature: A very big feature
In order to see this very big feature
As a User
I need a screen with at least 500px
For a bigger example configuration using browser-stack please have a look at the example configuration.
- Tag Features with a minimal required width so they are not executed on test-suites with smaller screens.
- Only width filtering is currently allowed
- Features that should execute on all configurations need the
@all-widths
tag
See LICENSE
file.