Fire up BDD inside Docker with Cucumber and BDDfire

Fire up BDD inside Docker with Cucumber and BDDfire

Automation, BDD, DevOps
The key benefits of Behavior-Driven-Development (BDD) practices are communication enhancement and customer satisfaction. You can read more on that by Dan North and Gojko Adzic. Perhaps the biggest practical challenge that stands in the way of reaping those benefits is the burden of provisioning, installation, maintenance of requisite complex and fussy infrastructure and setting up reliable test infrastructure. Cucumber is one of the most popular BDD framework available in the market to achieve the benefits from BDD practices. The problem is software teams seems to spend lot of the time setting up Cucumber and necessary toolkit around it. The management has to decide the tools and engineers have to research all the available tools to support agile practices like CI, code quality, test reporting, parallel execution, devOps integration. The process of getting BDD…
Read More

BDDfire: Continuous Integration with TravisCI and new webpage

Automation
BDDfire : New Home BDDfire is an instant Cucumber-BDD framework which allows us to setup entire Ruby-Cucumber frameworks in a minute. BDDfire is hosted on Rubygem server and currently  has more than 80K downloads. I am glad to announce that BDDfire has now got new home on GitHub pages. BDDfire is current hosted on static page generator by Github and can be accessed here . http://shashikant86.github.io/bddfire/  Or You can visit it by clicking on image below. Continuous Integration with TravisCI BDDfire was lacking CI support which was pain while contributing and merging pull requests. Good news is that BDDfire now supports Continuous Integration service using Travis CI and we got some tests ! Travis CI page for the BDDfire build will trigger after every PR and commit on master. The build status can…
Read More

Instant Testing of RESTful API with BDDfire and Cucumber

Automation, BDD
BDDfire2.0.1 + REST API Testing Glad to announce support for the API testing to BDDfire as we can now use pre-defined steps to perform API testing using combination of Cucumber and RestClient. BDDFire is a wholesale Ruby-Cucumber framework where you can setup Web, Mobile, Accessibility, Load, Performance and now REST API testing. BDDfire  + RestClient BDDfire uses RestClient to perform HTTP requests to URI and check response. We can use it for checking JSON and XML response. There are following pre-defined steps we can use to check JSON response. [crayon-58ac4a3ad52aa695306355/]   There are few to check XML response as well [crayon-58ac4a3ad52ba093187880/]   Here is how you can get API tests up and running in few minutes with BDDfire. Fire up your terminal/iTerm and execute following commands to get the project setup…
Read More

BDDfire 2.0 with Docker, Gatling and Accessibility support

Automation, BDD, DevOps
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…
Read More

Dockerizing BDD : Presentation at #BDDX15 Conference London

Personal
Agile Testing and BDD Exchange 2015 Agile testing and BDD Exchange 2015 conference has been organised at SkillsMatter, London on 12th and 13th November 2015. It was very informative event and mainly it was well organised by SkillsMatter. The details of the programmes are here, I am pleased to attend and speak at the BDD Exchange 2015. I have presented on the topic 'Dockerizing BDD: Ruby Cucumber Example'. The slides and video of the presentation is available now. Dockerizing BDD : Ruby Cucumber Example The slides of my presentation are available on SlideShare. http://www.slideshare.net/Shashikant86/dockerizing-bdd-rubycucumber-example SkillsCast - Video of the talk The video of the presentation is available to watch on SkillsMatter website. You need to register to SkillsMater in order to watch it. Link to the video can be found…
Read More

Docker Compose Cucumber for Cross-Browser Testing

Automation, BDD
Docker-Compose Docker is the trending tool in the recent days which allows us to run multiple lightweight containers to perform various task. Just in case, you haven't got docker please refer my previous post 'Guide to Docker ToolBox' to start Docker from scratch. Docker-compose is a way of managing multiple containers to perform specific tasks. It allows us to create 'docker-compose.yml' file with our container requirements. You can install docker-compose in with PIP with single command. [crayon-58ac4a3ad8a4d345081980/] In this short post, we will setup Ruby-Cucumber to run scenarios in the multiple browses. We will execute it in PhantomJS based Poltergeist driver. Docker-Compose Cucumber We will consider two basic scenarios here. You have existing cucumber framework setup You have to start from scratch Existing Cucumber Framework Assuming, you have created Dockerfile &…
Read More

Dockerizing Cucumber-BDD and Ruby Friends

Automation, BDD
Docker Docker is becoming incredibly popular in the recent days. Docker containers are lightweight and can be launched as required. Well, this post is about provisioning Cucumber-Capybara BDD framework inside docker in order to execute Cucumber scenario inside the containers. This will install all the supporting tools as mentioned in the BDDfire. Docker-BDD on DockerHub In order to setup, Ruby-Cucumber framework inside docker, I have created a Docker image on DockerHub, called 'docker-bdd'   You can get click on image above to get to Docker-Hub and pull 'docker-bdd'. Pulling Docker-BDD Assuming you have Docker setup in your machine, you can launch docker vm. Please use docker docs in order to get you setup with docker. Now, let's pull the Docker image and let it provision   [crayon-58ac4a3ad93f0304383140/]   This  will pull…
Read More

Faster BDD: Parallelising Cucumber and re-running failed scenarios

BDD
Parallelising Cucumber The 'parallel_test' is a awesome rubygem to speedup your Rspec, Cucumber and Test Unit scenarios. Parallel _test also allows us to run Cucumber into different process and speedup the entire execution. In my previous blog post 'speed up BDD with parallel cucumber' we have seen the basic setup of parallel-test, scenario execution and reports aggregation. In this post, we will see how to handle flacky scenarios by re-running them with parallel cucumber. Source Code Source Code of this demo is available on GitHub ' parallel-cucumber-failed-rerun' https://github.com/Shashikant86/parallel-cucumber-failed-rerun   Setup Inside cucumber.yml if you got existing project add this to your cucumber.yml report logger as a new profile [crayon-58ac4a3ada28a649518645/]   This will created 'cucumber_failures.log' with all failed scenario which we can use it for rerunning. You can also add another…
Read More

Published New eBook: Practical Cucumber with Ruby Friends

Personal
New Free eBook I am glad to announce my new eBook on 'Practical Cucumber with Ruby Friends' This book covers practical use of Cucumber, Capybara framework with step by step guide. This book also highlights modern web development tools for developers and testers. An open-source toolkit includes Capybara, Poltergeist, Relish, Appium, Calabash, Cuke_Sniffer, Jenkins, PhantomJS etc. The agile development methodologies like Behaviour Driven Development becoming so popular and role of developers and test engineer changing dramatically as teams started using Cucumber as BDD tool. What You will Learn This book will give practical information about Cucumber and related open-source tools. It’s essential for team to learn Cucumber and it’s basic setup. After reading this book, you will able to Setup Ruby-Cucumber Framework Learn about latest open-source tools used with Cucumber…
Read More

Setting up Headless Travis CI build with Cucumber+Capybara+Poltergeist

Automation, BDD
Travis CI Travis CI is a continuous integration service for the open source projects hosted on GitHub. You can login into  TravisCI with your existing GitHub account. Travis CI build will run after every checkin into the GitHub. Typically TravisCI loos like this Setting up TravisCI +Poltergeist Setting up Travis CI for the Cucumber Poltergeist project is easy task as PhantomJS is pre-installed on the TravisCI. Poltergeist uses PhantomJS as a headless browser to execute UI Cucumber+Capybara scenarios. If you haven't came across Cucumber+Capybara+Poltergeist setup, please read my previous post ' Cucumber + CapyBara + Poltergeist: Rockstar BDD Combo' Now, let's setup the TravisCI for the one of the Poltergeist project on GitHub: Poltergeist-Demo https://github.com/Shashikant86/Poltergeist-Demo I have logged into TravisCI with my GitHub account. You can view this public build here Now,…
Read More