Skip to content
Snippets Groups Projects
Commit 1102a5c5 authored by Tasneem Natshah's avatar Tasneem Natshah
Browse files

Issue #3305046: Start structure of Cucumber UI module

parent 07445bd7
No related branches found
No related tags found
No related merge requests found
# Cucumber UI
Like the Behat UI module, but for Cucumber-JS and Nightwatchjs, using the webship-js framework.
\ No newline at end of file
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.
Features on running an existing test suite:
* The Cucumber binary and cucumber.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
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
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 `cucumber.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/cucumberui.ogv) to understand
better how it works.
Check the module on [Drupal.org](https://www.drupal.org/project/cucumber_ui).
## Sponsored
* [Vardot](http://www.vardot.com).
* [Webship](http://webship.org).
* [Meedan](http://meedan.org).
......@@ -6,6 +6,11 @@
"license": "GPL-2.0-or-later",
"minimum-stability": "dev",
"authors": [
{
"name": "Vardot",
"homepage": "https://www.drupal.org/vardot",
"role": "Maintaining Drupal 8/9 module"
},
{
"name": "Webship",
"homepage": "https://www.drupal.org/webship",
......
......@@ -22,16 +22,16 @@ new-test-scripts:
- core/jquery
- core/jquery.once
ace-editor:
remote: https://raw.githubusercontent.com/ajaxorg/ace-builds/v1.9.6/src/ace.js
version: 1.9.6
remote: https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.12/ace.js
version: 1.4.12
license:
name: Ace Editor
url: https://ace.c9.io
js:
//raw.githubusercontent.com/ajaxorg/ace-builds/v1.9.6/src/ace.js: { type: external, minified: true }
//raw.githubusercontent.com/ajaxorg/ace-builds/v1.9.6/src/ext-language_tools.js:
//pagecdn.io/lib/ace/1.4.12/ace.js: { type: external, minified: true }
//pagecdn.io/lib/ace/1.4.12/ext-language_tools.js:
{ type: external, minified: true }
//raw.githubusercontent.com/ajaxorg/ace-builds/v1.9.6/src/ext-keybinding_menu.js:
//pagecdn.io/lib/ace/1.4.12/ext-keybinding_menu.js:
{ type: external, minified: true }
js/cucumber-ui.ace-editor.js: {}
dependencies:
......
......@@ -14,7 +14,7 @@
"Automated Testing",
"Automates Functional Testing"
],
"author": "Webshipco",
"author": "Vardot",
"scripts": {
"phpcs": "phpcs --standard=./.phpcs.xml .",
"phpcbf": "phpcbf --standard=./.phpcs.xml .",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment