BDDfire
BDDfire allows us to setup Ruby Cucumber framework within a minute with all related toolkit. It became very popular as it gives us ability to setup Ruby-Cucumber framework without wasting time while setting up test framework for new projects. You don’t have to spend months and months setting up your frameworks and research the tools. BDDfire currently has more than 69,000 downloads and glad to know that few companies already started using it.
What’s new in BDDfire 2.0
Today, I am glad to announce BDDfire 2.0 with Docker, Gatling and Accessibility support. It means with BDDfire you can perform Load testing, Accessibility Tests and execute your scenarios inside the docker containers. You can find all the details on README file on Github. With BDDfire 2.0 you can
- Setup instant Ruby-Cucumber Framework
- Setup Docker environment for Cucumber
- Setup Load and Performance scenarios with Gatling
- Setup Accessibility Framework with Axe accessibility engine
You can literally do this with few commands.
1 2 3 4 |
$ gem install bddfire $ bddfire fire_cucumber $ bddfire fire_load $ bddfire fire_accessibility |
Now that you have all setup to use inside the ‘cucumber’ directory. The load and accessibility setup is optional. You can skip that if you don’t want it at all. Now you can get going by doing bundle install
1 2 |
$ cd cucumber $ bundle install |
Watch this in action here
[embedyt] http://www.youtube.com/watch?v=qr8jLmOd-mM[/embedyt]
Docker support
Docker is booming technology in the recent days and we don’t wanna mis the chance to use of docker in our cucumber BDD environment. BDDfire 2.0 will now create two additional files at the root of the project, ‘Dockerfile’ and ‘docker.sh’ which allows is to execute Poltergeist based scenarios inside docker containers.
Assuming, you have docker setup on your local machine. Please go to Docker official website to get yourself familiar with Docker and get yourself setup before you use it with BDDfire. Once you have Docker setup up and running. You can execute
1 |
$ bundle exec rake docker |
This will build a ‘bddfire-ci’ image and runs cucumber scenarios inside the ‘bddfire-ci’ container.
Watch live action here
[embedyt] http://www.youtube.com/watch?v=MQub3qHRwkM[/embedyt]
Gatling [Load Test] Support
Recently, Gatling is emerging as effective and efficient load and performance testing tool. BDDfire also gives you option to run load and performance tests against your app or web pages.
You can get Gatling setup
1 |
$ bddfire fire_load |
You can see ‘load’ directory inside the framework with recorded sample ‘simulation’ called ‘SampleLoadTest.scala’ but you can record your own simulations to perform load and performance tests.
In order to run load test, you have ‘cd’ into ‘load directory and execute the bash script
1 2 |
$ cd load $ sh gatling_local.sh |
This will run load tests against your url. You are free to record new simulations. Once finished there will be link to HTML report at the end.
There is CI integration to plug it with Jenkins and Docker support as well.
Watch this in action here
[embedyt] http://www.youtube.com/watch?v=h6MBXGAeUVY[/embedyt]
Axe [Accessibility] Support
BDDfire also create accessibility framework in order to perform some basic accessibility checks on your website or application. BDDfire uses Axe accesibility engine to perform accessibility related checks. You can get accessibility setup by
1 |
$ bddfire fire_accessibility |
This will create an ‘accessibility’ directory. We can then run accessibility checks by passing and URL environment variable. We can also exclude some part of the page by EXCLUDE environmental variable.
1 2 |
$ cd accessibility $ bundle exec cucumber -r features URL="http://www.google.co.uk" |
We can exclude some part of the page from accessibility checks.
1 |
$ bundle exec cucumber -r features URL="http://www.google.co.uk" EXCLUDE="#selector" |
Watch it action here
[embedyt] http://www.youtube.com/watch?v=aGPO_Bt5nmw[/embedyt]
Feel free to contribute and create issues on GitHub
https://github.com/Shashikant86/bddfire
Enjoy BDDfire 2.0. !!