Monday 3 March 2014

Getting started with Selenium Webdriver:

In this post we will learn,

  1. What is Selenium?
  2. What is Selenium WebDriver?
  3. Why/Where to use Webdriver?
  4. Difference between Selenium IDE, RC and Webdriver?
  5. Flexibility and Extensible of Webdriver?


What is Selenium?

Selenium is a browser based open source test automation tool which automates the user interactions with the browser. It is a suite of various tools. Selenium's tool suite includes,

  • Selenium IDE:  Selenium IDE (Integrated Development Environment) is a prototyping tool for building test scripts. It is a Firefox plugin and provides an easy-to-use interface for developing automated tests. Selenium IDE has a recording feature, which records user actions as they are performed and then exports them as a reusable script in one of many programming languages that can be later executed. The IDE looks like this, 
                               
  • Selenium RC: Selenium RC was the main Selenium project for a long time. Selenium works using javascript injection. If you have worked with selenium for sometime, then you must be aware of the same origin policy issues and limitations of javascript injection. Webdriver overcomes this by using a driver for each browser. For firefox this means, webdriver attaches itself to browser as an addon, for IE it uses automation atoms and for chrome and opera it uses the chrome driver. It ‘injects’ javascript functions into the browser when the browser was loaded and then used its javascript to drive the AUT within the browser.
  • Selenium Webdriver:  WebDriver is designed to provide a simpler, more concise programming interface in addition to addressing some limitations in the Selenium-RC API. Selenium-WebDriver was developed to better support dynamic web pages where elements of a page may change without the page itself being reloaded. WebDriver’s goal is to supply a well-designed object-oriented API that provides improved support for modern advanced web-app testing problems.



What is Selenium WebDriver?

WebDriver is designed to provide a simpler, more concise programming interface in addition to addressing some limitations in the Selenium-RC API. Selenium-WebDriver was developed to better support dynamic web pages where elements of a page may change without the page itself being reloaded. WebDriver’s goal is to supply a well-designed object-oriented API that provides improved support for modern advanced web-app testing problems.

Selenium-WebDriver makes direct calls to the browser using each browser’s native support for automation. How these direct calls are made, and the features they support depends on the browser you are using, i.e,

  • Firefox:  Webdriver controls the Firefox browser using a Firefox plugin. The Firefox Profile that is used is stripped down from what is installed on the machine to only include the Selenium WebDriver.xpi (plugin).
  • IE: This browser is controlled by a .dll and is thus only available on Windows OS. 
  • Chrome:  This is maintained / supported by the Chromium project iteslf. WebDriver works with Chrome through the chromedriver binary (found on the chromium project’s download page). You need to have both chromedriver and a version of chrome browser installed. chromedriver needs to be placed somewhere on your system’s path in order for WebDriver to automatically discover it. The Chrome browser itself is discovered by chromedriver in the default installation path. These both can be overridden by environment variables. Please refer to the wiki for more information.


Why/Where to use Webdriver?

Why:


  • Webdriver is a open-source tool.
  • Provides various language APIs(i.e, Java, C#, Ruby..etc)
  • Supports all major browsers( i.e, Firefox, Chrome, Internet Explorer and Opera and so on).
  • Supports all major platforms( i.e, Windows, Linux, Mac and so on..)
  • Can add user extensions.


Where:

Selenium Webdriver can be used to automate only web based applications but not desktop applications

Difference between Selenium IDE, RC and Webdriver?



Flexibility and Extensible of Webdriver?

Flexibility:
Selenium is highly flexible,


  • There are many ways you can add functionality to both selenium test scripts and Selenium's framework to customize your test automation using own client libraries.
  • In addition, since Selenium is open-source, the source code can be always downloaded and modified.
  • Selenium supports for multiple programming and scripting languages allows the test automation engineer to build any logic they need in to their automated testing





42 comments:

  1. Nice information about the load testing!!! I prefer Loadrunner automation testing tool to validate the performance of software application/system under actual load. Loadrunner Training in Chennai | Loadrunner training institute in Chennai|QTP Training Chennai

    ReplyDelete
  2. This is most informative and also this post most user friendly and super navigation to all posts... Thank you so much for giving this information to me.. 
    Click here:
    angularjs training in bangalore
    Click here:
    angularjs training in pune

    ReplyDelete
  3. Thanks you for sharing this unique useful information content with us. Really awesome work. keep on blogging

    DevOps online Training|DevOps Training in USA

    ReplyDelete
  4. You got an extremely helpful website I actually have been here reading for regarding an hour. I’m an initiate and your success is incredibly a lot of a concept on behalf of me.
    java training in chennai | java training in bangalore

    java online training | java training in pune

    ReplyDelete
  5. Thank you for this post. Thats all I are able to say. You most absolutely have built this blog website into something speciel. You clearly know what you are working on, youve insured so many corners.thanks
    Data Science Training in Chennai | Data Science course in anna nagar
    Data Science course in chennai | Data science course in Bangalore
    Data Science course in marathahalli | Data Science course in btm

    ReplyDelete
  6. I Regreat For Sharing The information The InFormation shared Is Very Valuable Please Keep Updating Us Time Just Went On Reading The Article Python Online Training AWS Online Training Hadoop Online Training Data Science Online Training

    ReplyDelete
  7. This blog is the general information for the feature. You got a good work for these blog.We have a developing our creative content of this mind.Thank you for this blog. This for very interesting and useful.
    angularjs online training

    apache spark online training

    informatica mdm online training

    devops online training

    aws online training

    ReplyDelete
  8. nice course. thanks for sharing this post this post harried me a lot.
    Selenium Training in Noida

    ReplyDelete
  9. Hi Dear,
    Thanks for posting this blog, that's a professional service. I am interested with your service. It's a very useful for me and other. Please visit at "selenium automation testing", i hope it be prove useful for you.

    Visit Here - https://www.testframework.io/

    Thanks Regards,,

    ReplyDelete
  10. Your info is really amazing with impressive content..Excellent blog with informative concept. Really I feel happy to see this useful blog, Thanks for sharing such a nice blog..
    If you are looking for any python Related information please visit our website Python Training In Bangalore page!

    ReplyDelete
  11. Informative post indeed, I’ve being in and out reading posts regularly and I see alot of engaging people sharing things and majority of the shared information is very valuable and so, here’s my fine read.
    click here download the videos
    click here download hall ticket
    click here download instructions
    click here designs
    click here download com.diconline.rakroid now

    ReplyDelete
  12. It's very Wonderful to visit your site...Enjoy Reading your Articles...informative Blogs About Java...Keep doing the same
    Java training in chennai | Java training in annanagar | Java training in omr | Java training in porur | Java training in tambaram | Java training in velachery

    ReplyDelete
  13. Fantastic blog!
    BEST ANGULAR JS TRAINING IN CHENNAI WITH PLACEMENT

    https://www.acte.in/angular-js-training-in-chennai
    https://www.acte.in/angular-js-training-in-annanagar
    https://www.acte.in/angular-js-training-in-omr
    https://www.acte.in/angular-js-training-in-porur
    https://www.acte.in/angular-js-training-in-tambaram
    https://www.acte.in/angular-js-training-in-velachery

    ReplyDelete
  14. And indeed, I’m just always astounded concerning the remarkable things served by you. Some four facts on this page are undeniably the most effective I’ve had. thanks
    Ai & Artificial Intelligence Course in Chennai
    PHP Training in Chennai
    Ethical Hacking Course in Chennai Blue Prism Training in Chennai
    UiPath Training in Chennai

    ReplyDelete
  15. I really enjoy simply reading all of your weblogs. Simply wanted to inform you that you have people like me who appreciate your work. Definitely a great post.
    AWS training in chennai | AWS training in annanagar | AWS training in omr | AWS training in porur | AWS training in tambaram | AWS training in velachery

    ReplyDelete
  16. This is an awesome motivating article.I am practically satisfied with your great work.You put truly extremely supportive data. Keep it up. Continue blogging. Hoping to perusing your next post
    Java Training in Chennai

    Java Training in Velachery

    Java Training in Tambaram

    Java Training in Porur

    Java Training in OMR

    Java Training in Annanagar

    ReplyDelete
  17. Whoa! I’m enjoying the template/theme of this website. It’s simple, yet effective. A lot of times it’s very hard to get that “perfect balance” between superb usability and visual appeal. I must say you’ve done a very good job with this.

    Angular js Training in Chennai

    Angular js Training in Velachery

    Angular js Training in Tambaram

    Angular js Training in Porur

    Angular js Training in Omr

    Angular js Training in Annanagar

    ReplyDelete
  18. Nice & Informative Blog !
    you may encounter various issues in QuickBooks that can create an unwanted interruption in your work. To alter such problems, call us at QuickBooks Customer Support Number 1-855-974-6537 and get immediate technical services for QuickBooks in less time.

    ReplyDelete
  19. Hey! If you’ve got QuickBooks Error 1935 on your PC, then do call us and get immediate ways to solve QuickBooks problems. Our team is highly qualified and offers you the best possible solutions to troubleshoot all the queries of QuickBooks in less time.

    ReplyDelete
  20. Its really amazing Blog!!Its the best thing that i have read today on internet. Incase If you face any technical problem QuickBooks, contact:
    QuickBooks support phone number

    ReplyDelete
  21. This blog will help to get more ideas. This is very helpful for Software Testing learners. Thank you for sharing this wonderful site. If someone wants to know about Software QA services this is the right place for you Software QA Companies.

    ReplyDelete

  22. Hey! Lovely blog. Your blog contains all the details and information related to the topic. In case you are a QuickBooks user, here is good news for you. You may encounter any error like QuickBooks Error, visit at QuickBooks Customer Service Number for quick help.

    ReplyDelete