Behatch contexts
Behatch contexts provide most common behat tests.
Installation
This extension requires:
- Behat 3+
- Mink
- Mink extension
Through PHAR
Download the .phar archives:
- behat.phar - Behat itself
- mink.phar - Mink framework
- mink_extension.phar - Mink integration extension
- behatch_contexts.phar - Behatch contexts
And activate it in your in your behat.yml
:
# behat.yml
default:
# ...
extensions:
behatch_contexts.phar: ~
Through Composer
The easiest way to keep your suite updated is to use Composer.
You can add behatch contexts as dependancies for your project or rapidly bootstrap a behatch projects.
Project dependancy
- Define dependencies in your
composer.json
:
{
"require": {
...
"sanpi/behatch-contexts": "*"
}
}
- Install/update your vendors:
$ curl http://getcomposer.org/installer | php
$ php composer.phar install
- Activate extension by specifying its class in your
behat.yml
:
# behat.yml
default:
# ...
extensions:
Sanpi\Behatch\Extension: ~
Project boostraping
- Download the behatch skeleton with composer:
$ curl http://getcomposer.org/installer | php
$ php composer.phar create-project sanpi/behatch-skeleton
Note
Browser, json, table and rest step need a mink configuration, see Mink extension for more informations.
Usage
In behat.yml
, enable desired contexts:
default:
suites:
default:
contexts:
- behatch:browser
- behatch:debug
- behatch:system
- behatch:json
- behatch:table
- behatch:rest
- behatch:xml
Configuration
browser
- more browser related steps (like mink)timeout
- default timeout
debug
- helper steps for debugingscreenshotDir
- the directory where store screenshots
system
- shell related stepsroot
- the root directory of the filesystem
json
- JSON related stepsevaluationMode
- javascript "foo.bar" or php "foo->bar"
table
- play with HTML the tablesrest
- send GET, POST, … requests and test the HTTP headersxml
- XML related steps