Please post your Web Driver questions in official Web Driver forum

Friday, June 10, 2011

Beginner to Selenium Java Library, How much java to learn?

You have decided to learn Selenium to automate your web application. But not sure where to begin from. There is already one awesome document available on SeleniumHQ to learn Selenium. But what if you have least or no programming experience. And if you are going to use java client driver of Selenium then how much java knowledge you need?

Herein I have jotted down some java essentials which are needed in order to used java client library of Selenium.
    • OOPS - Encapsulation, Abstraction, Inheritance, Polymorphism. 
      Needless to emphasize on their importance in programming.
      • Introduction to Class, instance variable, instance methods, class variable, class method, Object
      • Constructor, Abstract Class, Interface, method overloading, method overriding, Package
      You definitely need to know when to create a class or interface, how to initialize your instance variables, create methods for test scenarios and bundle your test classes in packages


        • Ctrl Statment. To be able make to make decision in test methods. Should I continue test execution if login fails?
        • Loops. To execute same statements time and again, for example logging in for 5 different accounts using same method.
        • Arrays. You don't want to keep writing variables all overs you test scripts. Wish you could create a large place holder for similar types of variables.
        • Exception Handling. How would you continue with test execution if some thing unexpected happens during test execution?
        • Files and streams. So you want to keep test data out of your java source file, but how would you access them with in your test scripts?
        • Java Generics. Want to work with objects and not primitive data types and at the same time want type safety also.
        • Collection Framework. ArrayList and HashMap is a must to know
        • Multi Threading. How many threads to run for faster execution?
        • JDBC. Because we all love database testing, don't we?

      Fork me on GitHub