Last year, our Gumtree Australia<\/a> team started to use behavior-driven development in our agile development process. Initially, we searched for an open-source BDD framework to implement for BDD testing. Since we work on a web application, we wanted our automated BDD tests to exercise the application as a customer view, via a web interface. Of course, many web testing libraries do just that, including open-source tools such as Selenium<\/a> and WebDriver<\/a> (Selenium 2). However, we discovered that no existing BDD framework supports web automation testing directly.<\/p>\n\n\n\n
We decided to simply integrate the open-source BDD tool JBehave<\/a> with Selenium, but soon learned that this solution doesn\u2019t completely fulfill the potential of automated BDD tests. It can\u2019t drive the project development and documentation processes as much as we expected.<\/p>\n\n\n\n
We needed a testing framework that could let us express and report on BDD tests at different levels, manage the stories and their scenarios effectively, and then drill down into the details as required. And so we started to develop a product that matches our needs. We named this product the Behavior Automation Framework (Beaf) and designed it to make the practice of behavior-driven development easier. Based on JBehave as well as more traditional tools like TestNg<\/a>, Beaf includes a host of features to simplify writing automated BDD tests and interpreting the results.<\/p>\n\n\n\n