Roadmap to become Test Automation Engineer | Ambreen Khan | Skillshare

Roadmap to become Test Automation Engineer

Ambreen Khan, Test Automation Engineer

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
45 Lessons (59m)
    • 1. Section 1: Introduction

    • 2. Course Objective

    • 3. Test Automation – FAQs

    • 4. Course Structure

    • 5. Section 2: Getting Started with Test Automation

    • 6. Benefits of Automated Testing

    • 7. Why you should learn Test Automation

    • 8. What is Test Automation?

    • 9. What is Automated Test Script?

    • 10. What you can do as an Automation Developer?

    • 11. Section3: Action Plan for learning Test Automation

    • 12. What automation technology to choose?

    • 13. What should be your action plan?

    • 14. Phase 1 – Choosing Programming Language & Technology

    • 15. Phase 1 – Choosing Programming Language & Automation Technology (Cont.)

    • 16. Phase 2 – Test Automation Strategy & Planning

    • 17. Phase 3 – Integration with build management tools

    • 18. Phase 4 – TDD, ATDD, BDD

    • 19. Phase 5 – Web Services

    • 20. Phase 6 – Mobile Application Automation

    • 21. Phase 7 – Performance & Scalability

    • 22. Section 4: Web Basic Concepts - Must know for Automation Developer

    • 23. Other Must Know Concepts for Automation Developer

    • 24. Understanding Application Layers

    • 25. Section 5: Automation Environment Setup

    • 26. Creating Folder Structure

    • 27. Installing Java

    • 28. Installing Eclipse IDE

    • 29. Installing Selenium

    • 30. Installing Browser Drivers

    • 31. Writing and running first script

    • 32. Create GitHub account

    • 33. Section 6: Frequently Asked Questions

    • 34. Where should I start if I want to learn test automation?

    • 35. Is knowledge of programming a must? If so, how can I learn it?

    • 36. How can I assess whether or not I have the skills needed to learn Automation?

    • 37. What should be my approach for learning (sequence of steps)

    • 38. What should I do if I get stuck?

    • 39. How can I stay on target to achieve my goal of learning Automation?

    • 40. Are there some Websites to practice automation skills?

    • 41. Do companies hire for automation with experience only on manual testing?

    • 42. What trends in the Automation field affect someone just entering this career now?

    • 43. How can I connect with other automation professionals?

    • 44. Section 7: Recommended Resources

    • 45. Last but not least


About This Class

If you are Software Testing Professionals & want to learn skills to be the one who can automate the boring, repetitive and time-consuming software testing tasks then this course will provide you the roadmap to start your journey.

Don’t get overwhelmed by a large number of information and automation technologies that are available in the market. Follow this course and define your clear path to become Automation developer/engineer.


1. Section 1: Introduction: the road map to becoming a test automation engineer. My name is Mariam Khan, and I will be leading you throughout this course. This course is brought to you by software testing trends. Bob has just done it in two hours. What it takes the three of us two days to do sound interesting. If you are a test professional performing manual, software testing and spending hours clicking and typing, and now want to learn skills to be the one who can automate the boring, repetitive and time consuming testing tasks, I want to welcome you. This course will provide you the roadmap. Start your journey even if you have little to no programming background or experience. If you arm yourself with the necessary skills, you'll be able to give instructions to your computer to perform your job in seconds. I know there are many people out there who want to learn automation but don't know where to start. I thought of sharing my learning experience with those willing to enter the test automation field to make their journeys. Mother 2. Course Objective : selenium, Java to Cumber Jenkins, Python Happy, um, and too many other tools we should have start from. This is the most frequently asked question that people who want to start as test automation professionals asked me when I started in test automation. I was overwhelmed by the large number of information and automation technologies that are available in the market. I was confused as to where it should start. There was lots of information training present on the Web, but they were all tool centric. I didn't find any clear guideline to start my journey. Anyways. I kept learning and exploring, and things started making sense. Realizing the challenges that people who are willing to start with automation face, I decided to develop a roadmap that others can follow and start their own journeys with smoothly. So let's dive in 3. Test Automation – FAQs: This is not just another typical course on test automation covering some automation tool. Instead, in this course, we're going to address the frequently asked questions and queries that testing professionals willing to step in automation often have in their mind. For example, where should it start? If I want to learn test automation, I don't know. Any programming is knowledge of programming. I must to learn test automation. If so, how can they learn it? What should be approach for learning and what will be the sequence of steps that I need to follow, which test automation tools are in demand and which tools should have start with? How easy is switching to automation testing for manual testing? In this course, we're going to address all these frequently asked questions and much more. 4. Course Structure : this course is divided into seven sections. Section one is about the course. Introduction in Section two will learn some basic concepts about test automation. For Section three will share an action plan that you can follow to become an automation developer. Section four is where you'll learn some basic concepts about Web technologies that are very important to know how to start working with this automation in Section five will help you set up in automation environment on your machine. Section six is rare Ville Address all those questions and fears that people usually have in their mind when they think about moving from manual testing to the test automation field in Section seven. We'll share some resources for further learning, so you can learn more about the tools and technologies that matter to you. 5. Section 2: Getting Started with Test Automation: in this section, we will go over the basics of how are made a testing works and some fundamental concepts you need to understand. Before diving into test automation, We'll see why in the first place you should consider automating any software application and, even more importantly, why you should learn about it. We'll also learn what test automation automated scripts are and what you can do as an automation developer. 6. Benefits of Automated Testing : do you ever wonder why in the first place you should automate your software Web or mobile? APS. There are a multitude of reasons for automating your application. Aren't you tired of doing the same task over and over again? Then be happy because you will have no more boring, repetitive tasks. Test automation makes it possible to execute test scripts without user interaction while guaranteeing complete accuracy. Test automation helps organizations to continue sleeve, maintain and improve the quality and efficiency of their software systems. Automated test run fast and frequently, and lead to increase product quality that results in customer satisfaction and reduces quality costs. Frequent execution of test cases of through automated scripts on different platforms, browser combination and device types provides increased test coverage that's otherwise impossible to achieve. Executing the automated smoke and regression tests after each major change gives a team the confidence that the new coach changes did not break the existing functionality. We can also ensure that our applications are correctly deployed. Environments air correctly configured and all the pieces of our architecture are connected and hooked up right. Automation of repetitive tasks frees up the testers so they can concentrate on more difficult test scenarios and can perform exploratory testing. This is even more important in an agile environment where teams usually require automated checks to support their rapid delivery cycles. By using automation, testers can save time to understand new functionality and explore the application. These air more than enough reasons to automate an application. Yes, the automation of tests initially acquires more effort, but the related benefits will quickly pay off. 7. Why you should learn Test Automation: now the question that directly affects you. Why everyone is thinking about learning test automation these days and why you should learn a test automation. We are living in an age where technology is changing very fast. To overcome new challenges, there must be better and faster ways to test software products. This clearly indicates that the need to support faster time to market will require people with automation skills. Yes, exploratory testing is important, and testers have certain skills that many developers do not have. But the fact remains that automation testing continues to rise. I'll urge you to go and check job postings for test professionals, working experience with test automation tools, experience and programing and scripting experience with testing AP Eyes in Web Services Yes , testing automation isn't high demand and represents a growing chunk of the software job market. Today, you'll hardly find any job posting for software testing that doesn't ask about automation skills. If you close the sea future trends, you'll realize that the testers and developers rolls emerging because of practices like Dev ops, quality engineering, continuous integration and continues delivery. So you have to study programming languages and automation by learning these skills. Ah, whole lot of opportunities will open up for you and you will remain marketable as tester. Yes, an automation tester. 8. What is Test Automation?: let's get started by understanding what is test automation. Test automation is the use of software to execute test cases and then check if the actual outcomes and the expected outcomes are the same. These test cases can be run overnight or during the day, which frees of the testers to do other important tasks and perform exploratory testing. Another important point to consider is one. An automated test case is executed. It runs the same way every time. Virus manual testing often run slightly differently, depending on who performs a test. Executing the automated test after each major change gives a team the confidence that the new code changes did not break the existing reckon functionality. If manual and automation teams work with close coordination, the complement each other and enhance each other's capabilities. 9. What is Automated Test Script? : an automated test. Scripts simulates a really user performing a sequence of action on any of the pager application. This sequence of action can be automated using automation tools and results in automated test scripts. When writing the automated test scripts, you must take time to understand and analyse the requirements and determine what to automate and what not to automate while keeping an eye on return on investment. When requirements change during the software development process, you will have to realize a rewrite that test scripts. This process will be repeated until the product is stable. Then the scripts can be used to perform unit testing, integration, testing or regression testing during the whole process. The task of the testing team is to write, debug and improve the test scripts and to meet the ever changing testing requirements. 10. What you can do as an Automation Developer?: in this lecture will take a more closer look into type of activities that you can do as an automation developer. This is to give you a better idea of addictive. It ease that you can perform Once you start your test automation carrier. The first task that you can perform is too well Autumn E application functionality. While selecting test case for automation, you need to keep a few things in mind. For example, pick deterministic scenarios, meaning those test scenarios that have standard results where we know that X input may only result in white output. For example, we know that two plus two is always for the other type of scenarios. Are those that repetitive and relatively unchanging and going to be tested all the time or most of time, plus dia driven scenarios where the same function needs to be validated with a large number of data sets, such as using different countries or different employment statuses or different dates? With these examples, I think you got the idea. Determining in automating such scenarios is the core job responsibility oven automation developer. The other thing you can do as an automation developer is too create utilities and tools to help automate all the repetitive and boring stuff that consumes lots of time and effort while you're doing your core automation tasks. For example, during my recent project, I was required to analyse and merge 10 different Excel data sheets. Each sheet had more than 30 tops and each top with more than 30 data columns. I designed a Python script that can grab information from all the work sheets our available in the Excel workbook. After determining the sheets information, it pulls out all the column names from all the sheets and finally writes all the required information in a separate sheet. This script can pull required information within minutes that otherwise would have taken many hours. You should always have a focus on continuous improvement, as automation is all about efficiency and improvement. With your focus on improving automated testing efforts. As a first step, you can identify processes and practices that should be improved to allow an autumn mission team to work more effectively and efficiently once the problem areas air determined. The second step is to identify approaches that can be used to rectify these problems. And finally, as Step three share your knowledge with the team and make it a coordinated effort to be able to see the results of your suggested improvements. 11. Section3: Action Plan for learning Test Automation: in Section three will put some light on more practical concepts and chairman or action plan . We'll see how to choose an automation technology and information about available automation , tools and technologies in the market where to start to develop those required skills and also what should be our action plan. 12. What automation technology to choose? : There are so many technologies available in the market, so it's very easy to get lost. But don't get overwhelmed. You can't be a master of everything, So the most important question is what you want to achieve. Your choice of tool will depend on your desired objective. Automation testing can be performed on different types of applications. This could be a desktop application of Web application, a p i. R. Rep services or mobile applications. To start learning automation, you first need to focus on one type of application I would recommend starting with Web applications. Once you develop the necessary skills to automate Web applications, you can go ahead and move on to the next domain and explore other technologies. But exploring the latest automation technologies available in the market one by one, you will have a better understanding to choose the best available option to automate any application 13. What should be your action plan? : you can't learn everything at once. I would like to suggest a phased plan that will help you develop the require technical skills one step at a time. You can also Derrick Lee hop to the phase that interests you for most. But for newbies entering in the field, it is better to keep your movement linear In my proposed action plan. Phase one is about developing basic programming and automation skills by choosing a programming language and some automation technology. Phase two focuses on planning and automation strategy. Phase three talks about the latest trend that is develops and usage of continuous integration tools. Face for is about test driven methodologies, which are becoming exceedingly popular. This includes concepts like TDD and BDD and some tools based on these concepts. Face five is about technologies related to Web services. In face six comes automation of mobile applications and finally, face seven is about performance and scalability. Each face also includes links to resources as a starting point. Take her time did deep into the areas that interest you and apply what you learn as you go . And this is a mind map covering all the phases that I just mentioned. You can download this mind map and other mind maps in the course from the resources section . Now let's see each of the phases one by one. 14. Phase 1 – Choosing Programming Language & Technology: In Phase one, you'll choose a programming language and automation technology. I will suggest starting with Java or python as you'll find many learning resources on the Web. For these languages, that will make things easier for you. The scope of learning a programming language could be a little wider for a programmer, but as a test automation developer, you can limit your efforts to learn the core parts only. Remember, just watching any course or reading of programming book is not enough. You should put your theoretical knowledge into practice. You will be able to understand and write good code on Lee. When you try to write and refractor it yourself, you can start from online courses that are free or not so expensive. Such training courses will show you the fundamentals of coding. No matter what language you used to write your test scripts, it should not be a barrier for you to learn automation testing, as the basic concept is same for all languages. Just the coding syntax changes. Firstly, start with the language, and then you can extend it to others. Asked for your requirements and keep going. These air if you recommend its resources to Learn programming Free Programming books is a get hub repository with lists of books, courses, podcasts and other free resources about programming and related topics. Bento is a listing of the best free resources for learning how to program in Class Central . You can find a list of 250 free online video courses from universities such as Stanford, M. I T, Princeton and many more. 15. Phase 1 – Choosing Programming Language & Automation Technology (Cont.): Once you have chosen a programming language, the other thing units choose in. Phase one is the tool that can give a real shape to your test automation plans. We have selected some popular automation tools for you. Unified Functional Testing, formerly known as H P. Q. T P is a well known commercial testing tool for functional and regression testing. It provides a comprehensive feature set for a P I Web services in Greek testing of desktop , Web and mobile applications. It uses we be script to specify test procedures. Selenium is a popular open source tool used for automating Web applications and supports cross browser testing water that stands for a Web application. Testing. And Ruby is another open source tool with ruby libraries to automate Web browsers. It supports cross browser testing, data driven testing and also integrates with BDD tools like our Spec and Cucumber Catalogues. Studio is a free and powerful test automation solution for Web applications, mobile and Web services testing. This tool is built on top of the Cellini um, and a PM framework, and takes advantage of these solutions for integrated software automation. Protractor is another end to end test framework for angular in angular Js applications. Phantom Js is a headless browser that provides a JavaScript a P I to automate Web applications. Casper Js is an open source, navigation, scripting and testing utility written in JavaScript for the front of Js. It makes it easy defining a full navigation scenario and provides useful high level functions and methods to perform functional testing. It is also used for scraping Web content. Apache J Meter is an open source low testing tool and supports all platforms. It analyzes overall performance under different load conditions on a server. If you were interested in testing Web services or a P I. When there are multiple tools present in the market, for example, soap you I so a test rest assured Postman J Market and wire mock as you are just starting your automation learning journey, I was suggest using selenium Web driver. It is widely used in today's market for testing all kinds of of applications. You'll find a large number of learning resources in numerous forums to get support if you get stuck somewhere while exploring Selenia, the time required to learn Selenia is from one week to a month. You can also start with Cellini. Um, I d. It is a great tool for complete beginners to have an idea about selenium. Users can record their clicks on webpages and then play back there recorded actions while using capture or playback tools. X Cellini Um, I D. It usually takes less than a day to hear the most repeated phrase. It worked when it recorded it, but now it feels when I play it back. Most importantly, such tests are very brittle, and enhancement to the system can easily end up breaking such tests, which then have to be re recorded. It's okay to use record or play bath just to experiment, learn and see how things were going. But when you are ready, riel tests set such tools aside, please. While choosing an automation tool, you should also look for para meters like customization, multi platform support, parallel execution reporting and cross browser capabilities. Some other tools you need to explore include test bench tools like Ghira and suffer version control systems like get get Hub Orbit bucket and unit testing frameworks like G Unit or Test N G. We'll learn more about words in control systems in our upcoming lectures you can resist sites like Cellini UM H Q software testing help Guru 99 or tools to eight to learn and explore more about Cellini in basic. 16. Phase 2 – Test Automation Strategy & Planning: once you have acquired the right set of tools. Next you need to define your test automation strategy. You need to identify the scenarios where you can add value by automating the task. Acceptance, regression and end to end scenarios are good candidates for automated testing. Whatever test you would automate during acceptance testing also become part of the regression test suite. It'll result in increased coverage and ensure the feature being tested. Also, during the regression cycles, one of the core qualities of a successful test developer. It's a track the progress of test coverage. To do so, you can prepare a test coverage metric documents and updated continuously. 17. Phase 3 – Integration with build management tools : get a deeper understanding of Dev ops and agile methodologies. Devin means Development and ops means operations together, which are the union off people process and products to enable continuous delivery of value to end users. Essential Dev ops practices include agile planning, continuous integration and continuous delivery. Learning these methodologies allows your teams to pay close attention to phase wise development and continuous releases continues integration, or C. I is the process of automating the build and testing off code every time a team member commits changes to words in control system. Ah continuous integration tool helps in setting up the test automation jobs that can be triggered after each check in by the developer at a scheduled time or on a demand base is a good test. Automation developer should know how to configure the C I tool to scale the test Automation capabilities. Maven is used to manage information about all the libraries that required to compile and build the application. Jenkins is one of the most you see I tools used for dynamic build while using maven as dependency manager upset calm visual studio documentation about develops and the book ah, practical guide to testing in Devil's but Katrina cloak E. R. Few good resources. If you want to learn more about these concepts, 18. Phase 4 – TDD, ATDD, BDD: in phase for you should start exploring concepts like a T. D D also knows acceptance. Test driven development BDD, also known as behavior driven development, and TDD, also known as test driven development. Using these practices, testing can be started even before source quote exists. All these processes help developers and testers in understanding the customer's needs prior to the implementation and allows customers to communicate with I t in their own domain language. While using BDD methodology, you have a choice to select tools like Cucumber J Behave or Serenity BDD. I would suggest starting your exploration using Cucumber Den North and Associates Tools Q A and the books BDD in Action and The Cucumber Book are a few good resources if you want to learn more about BDD. 19. Phase 5 – Web Services : in face. Five. You should start learning about Web services in AP eyes and technologies like exam L Jason So and start exploring some tools that helps perform a P I. In Web services. Automation test automation was traditionally thought as something on Lee for aggression, but now it has moved beyond regression testing. Automating checks at the A P I layer are less expensive, provide faster feedback and are less brittle. Test automation developers usually use Groovy or Skela that our programming languages and both half some built in support for exam L in Jason and provide various ways for building up services. If you want to learn more about Web services testing, I would suggest checking out open source workshops that are generously shared by Bass on his site on test automation dot com. 20. Phase 6 – Mobile Application Automation : you interested in testing Cutting edge Immel by APS and devices? If so, in face six, you can start learning about mobile applications automation by automating mobile applications and running test scripts across a variety of device types. You can save a huge amount of time. Also start exploring Apple devices and technologies like I OS X Code and Swift some of the commonly used tool for mobile automation or a P M ra body. Um, espresso. X c u. I test perfecto and see test. I would suggest starting your learning by exploring Appy um, which is an open source automation framework for use with native hybrid and mobile APS. If you want to understand the concepts behind mobile automation for IOS devices, I will suggest checking out our slide share presentation names a mobile app automation on Iowa's platform. 21. Phase 7 – Performance & Scalability: there's a thin line between an average and a successful test automation developer. If you want to be successful automation professional, you need to learn about test automation frameworks. Test automation framework is an execution environment. For your automated tests, you can design your own automation framework or use any of the open source frameworks that are available in the market. You should find out the areas requiring improvement in your framework and allocate some time for continuous improvement activities. Also, analyze your test infrastructure and see what can be done to improve it. Here are a few popular automation frameworks that you can explore Robot framework. Serenity Redwood H Q. Saw he gallon in good wage. I would especially suggest checking out the robot framework, which is an open source automation framework and uses selenium Web driver as an external library. It's test capabilities can be further extended by implementing additional tests libraries using python and java. And here comes the mind map with the tools and technologies we discussed in our previous lectures. There is no one size fits all type of tool for automated testing. It is highly recommended that you, as an automation developer, evaluate various tools to select what would best meet your own applications. Automated testing needs 22. Section 4: Web Basic Concepts - Must know for Automation Developer: There are a few key concepts that crop up in almost every conversation during a project life cycle. After you understand these concepts, you'll be better equipped to participate in any conversation related to application development or automated testing. HTML. CSS and JavaScript might seem intimidating at first, especially if you have no prior experience in Web development. Knowing all these terminologies is the first step to learning test automation. HTML or hypertext markup language is the markup language that is used to describe the content in Web pages. You should learn about HTML structure page elements, Dom tax and attributes. CSS or cascading style sheets is used to mark up style and is responsible for look and feel of the webpage. CSS also has one other unique property, known as CSS selector, that we rely on heavily for you. I tests. It provides us with an ability to select page elements and get them to do the things just like our users would do if they were using the system. For example, filling a perform JavaScript is a popular scripting language, and booth drop is a popular HTML CSS and JavaScript framework that is used for developing responsive websites. terms like Exam Ill, Jason Soap and Rest come into action when we talk about AP Eyes and Web services. XML and Jason are used for storing and transporting data, so uses Web services interfaces to expose the business. Logic, Vera stressed, uses you Are I to expose business logic. Dev Ops, as we discussed earlier, is a set of practices that emphasizes the collaboration and communication of everyone involved in the software development life cycle. Essential develops practices like See I or Continuous Integration CD or continues deployment, and C T or continues testing requires a continuous delivery model to be in action. You should also learn about browser developer tools offered by Firefox. Chrome and I eat that are absolutely necessary for you to identify page elements like text boxes, buttons and more. 23. Other Must Know Concepts for Automation Developer : You should also learn about design patterns. Design patterns are solutions to software design problems you find again and again and Rhea World Application Development. It will help you solve your problem with a specific set of code. Virtualization is about creating a virtual version of anything you desire. Learn about virtualization and how it can help in test automation. Also learned about agile methodology and learn how it fits in with test automation. Another important concept to learn is regular expressions that can help you perform certain tasks very easily that will otherwise require loss of coding. Many programs are written on Lee for command line, Also called Bash Is the Learning to use. The command line is also important. Try your hand at the command line with an interactive shell tutorial available at learned shell dot com. The other important learning resource includes bento dot io. You may also have heard the term open source many times. Open source basically means that the inner workings or source code of a software are made available to all, and the software is written in an open, collaborative way. Anyone can look into the source code, see how it works. Tweak it and reuse it. Further details about these concepts is beyond the scope of this course and will be covering it all in detail in our upcoming course about test automation foundations. 24. Understanding Application Layers: also worth mentioning at the stage that the code for websites and programs can be divided into four categories. The first category is appearance or the visible part of the website, which includes content, layout and styling and is usually known as the front end. This is designed using technologies like HTML, CSS and JavaScript. The second category is logic that determines what content to show and went to show it. This category is part of the group called Backend Back, and Logic is created using programming languages, which could modify the HTML, CSS and JavaScript that is displayed to the user. The third category is a storage which saves any data generated by the sight and the user. This category is also part of the back end and is stored in databases like Oracle, DB my SQL or MONGO DB. The fourth category is the infrastructure that includes servers like Apache and Engine X. It delivers the website from the server to you or the client machine. If infrastructure is not properly configured, the website becomes unavailable, resulting in air messages. Alexa developer, proficient in all four of these categories, is referred to as a full stack developer. You can also be a full stack automation developer by learning about all these categories and then by applying these skills in your test automation projects. 25. Section 5: Automation Environment Setup: Now is the time to set up your machine. To start automating and executing your test strips were going to install the bare minimum components that you will need to get started when you work with actual automation tasks. You will need to use many more components, depending on your projects requirements while you set up your machine. The first step is to install Java. Second step will install Eclipse I D. Then we'll proceed. What's the cellini, um set up? Once all setups are done, will be ready to write and run our first script. 26. Creating Folder Structure: before performing. Any insulation will create some folders. Honor machine To keep her files organized, go to your C drive and create a folder named Selenium. In this folder will keep all our Cellini in files. Not for another folder called Automation. It will contain all our automation related tasks. Inside this folder. It will create two new folders. The first folder Workspace is for our project files, and the second folder Browse the Driver, is to keep files related to browser drivers. 27. Installing Java: we have successfully created are folders that will be using during our machines set up. Now we'll move on to next step. Now we're going to install Java. It's a good idea to check. If you already have Java eight installed in your machine, just start the command window and write Java dash version. If you already have job I installed, it will show you your installed Java version. If you don't have Java installed, it will show an error. Now navigate to Google and write Java J D. K. Download from the search results, click on the J. D. K download link. It will take you to the official Oracle Java site. From where you can download java, you need to install Java eight plus to work with Cellini. In latest version, accept the license agreement in download the Java installation file. It will start downloading the file. When Java is downloading, select an option to open the file. Once done, it will automatically start in the installation process once the download is complete. If you don't select this option, the alternate way is to navigate to the download folder. Once J. D. K. Is completely downloaded and double click on the Egg Z file to start the installation process. Asthma operating system is 64 bit. I am going to download the 64 bit version. You should download the words in that matches your own operating system. When we talk about Java installation, there are two important components that you can install. First component is known as J R E or job are Run time environment, which is an environment that helps you run Java programs. The second component is called Job a Development Kit, or J D. K J D. K. Is required if you want to write Java programs, which is exactly our case. J. D K includes a complete G R E, plus other tools for developing, debugging and monitoring Java applications. So you only need to download and install J D K. Once the download is completed, Java installation will start automatically complete the installation by choosing default values. Once downloaded, the files will be found in the program files. - Once the installation is completed to verify that it was successful, open job off older in the program files, you would see that new Jari and J. D. K folders have been created Now we want to add the Java path to the system. Variables. Go to the control panel and then advanced system settings Quick on the environment. Variables now under the system Variable section, click on path variable, Get Java J D K BIN folder path and add this to the path variable. This will allow us to conveniently run Java programs and applications without navigating to Java installation folder every time. Now to find a new system variable called Java Underscore Home and pointed to the directory with the J. D. K. It's installed on your computer. This is because some applications that use job try to search for Java Underscore home in order to set up and make itself running, not a check. If Java is successfully installed on your machine, start the command of Indo and write Java dash version. This will show you were installed Java version. This means the Java is successfully installed on your machine 28. Installing Eclipse IDE : We'll be using Eclipse as her editor, which is one of the most popular and Free Java I D integrated development environments, which you can use to write your scripts. So let's download Eclipse, navigate to Google and enter the search term Eclipse Download Trump's the search results. Click on the Eclipse download link. It will take you to the official Eclipse site, where you can download Eclipse Editor that matches your machine configuration. Once the download is complete, open the folder. Having downloaded file, you can simply double click on the file to open. It will start the installation process. Select Eclipse I D for Java developer except license agreement. Once the installation is complete, click Launch button to start eclipse. It will now ask you to select the workspace. This is a location where Eclipse will save your project files. Navigate to the Workspace folder under Automation folder that we had created in first step before we started our set up. Now, when you click on launch button, Eclipse Editor will open where you can start writing or Java code 29. Installing Selenium: we have successfully installed Java an eclipse. Now let's download Selenia Navigate to Google and right Selenia Web driver downloads from the search results Click on the download Selenium link. It will take you to the official Cellini. Um site download Cellini Um standalone server. Now school down a bit. You will see a section called Selenium Client and Web driver language bindings. Here you will see download links next two different languages such as Java, Ruby and python. Since we vividly using Java with Cellini, Um, we need to download job a specific drivers. So click on the download link for Java. Solely name Web driver jars should start downloading once the file is downloaded Moving to the Cellini in folder that we created in our first step. Now I'm zipped the downloaded file Open the Unzipped folder. Inside this folder you will see a Libs folder and few other files. You can delete the zip folder as you have already extracted it. Now go back to Downloads folder and also move the file named Selenium. Standalone server Dodge are to Cellini and folder. This completes the selenium set up 30. Installing Browser Drivers: all browsers, like the chrome Firefox Safari or Internet Explorer, require browser drivers for the automation and execution of the test script. We want to run our first test script on Chrome browser, so US installed a chrome driver. Search for Google from driver downloading Google from the search results. Click on the chrome driver Down would link. This will take you to the Chrome Driver information page. Select the latest chrome driver release. This will take you to the Chrome Driver Download page from where you can download the chrome driver that matches your own systems configuration. We're downloading chrome driver for Windows once the file is downloaded. MOVED the ZIP file to the folder browser driver that we created earlier in step one, not extract the ZIP file from this folder. Move Chrome Trevor Exit file to a folder. Browser DRIVERS You can delete a ZIP file and the extra folder as we have already extracted brother driver and moved your desired location. This completes to browse the driver download 31. Writing and running first script: we are now ready to writer for a script. Open Eclipse editor. Once it starts, you'll see the workspace launcher Papa box. So, like to work space include Okay, Eclipse should start loading all the files. Once it's done, you will see the Eclipse. I d. Welcome page. Close the welcome page. Now we'll create a new project. Click on file New Job, A project in the new project Name. Papa Box. Right the project name as my first application. Leave all the other fields as default and then click on next and then finish button. We have now created a new project. Expand the project. You will see two folders SRC and G R E System Library. When you spend the Jerry folder, you will see a list of JAR files already added by clips. Now, right, click on the project. The Celeste Build Pass Configure builds path in the properties window. Click on the library's top Quicken at external jars button navigate to the folder, having the Cellini, um, Web driver jar files so like the jar files and click on open button. No adult adores. Present in the Lib folder to build Path. Also at the Cellini um, standalone server jar to the library. You will not notice that a new section called Reference Libraries is displayed beneath the project folder. Expand reference libraries, and you will see that the same jar files you added are displayed here. This completes a silly name configuration, and we're ready to write her script. Right click on Source folder, Select New Class in the new Java class. Pop up window, right, The name as my main class. Inside this class, we will also need a main method. Main method acts as a starting point for Java, and you won't be able to run your script if main method is not available. So so, like the check box saying Main and click on finish. Our new class is now created, and this is where we will be writing our script. Now I am writing my first script that will open a new chrome browser and navigate to the Google Page. You can download this code from the resource section now, save and run your new script. It's everything works fine. You will see that a new browser window will open and google dot com Web page will be displayed in the Chrome browser. Congratulations. You have successfully run your first Cellini, um, script 32. Create GitHub account: you have started developing your test scripts. Now you just start saving your code in a version control system or code repository, get is a free and the most popular open source distributed version control system. Free cloud based services interact would get to back up your code on the Internet. Popular providers include Get hub and bit bucket when you create your free get Hubble gown . It allows you to manage backups in multiple versions of code when working in a team are alone gets hub mix coating a more collaborative, open and public process for multiple. Team members can work on the same code all at the same time. You can upload your own projects in code fragments on, get help to share with others and to receive feedback or showcase to potential employers. Get tub gives you an access to latest open source tool sets and additional information. You can explore the code of selenium Appiah, rest assured and many more popular Open source libraries that are all present on get help and yes, you can add. Get help account to your resume to showcase your work to others. 33. Section 6: Frequently Asked Questions: in this section, we're going to address the frequently asked question for professionals who are willing to enter the test automation field, so let's dive in. 34. Where should I start if I want to learn test automation?: Where should I start? If I want to learn test automation, define your path. But following the steps given in the section about action fun, make your own personalized action plan with suggested phases reference the learning resources shared throughout the course learn to think like a programmer. Becoming an automation developer doesn't just mean knowing how to write language syntax. You have to be able to solve problems using code without anyone walking through how to do it. While knowing the technical specifics of a coding language is great knowing how to actually apply that CO two real world situations is a critical part. This is where you need to practice practice big time. It is in the best interest of companies to hire personnel who are self motivated and driven be that person. 35. Is knowledge of programming a must? If so, how can I learn it?: his knowledge of programming a must. If so, how can I learn it? Yes, it is. The testers and developers rules are emerging because of Dev ups, so we have to study programming, languages and automation. Scope of learning A programming language could be a little wider for programmer, but as a test automation developer, you can limit your efforts to learn the core park. No matter what language is used to write test scripts, you must have knowledge in testing and half skills in programming. Many people will say it is hard to learn coding, and it's a sad fact that a lot of these people give up and fail. But what these people don't realize is that there is no such thing as an instant coder. It takes a lot of time and practice to get good at coding. Here are some good resources for you to start coding Class Central. Here you can discover hundreds off free online courses and MOOCs, also known as massive open online courses about programming from top universities and companies. Free code camp where you can learn to code with free online courses and programming projects. Code dot org's is a nonprofit organization that aims to encourage people, particularly school students, to learn Computer science Code Academy is a site that's free and is a perfect place for people new to coating. The other great resource is your enemy. As you already know, you Enemy is an online learning and teaching marketplace with a large number off programming antis automation courses don't wait and find one that interests you. 36. How can I assess whether or not I have the skills needed to learn Automation?: how can assess whether or not I have the skills needed to start learning to automation. Test automation is about having a particular mindset where you're able to systematically break down a problem into individual and logical steps and then recreate that in a language that the computer understands. Whether you have these skills or not is not important. A skill set can be developed. The most important thing is whether you have an interest in automation or not. Automation is about continuous learning. Constantly. There are new tools emerging in the market, with more features and new automation frameworks being developed, you should be ready to embrace continuous learning. 37. What should be my approach for learning (sequence of steps): what should be my approach for learning She was an automation technology and programming language. Develop an understanding about basic automation concepts, practice automating applications, using two chosen technology and language. You can start your practice by automating what pages which have different types of page elements. Have fun learning Honestly, this is a very important part as it will make your whole journey enjoyable. 38. What should I do if I get stuck?: What should I do if I get stuck? You have chosen your language automation tool and even did a few lessons. But you feel stuck at times. You will need to tackle the not so exciting parts, too. Your program won't run or will return incorrect results. You need to tackle the frustration and debug the code to determine the cause of error. You might need to experiment with a new technique until you get it to work or, in the worst case scenario, scrapped the problematic code and start all over. With the different approach, you should be able to find your grail. May Google your best friend use Google Search to check how to do a specific task in automation. Join forums like stock overflow check if someone in the world have also encountered the same problem and shared their experience. If not, you can ask your question on stop overflow and someone more experience will be able to help you. You can also view other trusted websites like staff exchange or developer dot Mozilla dot org's to get answers for your questions 39. How can I stay on target to achieve my goal of learning Automation?: how going to stay on target to achieve my goal of learning automation to stay motivated, create a concrete, well defined smart goal. You must be specific. While setting your goals. You must know exactly what you want and how you're going to get it, and you must work until you get it. Without a smart goal, you'll never reach your full potential. Good short term goals for beginners. Starting with automation can be like build your automation vocabulary so that you can understand and participate in n discussion related to automation automata Small website. 1 to 4 different pages, so have some hands on experience. While your long term goal can be something like, I am going to have a job as automation developer for a company I believe in by December 2018. Once you define your goals, everything you do, do it with the intent and purpose off. Meeting those goals 40. Are there some Websites to practice automation skills?: are there some websites to practice automation skills on? There are many sites to provide you with sample projects to practice your automation skills with store dot them on cue a an e commerce website specially built up for automation testers by tools Qiwei. This is a responsive website, so more well, automation is also possible. You also find other process pages on their up side under the demo sites. Link the internet dot here. Okay, you up here, you'll find lots of practice pages with different type of Fage elements. Some other sites are parking calculator region, BT Online brokerage website and the Mercury Tour's website. Now a word of caution. You should never run automated tests against any public website without getting permission . Otherwise, you could run into trouble. See, Joe Strays ears post on stock exchange about not using selenium on public websites without authorization. 41. Do companies hire for automation with experience only on manual testing?: do companies hire for automation with experience on Lian manual testing? And how easy is switching toe automation testing for manual? Why not? If you can get a meeting with employers and really showcase yourself as a candidate who would fit well with their team and culture, you're going to have a high chance of getting the job self taught or not. In your current project, find areas in the application for automation could provide a good return on investment. Try to script to something to prove your automation skills. Upload your scripts on Get hub. This will help you to show your interest in test automation. Off course. This movement won't happen overnight. You have to be very patient to move from manual to automation, and you need to work hard to make a switch. If you don't get an opportunity, you have to create one for yourself. If you are good at writing, start blogging. You don't have to be an expert. You just need to start documenting your journey. You have to show some authority in the industry you wish to be a part of Start putting yourself and your content out there by doing so, you've already established yourself ahead than most of your competition. You can block for free and share experiences using blogging sites such as WordPress, Blogger or Tumblr. 42. What trends in the Automation field affect someone just entering this career now?: what trends in the field would be most likely to affect someone just entering this career. Now agile and develops are leading software testing towards consumers testing and delivery . So learning and understanding develops is a must. Someone just entering in the field should understand not only basic automation concepts but also the current trends that is continues automated testing, automated visual testing, an automated testing on the A P I level. 43. How can I connect with other automation professionals?: How can it connect with other automation professionals? Social networking skills are pretty much required for most professionals in any industry, since social networks provide instant access to discussions, resources and content. Participating in social networks will definitely help you learn new things and be up to date with the latest information network with other tests automation professionals and connect with experts on Twitter Ellington to exchange knowledge and build long term relationships that could be beneficial for your own professional growth. Networking also helps you to meet potential employers, communicate with the experts engaged in programming and autonomy to testing a through social media, participate, informs about programming and test automation. Do not be afraid to ask questions and share your own thoughts on different matters. Do not lose any opportunity on your way to learn something new, enjoy the learning and never give up. 44. Section 7: Recommended Resources: Now we're going to share some learning resources with you that will help you master test automation skills. So let's have a look. These are some recommended books A must read. If you want to have a strong foundation in test automation, you can download this list from the resources section are a few good websites and blog's A . Usually refer to learn the test automation concepts. You can download the complete list from the resources action. 45. Last but not least: congratulations. We have covered lots of information up to here. You now have a solid understanding about the test automation basic concepts, although I don't think that all of a sudden you'll become a successful test automation developer, however, it is not something impossible to achieve with lots of practice and hard work. You just need to be consistent and learning and spent some time regularly and explore the concepts, wish you all the best.