Choosing An Automation Solution – part 3


In our previous discussion on choosing an automation solution, we discussed in detail the pros and cons, the trade-offs and aspects on how we go about choosing an automation solution. Indeed there was lot of information and choices we have to make based on how sure we are on “what we want”. With that background, I have attempted to hand-draw some visual depiction of what we spoke in previous sections.

The below pictures might not cover all libraries, all capabilities and all view-points. However it does give a sense or idea on how do we go about making an investment and what terms/jargon we need to know. If not a complete solution, it at least gives us a few guiding principles and decision points to talk about.

There is a ton of information that can discussed if we go into the details, for eg. Java world would also include Groovy, integration points of Java with other programming languages and so on, so obviously the benefits we talk about other programming languages can be leveraged if we know that Java integrates with those languages too. So we should NOT look at each of them as a complete disjoint sets, but we should look at it in terms of what we want and does the programming language choice give us what we want [Going back to the attributes of a framework]

Each of the pictures below show Ruby, Java and NodeJS stack. Bear in mind that these apply only for web automation solutions. The mobile space is a totally different discussion.

I have had experience with both Java and Ruby Stacks and each have their give and takes. That said, there is actually a world that makes us take advantage of both Ruby elegant syntax (and readability…) and Java mature and proven nature.

There is an entire section dedicated to “How we can work with both Ruby and Java” together at the same time.

Ruby Stack:



Java Stack:


NodeJs Stack: