Search code examples
drupal-7cross-browserbehat

Behat configuration of behat.tml for crossbrowser testing


I am using behat 3. My behat.yml looks like the following

default:
  suites:
    default:
      contexts:
        - Drupal\DrupalExtension\Context\MinkContext
        - FeatureContext
extensions:
  Behat\MinkExtension:
    goutte: ~
    selenium2: ~
    javascript_session:  'selenium2'
    browser_name: chrome
  Drupal\DrupalExtension:
    blackbox: ~
    region_map:
      search: ".form-search"
    api_driver: "drupal"
    selectors:
      message_selector: '.messages'
      error_message_selector: '.messages.messages-error'
      success_message_selector: '.messages.messages-status'
imports:
  - behat.local.yml

behat.local.yml looks like:

default:
  extensions:
    Behat\MinkExtension:
      # Replace with your real URL.
      base_url: http://website.com
    Drupal\DrupalExtension:
      drupal:
        drupal_root: "/home/website"

How can I make this run against internet explorer? Fyi I am using phantomjs to fake the browsers on the server.


Solution

  • After googling a bit I found out that you can just replicate the profiles in the following way:

    default:
      suites:
        default:
          contexts:
            - FeatureContext
            - Drupal\DrupalExtension\Context\DrupalContext
            - Drupal\DrupalExtension\Context\MessageContext
            - Drupal\DrupalExtension\Context\MinkContext
            - Drupal\DrupalExtension\Context\MarkupContext
          filters:
            tags: "@blackbox"
          extensions:
            Behat\MinkExtension:
              goutte: ~
              zombie: ~
              base_url: http://drupal.org
              javascript_session: zombie
            Drupal\DrupalExtension:
              blackbox: ~
              region_map:
                content: "#content"
                footer: "#footer"
                left header: "#header-left"
                right header: "#header-right"
                right sidebar: "#aside-region"
              selectors:
                message_selector: '.messages'
                error_message_selector: '.messages.error'
                success_message_selector: '.messages.status'
                warning_message_selector: '.messages.warning'
    
    # Separate profile for testing using the api driver. This assumes a
    # stock Drupal 6 install.
    drupal6:
      suites:
        default:
          contexts:
            - FeatureContext
            - Drupal\DrupalExtension\Context\DrupalContext
            - Drupal\DrupalExtension\Context\MinkContext
            - Drupal\DrupalExtension\Context\MarkupContext
          filters:
          tags: "@d6"
        extensions:
          Behat\MinkExtension:
            base_url: http://127.0.0.1:8888
          Drupal\DrupalExtension:
            api_driver: "drupal"
            drupal:
            # Change this to the absolute path to Drupal install.
              drupal_root: "drupal"
            region_map:
              left sidebar: "#sidebar-first"
    

    Check this drupalextension blob