Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to use Selenium to do some automating testing. Which language has better support for Selenium?

That is, once a new version of Selenium is released,

And I can get the newest version binding on Ruby or Python as soon as possible.

I love the Ruby syntax more than Python's (which is more elegant, but it seems Python has better support for Selenium).

Please give me some directions, thanks


As a beginner, I will look up the documentation first and see how to use Selenium.

But I found the Ruby version has poorer documentation than Python's

Is there any good documentation for Ruby-binding Selenium?

share|improve this question

closed as primarily opinion-based by Niels van Reijmersdal, Kate Paulk, Bruce McLeod Jun 24 '14 at 1:51

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

Take a look on this answer: – Twaldigas Jun 18 '14 at 10:52
I would pick the language the application is developed in, this will make it more accepted by the development team. – Niels van Reijmersdal Jun 18 '14 at 10:55

As @Niels van Reijmersdal mentioned, it makes sense to use the language in which you have local experts available.

But you don't have to use the same language - use the language in which your team will be more productive. Python and Ruby are almost identical in expression power. I would argue that Python is more readable, which is significant advantage when you share code with others, or even you have to read your own code few years later. Cool syntax sugar you so like in Ruby might be very well confusing to others. Python is more straightforward, and as you said, has better support for Selenium.

Python is also very popular language beyond web applications (numerical processing, statistics, bioinformatics, system administration), while Ruby is limited to web application niche. For this reason, becoming Python expert adds more to your career options. And it seems that many programmers have same opinion: Python usage steadily grows, while Ruby peaked with RoR in 2006 but slowly shrinks (according to TIOBE), following Perl (which was Ruby's intellectual predecessor).

Edit: I do not claim that Python has better support for Selenium than Ruby. It was opinion of original poster @poc. I argue that Python is better choice for other reasons. And because of that, and because of my experience how Python community settles around few libraries and continues to improve them (because in Python, it is easier to share code with others), I expect Python bindings will continue to be maintained, while Ruby's popularity is past it's peak.

Edit 2: Criteria for selecting language to write tests are different that criteria for language to write main application. My friend's company uses C++ for speed for main application (not a web application) but Python for writing tests - execution speed is not as critical for tests, but productivity and flexibility for test is better with Python, even if they have in-house C++ experts.

share|improve this answer
How come Python has better support for Selenium? – Niels van Reijmersdal Jun 18 '14 at 13:29
Better support of Python for Selenium is not my opinion, but by OP. I looked at Ruby but selected Python for reasons mentioned above, so I have no personal experience with Ruby bindings for Selenium. – Peter Masiar Jun 18 '14 at 13:34
Ah, I thought you was confirming it indeed had better support. :) Was just curious what the difference where. – Niels van Reijmersdal Jun 18 '14 at 13:38
I actually use Ruby and love it, but +1 for "you don't have to use the same language - use the language in which your team will be more productive". For us, this is why we picked Ruby and are happy with it. (As a benefit, later on our Ops team picked Chef, so we now have more Ruby experts on hand). – testerab Jun 18 '14 at 14:16

In my opinion it's better to develop with the tools and languages that you love.

Here are good Selenium recipes, code examples & API references for Ruby:

share|improve this answer

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