2017 © Pedro Peláez
 

library varbase-behat

Varbase Behat is a standalone testing framework, with a set of Gherkin Features and custom Varbase Context with custom step definitions, and assets, which help with the automatic testing for Varbase websites https://www.vardot.com

image

vardot/varbase-behat

Varbase Behat is a standalone testing framework, with a set of Gherkin Features and custom Varbase Context with custom step definitions, and assets, which help with the automatic testing for Varbase websites https://www.vardot.com

  • Thursday, August 3, 2017
  • by Natshah
  • Repository
  • 3 Watchers
  • 3 Stars
  • 0 Installations
  • Gherkin
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 1 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Varbase Behat

Varbase Behat is a standalone testing framework, with a set of Gherkin Features and custom Varbase Context with custom step definitions, and assets, which help with the automatic testing for Varbase websites https://www.vardot.com, (*1)

This page can help you to have all steps, which you need to run the Behat Gherkin Features to test a varbase website in your localhost machine., (*2)

Predefined request, you will need to have a running Varbase website: * Apache/http/https server. * PHP server, and have the mod_rewrite enabled. * MySQL server. * Configure your PHP/MySQL to work well with Varbase, Have a look at https://bitbucket.org/snippets/Vardot/8rGL/dev-tools-installs snippets. * Download Varbase from https://www.drupal.org/project/varbase Drupal website. * Install Varbase by following the Installing Varbase 7.x-3.x * https://www.drupal.org/node/2570843 documentation page. * Download Varbase Behat: https://github.com/Vardot/varbase-behat/releases, (*3)

After that you can go through the following steps., (*4)


  1. If you have a Varbase testing site at this location
/var/www/html/testing/docroot

  1. Download the latest Behat package from https://github.com/Vardot/varbase-behat repository, and place it in the folder as below.
/var/www/html/testing/behat

  1. Change the base url value in behat.varbase.yml file, to the domain or the local virtual domain.
  base_url:  'http://localhost/testing/docroot'

  1. Go to ../behat/ Then run the following commands to install all required packages, Libraries from vendors.
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar install

  1. Open a new terminal window then start selenium2 at the port 4445. You can change the worker selenium robot server and the port number by changing the parameter.
    "wd_host: 127.0.0.1:4445/wd/hub"

in the behat.varbase.yml file. or you can get the selenium stand alone server from http://www.seleniumhq.org/download/ then you could run this command in the same location in the terminal, (*5)

$ java -jar selenium-*.jar -port 4445

You can Install and configure selenium server to run on the selenium worker server by using our command., (*6)

$ sh ./tools/install-selenium-server/install-selenium-server-2.53.1.sh

  1. Run the behat command at ../behat/
$ bin/behat features/varbase/step2-apply-tests/01-website-base-requirements_user-registration_only-admins-login_v4-0.feature

================================================================================, (*7)

Feature: Website Base Requirements - User Registration - Only admins login
As an anonymous user
I will not be able to register as a user in the website
So that I will need a site admin or super admin to add me to the website

  Background: 
    Given I am an anonymous user

  @local @development @staging @production 
  Scenario: Check that create new account options does not appear for anonymous users.
     When I go to "/user"
      And I wait
     Then I should not see "Create new account"

  @local @development @staging @production
  Scenario: Check that only admin can create an account.
     When I go to "/user/register"
      And I wait
     Then I should see "Access denied"

  @local @development @staging @production
  Scenario: Verify that anonymous users cannot access admin pages.
     When I go to "/admin"
      And I wait
     Then I should see "Access denied"

3 scenarios (3 passed)
9 steps (9 passed)
0m2.21s (59.89Mb)

================================================================================, (*8)


  1. Run this command with the .feature file to run the Gherkin Script in it to the installed site.
$ bin/behat features/varbase/your-gherkin-feature.feature
$ bin/behat features/project-name/your-gherkin-feature.feature

  1. Run this command to print all available step definitions
$ bin/behat -di
- use -dl to just list definition expressions.
- use -di to show definitions with extended info.
- use -d 'needle' to find specific definitions.

All Varbase custom step definitions are tagged with #varbase tag., (*9)

Example : after a run for bin/behat -di command.

  default | Then /^I should see image with the "([^"]*)" title text$/
          | #varbase : To Find an image with the title text attribute.
          | Example 1: Then I should see image with the "Flag Earth" title text
          | at `VarbaseContext::iShouldSeeImageWithTheTitleText()`

  default | Then /^I should see image with the "([^"]*)" alt text$/
          | #varbase : To Find an image with the alt text attribute.
          | Example 1: Then I should see image with the "Flag Earth" alt text
          | at `VarbaseContext::iShouldSeeImageWithTheAltText()`

================================================================================, (*10)

Scenarios are tagged with the Behat tags of: * @local = Local * @development = Development server. * @staging = Staging and testing server. * @production = Production live server., (*11)

So that we only run bin/behat --tags with the right tag for the environment., (*12)

Example:

    $ bin/behat --tags '@development' features/varbase/
Which it will run Scenarios which has got the @development tag.

================================================================================, (*13)

    $ bin/behat --tags '@staging' features/varbase/
Which it will run Scenarios which has got the @staging tag.

================================================================================, (*14)

    $ bin/behat --tags '@production' features/varbase/
Which it will run Scenarios which has got the @production tag.

================================================================================, (*15)

  1. To see the report in HTML. Go and open this file in a browser. ../behat/reports/index.html You will see the latest report for latest run., (*16)

    if you want to custom a report you can add --format pretty --out std --format html --out reports/report-$( date '+%Y-%m-%d_%H-%M-%S' ), (*17)

    to format and select your output., (*18)

    Example:, (*19)

    $ bin/behat features/example.feature --format pretty --out std --format html --out reports/report-$( date '+%Y-%m-%d_%H-%M-%S' )
  1. If you want to run all Gherkin Features over a new Varbase site. You will need to create the list of Testing users, and Add French, and Arabic languages to the site., (*20)


    You can run the following command:

    $ bin/behat features/varbase/ --format pretty --out std  --format html  --out reports/report-$( date '+%Y-%m-%d_%H-%M-%S' )
After that you can see the report in the ../behat/reports folder.

If you want to run the test in steps, if you are not interested in the
initialization and cleaning up after the test.
    $ bin/behat features/varbase/step1-init-tests
    $ bin/behat features/varbase/step2-apply-tests
    $ bin/behat features/varbase/step3-cleanup-tests
  1. If you want to test the installation process feature, you will need to use the varbase Install config file, as you can see in the following command.
   $ bin/behat --config=behat.varbase-install.yml tools/install-varbase/default-installation.feature

The Versions

03/08 2017

dev-8.x-4.x

dev-8.x-4.x http://vardot.com

Varbase Behat is a standalone testing framework, with a set of Gherkin Features and custom Varbase Context with custom step definitions, and assets, which help with the automatic testing for Varbase websites https://www.vardot.com

  Sources   Download

GPL-2.0+

The Requires

 

testing web browser varbase vardot