I am currently working a full-time job in QA that does not utilize Selenium. However, I am interested in learning about how to use it and wanted to know what steps I should take to gain knowledge of Selenium.
So for me C# was my language of choice, unlike Brandon Garlock suggests I am going to suggest that you don't use selenium IDE(because you know some code). If you know code, even remotely know code I would recommend writing your own scripts; mainly because of the control and reliability you can have, while building your own tests from the ground up. I started with the following youtube video here. Got selenium up and running in visual studio, and then just began playing around with its functionality. Hopefully this helps you in your search.
The Video that DEnumber50 posted is what i used to get everything ready to play around with C# VS and was very helpful.
I would look up BAT(Black Box Automated Testing) Architecture with selenium. Then take a look at the website you wish to test and write down a list of test. It is important to keep your test separate from the Architecture you will be using in your test. It is my opinion that test driven design is the best way to approach the subject so just let the test drive what you need. So for each test write the classes and methods to facilitate the test. There should be no actual code within your test and similarly no NUnit(Program i use to run the test) assertions in the architecture.
Here are some links that i found helpful along the way
I am a big fan of simple programmer he had a two hour talk explaining page modeling and automating test responsibly it is in his blog.
The best way to get started with selenium without having a business objective is to look for a website that you use often and ask yourself if there is a way you can automate what you do on that site that can help you on a daily basis.
Once you have a goal download the Selenium IDE plugin for firefox. Record the actions you want to automate. Then you will be able to export the recording to a variety of programming languages.
Now you will have an example tailored to your needs that you can expand on and use as a reference.
Thanks for all the responses, they have provided great resources. For others interested, I also stumbled upon this website that seems helpful:
Copied from my answer on Quora.
Beside having a good plan to learn something, to be successful, one should also be clear about their goals. You should make sure you understand that:
- The demand for test automation (and test automation engineer jobs) will only be increase steadily.
- Selenium is the way to go for automating end-to-end testing for web applications.
Learning test automation is possible for everyone—remember that even the greatest programmers know nothing about coding initially. You can also check out this energetic article by a manual tester: How I learned to write Selenium scripts in five days.
Now back to the topic.
Maths is not about triangle, ruler, calculator, pencil etc. If you wants to learn Maths, you should learn axioms, theorems, and how to use them to solve the problems. Tools help in the process, but they will not give you knowledge.
So if you want to learn Selenium and to be good at Selenium, put the tools (Selenium, Appium, Sauce Labs etc.) aside and learn test automation first. The concept stays for long, tools change every day. At the starter level you should know:
Types of test automation (it’s not only about automate UI actions) - functional testing, load testing, security testing just to name a few. Benefits and challenges of test automation (hint: it reduces the cost of execution, but test creation and maintenance will be a big loss if done wrong). How to fit test automation into software development life cycle and available toolchains effectively (otherwise, tests will be executed, but nobody will care about the result). You can also grab some good books to go deeper - for example:
- Agile Testing: A Practical Guide for Testers and Agile Teams - because the mindset will be as necessary as the tools themselves.
- Software Test Automation – Effective Use of Test Execution Tools - it’s really old but still a great book.
- The Just Enough Software Test Automation - it’s a great complement to the first one.
And while reading, you can start following some thought leaders on Twitter.
Enter Selenium. All Selenium-based tools, no matter how they are advertised, share the same core issues of Selenium itself. There are challenges that soon will grow bigger alongside with your tests, to the point that will render test automation useless especially if it is done properly. A good understand of Selenium’s pros and cons is necessary for you to write tests effectively later.
The second step is to experience what you have read in real life, and feel initial benefits as well as the pains. Just pick up any free tool that help you skip through the complicated WebDriver installation and configuration, such as Selenium IDE or Katalon Studio. Tutorials for these tools are often available for beginners, so it will not take a lot of time.
Then, when you feel comfortable with the concept, you can jump into higher-level tutorials with professional problems. If you chose Selenium IDE, follow this excellent tutorial on guru99.net. If you wanted to learn with Katalon Studio, start here. In my opinion Katalon Studio is a very good tool to learn test automation. The good thing about it is that you can switch between beginner mode (point-and-click) and scripting mode (write code) at any time, so that you can learn and verify along the way.
Of course, you can practice and read books at the same time.
After that, you will know what topics/buzzwords you have to Google more.
Sauce Labs has good "Bootcamp" using Ruby and WebDriver that is free (but you have to sign up to download). I've done it in spare time and was fun. Lots of example code and an example website.