/behatch-contexts

Behat Custom Helper

Primary LanguagePHPOtherNOASSERTION

Behatch contexts

Build status

Behatch contexts provide most common behat tests.

Installation

This extension requires:

  • Behat 3+
  • Mink
  • Mink extension

Through PHAR

Download the .phar archives:

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

  1. Define dependencies in your composer.json:
{
    "require": {
        ...

        "sanpi/behatch-contexts": "*"
    }
}
  1. Install/update your vendors:
$ curl http://getcomposer.org/installer | php
$ php composer.phar install
  1. Activate extension by specifying its class in your behat.yml:
# behat.yml
default:
    # ...
    extensions:
        Sanpi\Behatch\Extension: ~

Project boostraping

  1. 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 debuging
    • screenshotDir - the directory where store screenshots
  • system - shell related steps
    • root - the root directory of the filesystem
  • json - JSON related steps
    • evaluationMode - javascript "foo.bar" or php "foo->bar"
  • table - play with HTML the tables
  • rest - send GET, POST, … requests and test the HTTP headers
  • xml - XML related steps