6

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

UPDATE

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

http://selenium-python.readthedocs.org/

Is there any good documentation for Ruby-binding Selenium?

5

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 index), 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.

| 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 M. - stands for Monica 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
  • 2
    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
3

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:

| improve this answer | |

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