Quite a few weeks, back, I got a question from one of my contacts in linkedin.
In Dima Kovalenko’s book Selenium Design Patterns and Best Practices, he discusses how the common Selenium command sendkeys translates in most of the other major Selenium Language bindings. Check out the example below:
This uniformity between the different Selenium language bindings applies to most of the commands in the Selenium API. So, it's really easy to transfer your knowledge of one programming language approach to another using Selenium without much effort.
Well I can also give some tips as follows for selecting the language for test automation.
♦ The community for the specific programming language of your automation framework. ie. if you use selenium webdriver, Language support of JAVA is %68, JS %15, Python %11, %5 Ruby, %1 C# [Reference: Dave Haeffner’s SauceLabs Event Presentation].
♦ You should check which version is stable and get the updates first. For selenium, I think the JAVA bindings are getting updated at first.
♦ You should check the availability of the language support in StackOverflow.
♦ Visual Test Automation support.
♦ You should consider your competency of Programming Language which will be used in automation project.
♦ You should consider Test Runner frameworks and their capabilities such as JUnit, TestNG, NUnit, MBUnit, etc.
♦ You should consider how you can run your tests in parallel without any pain.
♦ You should consider your product/organisation programming language. In this way, you will get help from developers. If they write unit tests, that will be great! :slight_smile:
♦ Also consider the API Testing libraries of that programming language.
♦ Now-a-days BDD is a much used concept and hence the BDD support of that language should be considered.
♦ I personally feel that if you have never programmed before, it would be best to start by using a script-friendly language like Python or Ruby. Using a scripting language allows you to learn to write Selenium tests with the least amount of code in the shortest amount of time.
My final answer/recommendation:
So, to recap: What language should you use to learn Selenium?
The answer is that there is no such specific answer — but I really hope this article would help you narrow down, which language is right for your personal situation.
And may be you should consider many more items to select a programming language for test automation. If you have any feedback, please share with me in the comment section below.
Happy Testing!
0 on: "How to choose the Best Programming language for Test Automation with Selenium"