1.) https://behat-drupal-extension.readthedocs.org/en/3.0/globalinstall.html
2.) in the sites/default/behat-tests folder you'll need to create run the command: behat -dl to see available out of the box commands
3.) Run behat --init in the behat-tests folder
4.) More documentation is here
5.) In the sites/default/behat-tests folder make a behat.yml file:
* another good blog on creating your own gherkin https://www.previousnext.com.au/blog/custom-step-definitions-drupal-dru…
* https://davidwinter.me/testing-javascript-websites-with-behat/
default: suites: default: contexts: - FeatureContext - Drupal\DrupalExtension\Context\DrupalContext - Drupal\DrupalExtension\Context\MinkContext - Drupal\DrupalExtension\Context\MessageContext - Drupal\DrupalExtension\Context\DrushContext extensions: Behat\MinkExtension: goutte: ~ selenium2: ~ base_url: http://drupal7/ Drupal\DrupalExtension: blackbox: ~ api_driver: 'drupal' drush: alias: 'drupal7' drupal: drupal_root: '/Users/jbarnett/Sites/drupal7/drupal7' region_map: content: "#content" footer: "#footer" left header: "#header-left" right header: "#header-right" right sidebar: "#column-right" selectors: message_selector: '.messages' error_message_selector: '.messages.messages-error' success_message_selector: '.messages.messages-status'
example behat test:
Feature: login In order to test that logging in as an admin user I can run some tests @api Scenario: Messages Given I am logged in as a user with the "administrator" role When I click "Add content" Then I should see the text "Article"