And you heard that, in automation projects, test automation skills are being used such as
- XPATH and CSS for creating web element locators
- JUNIT for the automated test scripts
- a programming language
- a test automation framework (Selenium WebDriver for example)
- page object model
But which are the most important test automation skills?
Here they are:
1. programming language
2. programming language
3. programming language
Why is the programming language so important?
Because record and play test automation does not work, despite what the test automation vendors say.
Test automation means writing code that uses the test automation framework for interacting with an application.
Based on this definition, you may say that learning a test automation framework is for sure one of the top 3 skills as well.
Let's take Java as an example of a programming language.
Learning Java means that you will learn about
- data types
- simple statements (if/else, switch, for, while)
- OOP concepts (inheritance, polymorphism)
It also means learning how to use the classes included in the JAVA framework such as
- List class
- File class
- Reader class
- Writer class
- Connection class
- ResultSet class
- XMLStreamReader class
- XMLStreamWriter class
Once you understand how to use the JAVA framework, learning the Selenium WebDriver framework is straightforward because this is just another framework.
So, learn a programming language and learn it well if you want to go far with your test automation projects.
Which programming language you choose matters less.
I suggest learning Java for Selenium test automation as most of the documentation/blogs/books use it.
But you can learn as well Ruby or C#.