Creating an Automated Testing Framework With Selenium

In this course, you'll learn how to create a real automation framework using Selenium.
Course info
Rating
(1241)
Level
Intermediate
Updated
Sep 26, 2013
Duration
3h 46m
Table of contents
Introduction
Designing The Architecture
Creating Basic Smoke Tests Part 1
Creating Basic Smoke Tests Part 2
Building Out The Framework Part 1
Building Out The Framework Part 2
5 Best Practices And Tips
Description
Course info
Rating
(1241)
Level
Intermediate
Updated
Sep 26, 2013
Duration
3h 46m
Description

Learning how to use a tool like Selenium to create automated tests is not enough to be successful with an automation effort. You also need to know how to build an automation framework that can support creating tests that are not so fragile that they constantly break. This is the real key to success in any automation effort. In this course, I will reveal every secret I know from creating several successful automation frameworks and consulting on the creation of others. I will show you exactly, step-by-step how to create your own automation framework and I will explain to you the reasoning behind everything we are doing, so you can apply what you learn to your own framework. We’ll start off this course by going over the basics of automation and talking about why it is so important as well as discuss some of the common reasons for success and failure. Then, I’ll take you into the architecture of an automation framework and show you why you need to pay careful attention to the structure of any framework you build and give you some of the underlying design principles I use when creating an automation framework. After that we’ll be ready to start creating a framework. In the next few modules, I’ll show you how to create a real automation framework capable of automating the Wordpress blogging platform administrative console. We’ll start off by creating smoke tests and using those smoke tests to build out our initial framework. Then, we’ll expand the capabilities of our framework as we create more tests and learn how to use techniques like dummy data generators to make our tests as simple and easy to read as possible. Finally, I’ll take you through some best practices and tips that cover topics like scaling out, working in Agile environments and other important issues you are likely to face. If you are responsible for an automation project for a web application or you want to start using automation, you’ll definitely want to check this course out.

About the author
About the author

John Sonmez is the founder of Simple Programmer (http://simpleprogrammer.com), where he tirelessly pursues his vision of transforming complex issues into simple solutions

More from the author
Beginning Lua
Intermediate
2h 50m
2 Dec 2013
Beginning HTML 5 Game Development With Quintus
Intermediate
2h 52m
25 Oct 2013
Beginning HTML5 Apps For Firefox OS
Intermediate
2h 20m
17 Oct 2013
More courses by John Sonmez
Section Introduction Transcripts
Section Introduction Transcripts

Introduction
Hi. This is John Sonmez from Pluralsight, and welcome to this course on Creating an Automated Testing Framework with Selenium. Now, automated testing is a difficult topic. Many developers that are trying to do automated testing and QA people alike get into automated testing and learn how to use a tool like Selenium, but they never really learn how to apply that tool effectively to create an automated testing framework, which is an essential key part of being successful with automated testing. Without a framework, as we'll discuss in this module, you can run into a whole variety of different problems, but there's not really a lot of good advice and guidance out there for creating a framework, which is such an essential piece of doing automation. So, in this course I'm actually going to show you step-by-step how to create an automated framework. We're going to discuss the reasons why you need to create one, we're going to look at the architecture of a good automated testing framework and figure out what makes an automated testing framework good and maintainable, and we're going to see how to actually implement one.

Designing The Architecture
Hi. This is John Sonmez from Pluralsight, and in this module we're going to learn about how to design an automation framework architecture. Before you can start implementing an automation framework, there are quite a few important concepts to understand that will greatly effect how you design the framework and how it's used. So, before we get jumping into the code and creating tests, we're going to talk about the general architecture of an automation framework and plan out some of the key rules we'll follow when creating the framework, as well as come up with its structure. In this module, I'll take you through the key components of the architecture of a successful automation framework and help you determine the important questions you need to ask before you begin creating your own. We'll also take a look at the application we'll be testing with our automation framework and see how the design of the application we're testing affects the design of our framework.

Creating Basic Smoke Tests Part 1
Hi. This is John Sonmez from Pluralsight, and in this module we'll be creating some basic smoke tests as we begin building out our automation framework. So far we've just been talking about creating an automation framework, but now we're actually going to do it. In this module I'm going to show you how to get set up with Selenium using C# and Visual Studio, and then we're going to get right into building out our framework. The way we're going to build out our framework may surprise you though. We're going to start with the tests, specifically with some smoke tests, and we'll let the creation of those tests drive the creation of the underlying framework. Our framework won't be clean and well organized at this point, but this is sort of a feeling out step where we're using the smoke tests to determine what the shape of the framework needs to look like. This approach takes a little getting used to, but you'll find that it allows for creating a very clean and highly understandable suite of tests, which is our major goal for our automation framework.

Creating Basic Smoke Tests Part 2
Hi. This is John Sonmez from Pluralsight, and welcome to Part 2 of this module on creating basic smoke tests. In this module we'll continue where we left off in the first part as we create more basic smoke tests and build out our framework.

Building Out The Framework Part 1
Hi, this is John Sonmez from Pluralsight, and in this module, we'll be learning how to build out the framework we've created so far as we add more tests and refactor our existing tests to make them more concise. I'm really excited about this module, because I'm going to be taking you through the actual process I go through for creating a real black box automation framework. I'm going to show you some of the tricks I've picked up over the years to make tests very concise and clear, and avoid adding complexity. We'll do some heavy refactoring, learn how to effectively constrain options to make tests easier to write, and how to create workflow classes to automate things at the system-wide level. By the end of this module you should have a real good feel for how to create and grow in automation framework.

Building Out The Framework Part 2
Hi, this is John Sonmez from Pluralsight, and welcome to the second part of this Building out the Framework module. In this module, we're just going to be picking up where we left off in the first part of Building out the Framework as we continue to learn about how to build out the framework and really start organizing things and getting our framework into production shape.

5 Best Practices And Tips
Hi, this is John Sonmez from Pluralsight, and in this module I'm going to be sharing with you some of the best practices and tips that I've developed for creating an automation framework. By this point, you probably have a good idea of how to create an automation framework as we've covered in the previous modules, but any automation effort is going to face some problems sooner or later. In this module, I'm going to try to address many of the common problems that you'll probably face, and just give you some practical advice and some good ideas for expanding your automation framework, and dealing with any issues that come up. By the end of this module, you should have a pretty good idea about some of the problems that you may face in the future, and some of the solutions for those problems.