drunomics / behat-drupal-utils
Provides behat step definitinons, contexts and utilities for using Behat with Drupal.
Installs: 40 532
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 1
Open Issues: 1
Requires
- drupal/drupal-extension: ^4.1.0 || ^5.0.0
Replaces
This package is auto-updated.
Last update: 2024-11-06 11:23:50 UTC
README
Dependencies:
- Behat
- Drupal
- Drupal Extension
- Behat Driver with Javascript enabled (e.g.
dmore/behat-chrome-extension
)
The javascript step definitions are all tested with dmore/behat-chrome-extension
.
Overview:
The package provides:
-
Various useful behat contexts, organized the following context classes:
- DrupalUtilsApiContext
- DrupalUtilsDrushContext
- MinkUtilsContext
- HttpHeadersContext
Depending on your behat configuration, the suiting context classes should be added in. It automatically includes all compatible step definitions.
-
Optional additional context classes that add automatic checks or cleanup routines like:
- DrupalCleanTestContentApiContext
- DrupalErrorCheckApiContext
Smoke tests
The tests below ./examples/ ensure a simple Drupal login/logout works and a page of your site can be opened, while frontend assets are loaded and no javascript or watchdog errors are triggered.
Setup
- Add this package to your project's dev dependencies.
- Add one of the three context to your behat.yml, optionall also add optional contexts.
- Feel free to copy the example behat features.
- Add the provided js file to your sites js. The listener is required to catch js errors.
Detecting watchdog errors
Default behaviour
When DrupalErrorCheckApiContext is added, all watchdog entries excluding Notice
, Info
and Debug
will be detected
and trigger PHP errors in the behat PHP runner automatically.
Adjusting watchdog entries severity to NOTICE
level
To change the error detection severity to NOTICE
set the fail_on_notice
parameter in the behat.yml to TRUE
.
contexts:
- drunomics\BehatDrupalUtils\Context\DrupalErrorCheckApiContext:
fail_on_notice: TRUE
Credits
developed by drunomics GmbH, hello@drunomics.com Please refer to the commit log individual contributors.