The Cucumber UI module lets any person to run automated
tests and create new tests (and also run them while they
are being created).
The user can later download the updated feature with the newly
created test.
It's fully customizable and the interface is very
interactive/intuitive.
Cucumber UI is a powerful automated testing module designed to assist users in effortlessly constructing essential tests for their websites. With its intuitive and user-friendly interface, it empowers users to effortlessly develop desired features and provides a list of steps with examples for reference.
Features on running an existing test suite:
It is necessary to fulfill certain general requirements. These include having the latest version of Chrome driver and Selenium standalone server.
* The Cucumber binary and behat.yml can be located at any place,
you just need to provide the path to them.
* HTTP authentication, for both headless testing and real browser
testing (Selenium).
* Tests run on background, the module checks for the process
periodically and
the output is updated on the screen (because some large test suites
can take
even hours to run)
* Kill execution
* Colored and meaningful output
* Export output as HTML or plain text
Cucumber UI needs configuration files to function fully, you can install these files by executing the following command on your project:
Features on creating a new test (scenario) through the interface:
```
* Choose feature (among the existing ones), title and whether it
requires a
real browser (i.e., needs JavaScript or not)
* Check available step types
* Choose step type from select field ("given", "when", "and" and "then")
* Auto-complete and syntax highlighting on the step fields
* Add new steps
* Remove a step
* Reorder steps
* Run test at any time (even if it's not completed yet)
* Download the updated feature with the new scenario
Or you can refer to the module documentation [Cucumber UI Documentation](https://www.drupal.org/docs/extending-drupal/contributed-modules/contributed-modules/cucumber-ui) which fully explains the Cucumber UI installation and how to use it.
YAML extension is required. You can install it through
PECL: `# pecl install yaml`
Check the example FeatureContext.php file for two examples of useful steps:
* Take screenshot (very useful for debugging specially if you run Selenium
headless, using XVFB or something like that)
* HTTP authentication
You can run the tests using PhantomJS instead of Selenium. In order to do that,
just run PhantomJS on port 8643,
this way: `phantomjs --webdriver=8643 --cookies-file=/tmp/cookies.txt`.
In that case, you should put
the path `http://localhost:8643/wd/hub` as the `wd_host` in `behat.yml`. It
didn't work with PhantomJS 2.0, but it does work with PhantomJS 1.9.8.
If you don't know from where to start, please check the file
sample-test-suite.zip.
Check [this video](http://ca.ios.ba/files/drupal/behatui.ogv) to understand
better how it works.
Check the module on [Drupal.org](https://www.drupal.org/project/behat_ui).
Check the module on [Drupal.org](https://www.drupal.org/project/cucumber_ui).