Why is learning selenium so hard?
Selenium actually means
- writing unit tests for a specific unit testing framework (JUNIT/TESTNG)
- that uses locators (by CSS/XPATH)
- to find elements and interact with them using the Selenium WebDriver library
This is the first problem.
Learning Selenium means learning a lot of things:
- programming language
- unit testing framework
- Selenium WebDriver library
They cannot be learned in any order.
The programming language should be learned first as the unit testing framework and the Selenium framework depend on programming knowledge.
CSS and XPATH can be learned separately.
The second problem is that learning programming is hard.
I learned C++ (precursor of Java and C#) in 3 months (one university semester) after knowing already C and PASCAL.
When you learn your first language, it is challenging because everything is abstract and very different from anything else that you know (except math).
The third problem is learning by yourself.
You will have questions, problems, issues, doubts at each step.
You need someone with more knowledge than you to help you in any of these cases.
Learning by yourself is a non-sense for the first language.
After that, it works very well.
The fourth problem is that a lot of people buy into the hype that it is easy.
It is not. Accept that it is difficult and that it will take a while. Have realistic expectations (6 months), lots of patience and motivation.
The fifth problem is that one book or one udemy course or one blog will not be enough.
You need a lot of them, and also a lot of practice.
Finally, it is important how you learn things.
Do not start with the end goal, with trying to put together Selenium tests.
Start from the bottom, learn Java first, learn XPATH/CSS next, then unit testing, then Selenium.