Skip to main content

Drupal Behat / BDD course

During this course, the foundations are provided for integration with Behat (testing software on websites in an automated way), acquisition of knowledge in the definition of functionality-oriented tests through user stories, as well as their integration in a Drupal environment.

This course is aimed at professionals in the online world who are looking for an intuitive way to test their application in a language understandable by non-technical personnel, allowing it to be read and conceptualized based on a clear business model defined according to the client's specifications.

Course duration

The basic course has a duration of 10 hours of training distributed over two days. This course can be complemented with practical cases in workshop mode in subsequent days on projects indicated by the applicant.

Behat test


The objective of this course covers the first steps to adopt Behat as a testing tool in Drupal projects. Students will have the necessary knowledge to be able to create and adapt tests in Drupal.

At the end of the course, the student will acquire the following skills:

  • Basis of testing approaches for online applications.
  • Good practices when developing a test suite.
  • Behat test execution.
  • Writing and adaptation of Behat's test.
  • Knowledge of tools and plugins related to Behat.

Course Content

Day 1

  1. Course description
  2. Test: Introduction and objectives
  3. Types of tests
    1. Unit tests
    2. Functional tests
    3. Behavior test
    4. Selection of the type of test
    5. Manual vs automatic testing
  4. BDD
    1. Description
    2. Methodology
    3. Description of system characteristics
  5. User Stories
    1. Use cases
    2. As a ___ I want to ___ so that ___
    3. Preconditions
    4. Post-conditions
    5. Alternative scenarios
    6. Error cases
    7. Verification vs. validation
  6. Introduction to Behat
    1. What is behat?
    2. Syntax
    3. Extensions - Mink
      1. Description
      2. Drivers
    4. Javascript vs. without JavaScript
  7. Anatomy of a feature
    1. File structure
    2. Features
    3. Steps
    4. Scenarios
    5. Variants
      1. Error
    6. Scenario Outlines
    7. Backgrounds
    8. Advanced steps
    9. Complete example
  8. Practical part
    1. Testing machine installation
    2. Practical cases
      1. Basics
        1. Homepage
        2. Access check
        3. Errors in tests
      2. Content
        1. Visualization
        2. Navigation
      3. Forms
        1. Search
        2. Create content
        3. Forms with JavaScript

Day 2

  1. Introduction
  2. Component Installation
    1. Composer
    2. Behat (Behat Drupal Extension)
    3. Selenium / ChromeDriver
  3. Behat integration in Drupal
    1. Navigation emulators
    2. Types
      1. Headless browser emulators
      2. Browser controllers
    3. Drivers
      1. GoutteDriver
      2. Selenium (Javascript)
  4. Behat Drupal Extension
  5. behat.yml
    1. Basic parameters
    2. Contexts «Suite»
    3. Regions
  6. Virtual host
  7. Contexts
    1. Metadrop Library (GitHub)
    2. Context integration
  8. Test execution
    1. Guzzle
    2. Selenium & nbsp; (Javascript)
  9. Development of custom steps
    1. Simple steps
    2. Steps with parameters
    3. Drupal API
    4. Introduction to XPath
    5. Practical cases & nbsp;

Let's talk

Write your message here...
I have read and I agree to the privacy policy.