Getting started with the basics of automation code

Hi all. I’ve been a tester for a few years now and want to dip my toes into automation. There are a few opportunities to build some scripts where I am currently (using Protractor) but I have very little experience in programming skills. I therefore feel I want to start with the basic concepts and learn to walk before I run.

I hear terms like “objects” and “elements” thrown around for example but I have little concept of what they are to a language to consider adding them into a piece of code. Therefore can someone recommend any free courses they know of that go through programming fundamentals please? I think this would be a good place for me to start before I then start to learn more about JavaScript and Protractor…and/or whatever else?

Thanks in advance.

1 Like

Hi Darren, there seems to be a chat already happening that might be useful Resources for Test Automation

Thanks Aine. Looks like there’s coverage around data types and variables and that’s a good starting point for me.

This question raised on every manual testing engineer mind that how and from where they can start automation testing because many testers don’t know how to move from manual testing to test automation.

If we talk about ‘software testing services’, there is a huge demand of automation these days and they want engineers who have good hand in manual and automation testing as well. But, most of the engineers who are working in manual testing they are confused about the skill set they needed for test automation or how these skills should be learned and in what order. Basically, the process of learning test automation is similar with climbing a staircase, one stair at a time and each next skill should be just a bit more complex that the previous one.

To start from scratch, these were the basics which needs to be covered by every manual engineer:

  1. Learning a programming language: This is one of the vital need for manual engineer if they want to switch it from manual to automation because learning a programming language is must. As learning and understanding, the code will probably be one of the most difficult parts of learning test automation.

  2. Learn the right tools and knowledge of the framework: The beginners can make their process very easier if they use combination of frameworks, open-source tools and third-party tools for automation as it is widely used by ‘top software testing companies’ these days. Because, if you are new to the automation industry, you must have knowledge one of the programming language like (C, C++, Java, .net and etc).

  3. Starting from small things: Starting from small things would be best approach for the beginners. Because. if we start working on small applications, then it makes the job very easier and we can gain more knowledge on automation as smaller the test cases are, its easier for us to debug, maintain, and reuse it. We cannot get crazy in beginning with automation by automating the heavy test cases contains complicated code. So, prioritize the test case with the difficult level would be the essential part.

Hope this information will be helpful for you.

6 Likes

Darren,

If you want to start from scratch on Protractor , consider this Udemy course

https://www.udemy.com/protractor-tutorial/learn/v4/overview

Note: The Instructor is an Indian , but he assumes zero background before teaching you this tool end to end. The essentials to convert into automation tester is included here including the basics of Java Script.

After you complete this course , you can easily improve and adapt the approach.

Also , if you are wanting to learn HTML /CSS / JavaScript the try freecodecamp.org. This is the best place for a beginner to get these skills.

So your learning path should be

  1. HTML/CSS/JavaScript (freecodecamp.org)
  2. The above course I recommended

Once you complete this , you will be able to hit the ground running with automation.

Good Luck and Keep us updated on your progress

3 Likes

Hi @doorstep75 you mention objects and elements. They’re different things; as in an object is a programming paradigm but an element is one of the many parts of a web page. So maybe just read about how a basic web page is constructed (such as HTML), how web requests are made and how stuff is rendered on a web page. Use something like https://jsfiddle.net to play with HTML, CSS and JS to see what it does. From there you’ll find out about JSON and what objects are, and this will then lead to a better understanding of web technologies and therefore how to automate them. Then you can pursue some other learning perhaps on udemy or codecademy.com or freecodecamp.org

1 Like

Hi Darren, in this youtube channel (https://www.youtube.com/channel/UCO1aucBAJgFR8odzfXOZ5uw/playlists) there are a lot of tutorials about automation. Maybe “Typescript Fundamentals” can be useful for you.

1 Like

I would concentrate on learning some general procedural, functional and OOP programming first (i.e. via tutorials, general textbooks and online tutorials etc) before concentrating on test automation frameworks. Online learning and practice sites like https://www.codecademy.com/ and the easier examples on https://www.hackerrank.com/ are useful.

I would like to suggest you find those basic concepts in the programming language you will use to scripting in the automation tool. Most of them covers details from basic to advance. Example: https://www.w3schools.com/Js/js_objects.asp (for JavaScript), https://docs.oracle.com/javase/tutorial/java/index.html (for Java)…
Wish you enjoy studying a new language!

As Protractor is a Node.js program, start with “Node.js In Action”. @friendlytester and MARK WINTERINGHAM created Great online courses about Programming Basics, Language Basics and Selenium WebDriver. These courses will help you to have a clear idea of the basics.

Agreed. Those resources are excellent.

I guess it depends on what technologies you want to start using. I would suggest if you are currently working for a company which implements automation testing, start with those technologies. If they are flexible someone might show you around their framework or even let you check in a few simple tests to begin with while you are learning, if you have a friend there they could review your code.

I’m currently reading Java for Testers by Alan Richardson, which is a good place to get started. From the book:

“This book is aimed at people who are approaching Java for the first time, specifically with a view to adding automation to their test approach. I do not cover automation tools…
Testers use Java differently.
Most Java books start with a ‘main’ class and show how to compile code and write simple applications from the command line, then build up into more Java constructs and GUI applications. When I write Java, I rarely compile it to a standalone application, I spend a lot of time in the IDE, writing and running small checks and refactoring to abstraction layers.”

1 Like

I guess you should read and practice some books for language to get how to program. It will help you improve your scripting skills. After improving your skills, you will need read and practice more about “Clean code” and Automation Framework Architect and something more advance.

2 Likes