In this article, I would like to flashback into evolution of major test automation scripting languages in last 10 years. I will be only talking about scripting languages which were leading in their era.
VBScript
Well, when I started my career back in 2008, QTP was the leading automation tool and no tool was standing even near to it. This is due to the ease of automation using QTP with power of descriptive programming using VBScript. Although, license for QTP was very expensive, companies never hesitated to pay that fee because it saved them a lot of manual effort, providing a good ROI. In those times, automation tester having QTP skills were in high demand.
Java
As most of the applications started to move on web based/browser based platform, there comes some cool open source alternatives to QTP and selenium won the race as some of google employees started supporting webdriver version of selenium which is popularly known as selenium webdriver or selenium 2. Slowly, as most of the major companies migrated their applications to web based platform, selenium became the leading automation tool but QTP still remain there for non browser based applications.
As technology evolved and more and more applications migrated to browser based platform, selenium became the first choice for test automation overtaking QTP. Now testers with selenium skills were in high demand instead of QTP. This doesn’t mean that QTP is not used anywhere but because of its licence cost, most of the startups started adopting selenium and eventually the trend was followed by major IT companies as well.
However, with introduction of selenium, there is a major challenge and that’s about the niche programming skills expected from test engineers who earlier just used to program lightly on scripting languages like VBScript. So, now, not only the tool but programming language also became important factor while deciding on automation as selenium supports multiple languages.
Now as majority of applications were developed using Java, Java became the first choice for test automation using selenium. This is because if the application is developed in Java, there is some Java expert always available to help and sometimes an application developers itself can get converted to automation developer role especially for development of automation frameworks. However, till date, it's a major challenge to find good selenium-Java developers because Java may not be easy to learn for someone with non programming background and majority of full time developers are not interested in taking automation assignments.
Node.js (The future)
Now, turning into current period, major companies have started migrating from Java to languages like Node, Python for web development. One good example is Paypal who started migrating their application to Node back in 2013 and now they have completely adopted Node.for their web application development. Node is also an invention of google and many major IT giants have already started adopting Node for their automation. One major benefit of Node is as its written in Javascript, automation calls are very fast because overhead of converting calls from other language (like Java) to javascript is not there.Also, most of the test automation is done at web services layer now a days and Node is perfect for such type of automation as well.
Conclusion
So, If you are an automation tester, this is good time for you to learn Node and different automation frameworks using Node as its been widely adopted by many organisations in coming period