logo

How to Select a Scripting Language for Selenium WebDriver Project

Selenium WebDriver

“This post is a quick comparison between WebDriver Java and Python APIs”

The thing that makes Selenium WebDriver superior to other web automation tools is the wide range of language and framework options it provides to the users for writing test scripts. Selenium WebDriver supported languages include Java, Python, Ruby, C#, JavaScript, Perl and PHP. When it comes to the frameworks that can be used with WebDriver, there’s quite a long list. Some of the popular supported frameworks are JUnit, TestNG, RSpec, unitTest, PHPUnit, and FitNesse, etc. Selenium WebDriver is designed to provide a simpler, more concise programming interface to complement the limitations in the Selenium-RC API.

Its always good to have options and choices but sometimes making a choice from a long list of available options becomes a difficult thing to do. There are number of decisive factors that help us in making an appropriate scripting language choice while starting a new WebDriver automation project. Some of the important factors that normally affect our choice are listed below:

  • Different frameworks and tools that can be used with different APIs
  • Available documentation and support for different WebDriver APIs
  • Maturity of APIs and frequency of updates to them
  • List of supported browsers and project requirements for browsers
  • Ease of setting up scripting or running environment
  • Complexity level of web applications
  • Use of technologies like Flash, Silverlight etc. in web applications
  • Maintainability and Scalability requirements of the project
  • Skill level and experience of QA resources in different programming languages
  • In house support available for different languages from developers
  • Test cases complexity and required test coverage

Recently, here at Kualitatem, we received a request for automating a web application that was developed in Python Django framework and had some modules developed in flash. Before starting the project, we did a short study on WebDriver Java and Python APIs and also analyzed other factors mentioned above to make a choice that suited best for this project. Findings of the study are summarized in the following table:

 

Comparing Factors

WebDriver Java

WebDriver Python

Documentation & online support availableMore documentation and online support availableOfficial documentation available but lesser online support
Ability to handle complex scenariosJava & Python API features are identical and both can handle complex scenariosJava & Python API features are identical and both can handle complex scenarios
Flash, Silverlight etc. handlingWebDriver can handle Flash and Silverlight when used with Sikuli (supported in java)Cannot handle Flash and Silverlight (no documentation available)
Supported frameworks (as per our requirements)TestNG, JUnit, SikuliunitTest
Supported browsersFirefox, Chrome, IE, Opera, HTML unit, Android, iPhoneFirefox, Chrome, IE, Opera, HTML unit, Android, iPhone
Setting up environment for running scriptLittle complex to setupEasier to setup
API matureness and updates frequencyPrimary WebDriver API. All new features are first implemented hereEqually mature but lesser support and delayed updates
In house support available from developersDevelopers could support equally for Java & PythonDevelopers could support equally for Java & Python
QA resource expertiseMore experience of WebDriver Java projectsFew projects in WebDriver Python
Learning curve for language and APIHigherLesser

After considering all of the above factors, it was concluded that there is not much difference between Java and Python API apart from available online support and flash handling capabilities. We decided to go with WebDriver Java API as the application had some modules developed in flash, and in order to handle them we wanted to use Sikuli (which works in integration with WebDriver Java API). Apart from that, factors like better online support and QA resources experiences also made the case favorable for WebDriver Java API.

Any body who has worked on the Selenium WebDriver ? We would love to hear your experience. Feel free to share your thoughts and add any other decisive factors to this comparison!

Subscribe to our newsletter and Get Our Latest Posts Instantly!

Leave a Reply

Your email address will not be published. Required fields are marked *

Talk to Us





Subscribe to Us

Subscribe to our newsletter and Get Our Latest Posts Instantly!