I am a Manual Tester having 2.9 yrs of experience Now that i want to learn Selenium., can anyone tell me what all i need to learn in Java which helps in learning Selenium
Its good to move for automation testing. If you want to use JAVA as programming language with selenium then at basic level you should have following knowledge :
1 - Basic logic development skill
2 - Java data types
3 - Conditional statements
4 - Basic theoretical knowledge like what is class , object , method , function , package etc.
According to me above are enough to start with selenium.
Some good tutorials are given below :
You basically need only core java for selenium webdriver.If you don't have any background of programming in general, i would suggest you to go for step by step tutorial like this .
Otherwise in my opinion these are the bare minimum things that you need to know & have hands on,
- Object & Class
- Overloading & Overriding
- Exception Handling
- Java Collections.
You need to learn programming. Python is commonly considered better, simpler language for learners than Java (which is jokingly called not object-oriented, but object-obsessed).
Once you understand basic programming concepts (variable, loop, procedure, function, data types and collections, exceptions, debugging your code), learning other similar languages is much easier. Python has Selenium binding which are very similar to Java, so once you learn Python API, Java is almost the same.
There are many online python courses, on edx.com, coursera, etc. First you need to learn how to split task to simpler tasks, design data structures to support your tasks, which is language-independent, so it makes sense to learn it in beginner-friendly language. Also, Python has interactive mode, which allows for much simpler experimenting with language features (and debugging).
Good thing is that in Python, basic familiarity with concepts like class, object, collection etc is enough (you need to know how to use libraries but no need to define your own classes when you begin), which makes programming much simpler for beginners.
Python works much harder to make programming more intuitive (for what you pay small penalty that Python code is a minuscule bit slower than Java, but it does matter only for applications which need the speed - which is not the case for Selenium tests).