Using Behat as a Webapp Automation Tool

Karl DeBisschop
Cathy Theys

You may have used Behat as a tool for testing features of your web application, but have you thought about how it could be used to automate some tasks on your production sites?

In this talk we will show how Behat can be used with RunDeck (or any similar tool) to carry out tasks in a black-box fashion on Drupal or any other web application. With build parameterization the same task can be made to run against multiple sites with different URLs or credentials.

We will explain at a high level how, by verifying the success using Behat itself, we verify that the operations completed correctly and we know what needs intervention.

We will show examples with RunDeck running Behat with an older Drupal-based web application such as

Configuring themes without drush
Running updates without drush
Invoking a Drupal menu to maintain/update taxonomy access
Changing Admin Password
For each example, we will show the Behat code, the Rundeck config, and have a recording of the examples running for demonstration. We will also discuss ensuring end-to-end operation of a Shibboleth/OpenLDAP Authentication chain.

Additional configurations (for example, Jenkins) will be suggested for inspiration and discussion.

Who Should Attend
Site Builders
Sys Admins
CI/Deployment Tools (i.e., Jenkins, RunDeck)

Behat (or other behavioral testing tools)