2bepublished / behat-config-generator
A behat config generator driven to ease the use of browser-stack and multiple devices.
Installs: 5 079
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- plumphp/plum: ~0.3
- plumphp/plum-csv: ~0.3
- symfony/console: ~2.5@stable
- symfony/filesystem: ~2.5@stable
- symfony/finder: ~2.5@stable
- twig/twig: ~1.18@stable
Requires (Dev)
- phpspec/phpspec: ~2.1@dev
This package is not auto-updated.
Last update: 2024-12-21 18:24:49 UTC
README
- Brought to you by [2bePUBLISHED]
- Developed by Christoph Rosse
About
A command-line tool that lets you generate behat.yml
configs.
It's main purpose is to ease the use of browserstack in combination with multiple devices.
BehatConfigGenerator lets you define which features should be executed on which devices when running the tests.
Installation
BehatConfigGenerator can be installed via composer
composer require "2bepublished/behat-config-generator"
Examples
Please have a look at the examples section. to see a config + the output that is generated.
Usage
Step 1: Create your devices list as .csv
The csv uses the following fields:
- device_name
- mink_session_name
- browserstack_device
- browserstack_user
- browserstack_password
- browserstack_os
- browserstack_browser
- browserstack_version
- browserstack_os_version
"iphone","iphone_5_ios7","iPhone 5S","my-username","my-password","ios","iPhone","","7"
"firefox","firefox_35_win","ANY","my-username","my-password","WINDOWS","firefox","35",""
Step 2: Create your feature / device mappings per module. If you have a behat setup with feature-files like this:
features/
order/*.features
cart/*.features
You have to create a: order.features.csv
and a cart.features.csv
The csv uses the following fields: feature,device1,device2,device3
feature,firefox,iphone
search,true,true
show,true,false
Step 3: Generate the behat.yml
by using the following command:
php vendor/bin/behat-config-generator pub:generate-behat-config ./data/devices.csv ./data/feature_list/ ./output-directory/
Customize the templates
To customize the generated behat.yml you can easily change the templates that are used.
Create a folder containing a device.yml.twig
and a module.yml.twig
and pass the folder via. a command option like so:
php vendor/bin/behat-config-generator pub:generate-behat-config --template-path="/my/templates/" ...
Features
- Customize templates
- Generate a big number of Configurations
LICENSE
See LICENSE
file.