I've started a new role in my life. I was a front end web developer, but I've now been moved to testing web software, or more so, automating the testing of the software. I believe I am to pursue a BDD (Behavior Driven Development) methodology. I am fairly lost as to what to use, and how to piece it together.

The code that is being used/written is in Java to write a web interface for the application to test. I have documentation of the tests to run, but I've been curious how to go about automating it.

I've been directed to Cucumber as one of the "languages" to help with the automation. I have done some research and come across a web site for a synopsis of BDD Tools/Frame works, 8 Best Behavior Driven Development (BDD) Tools and Testing Frameworks. This helped a little but then I got a little confused of how to implement it. It seems that Selenium is a common denominator in a lot of the BDD frameworks for testing a GUI, but it still doesn't seem to help describe what to do.

I then came across the term Functional Testing tool, and I think that confused me even more. Do they all test a GUI?

I think the one that looked like it was all one package was SmartBear TestComplete, and then there is, what seems to be, another similar application by SmartBear called, SmartBear TestLeft, but I think I saw that they still used Cucumber for BDDing it. There a few others that looked like they might work as well, but I guess the other question is what's the cheapest route?

I guess the biggest problem I have is how to make these tests more dynamic, as the UI/browser dimensions can easily change from system to system, and how do I go about writing automation that can handle this, and tie into a BDD methodology?

Does anyone have any suggestions here? Does anybody out there do this?

Thanks in advance.

Original Post

2 Answers 2


Yep, I do this.

BDD is really a methodology of writing and organizing your test cases. It's gaining traction with business Analysts, and it's great that they've already written that out for you.

Selenium is an api that can interact with your browser - usually you import it into your framework as a library, and then call the built-functions such as click() or find_by_xpath() or get("url")

The cheapest way to code it would be to pick a language, framework, and a test runner. It sounds like cucumber (cukes.io) has already been picked for you as test runner, and Java is your language - that's a popular combination. Lots of people like the Page Object Model design pattern for GUI tests.

Then you'll need a web driver - ideally you're only supporting chrome https://sites.google.com/a/chromium.org/chromedriver/ but if you have to support other browsers it may be cheaper in the long run to invest in browserstack or saucelabs.

Smartbear, as far as I know, really focuses on api testing - not a bad thing to have but if your bosses want GUI testing that's pretty different.

If Java isn't your cup of tea, you might want to ask them about writing it in Javascript or Python. Technically, the automation language doesn't have to match the application language.

  • Thanks! Yeah,cucumber may have already been picked for me, well, it's got the spotlight. I've already tried a tutorial for both jUnit and Cucumber. It went OK, but as stated, I'm still a little confused. I might need some more sample pages to try and work with. Thanks again. Feb 15, 2018 at 22:48
  • @MatthewDewell, you can also vote up an answer. If you consider Megan has helped you, please vote up and accept for her time and effort spent answering your question.
    – Yu Zhang
    Feb 16, 2018 at 0:25

I recommend that you look into building a test automation framework starting with Java, Gherkin, Cucumber, JUnit and Selenium Webdriver. A great resource to get started would be here:


This is assuming your organization doesn't have a system in place. I would suggest that you do a lot of research into the pieces of test automation and when to automate versus when not to. Hope this gets you started...

  • Thank You! Do I want to even consider something like SmartBear apps? Have you used them? Can any of this pick out given graphics on a page? I'm curious how to go about that. I know cucumber will do the forms and other HTML standards on a page, from what I have gathered so far, but I'm more interested in the GUI testing. Any ideas? Feb 15, 2018 at 20:38
  • Its easy enough with some practice to code out what you need to look for on a page. I'm not sure jumping right into a boxed solution would be valuable. I would try just setting up a project and getting your hands dirty - check Google Images for a picture of cheese or something!
    – Haney
    Feb 15, 2018 at 21:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.