Creating automated tests for a web application can be challenging. Two of the biggest barriers to getting started are picking an automation tool and developing a framework for writing the tests. This course explores how to use the popular browser automation framework, Selenium, to create automated tests for web applications. We will examine using Selenium to directly record from within a Firefox browser, as well as using C# to automate the web browser using Selenium's API. We will also explore how to distribute tests over multiple machines using Selenium Server's grid capabilities. The course concludes with the implementation of a simple, maintainable framework for testing a web application using Selenium.
Selenium Overview Hi. This is John Sonmez from Pluralsight. And welcome to this course on Automated Web Testing with Selenium. So in this course we are basically going to cover the popular web testing framework Selenium and we're going to cover a few aspects of Selenium. We're going to start off by looking at Selenium in general and getting a little bit of the history and background and see how Selenium works, then we're going to get into the Selenium IDE and this is a tool that we can use inside of our browser, inside Firefox, it's basically a plug-in that allows us to record scripts and we're going to learn how to do this initially because this is a good way just to see how Selenium works but then we're going to transition into using what's called WebDriver which is a way that we can write some code to actually automate our browser and to eventually write tests, automated tests using that technique. So we're going to dive into WebDriver and go through some of the basics and then some more advanced things with WebDriver. And then finally, we're going to be looking at another aspect of Selenium which is the server which allows us to basically execute Selenium tests remotely and to do some pretty neat things like running in parallel and running tests on different machines. And then finally, the last thing we're going to cover in this course is just some automation framework basics. We're not going to get too far into creating an automation framework but we're going to go over some of the basic ideas, some of the basic concept that you need to know in order to successfully create an automation framework that you can use to write web-based automated tests.
Selenium IDE John Sonmez: Hi, This is John Sonmez from Pluralsight and in this module, we are going to be talking about the Selenium IDE. And the Selenium IDE is actually a tool that we can use, it's a Firefox plug in, and it allows us to basically record some automated web tests and then play them back. And it also offers some more features than that. We're going to look at some of the features that you can use in Selenium IDE and we're going to look at how you can actually use that as a starting point to be able to create your automated tests. And we'll talk a little bit about some of the pros and cons of using the recorder, but first let's go ahead and install the recorder and get a little bit familiar with the Selenium IDE.
Webdriver Basics Hi, this is John Sonmez from Pluralsight. And in this module, we are going to be going over the basics of using WebDriver. So, so far, we've talked a little about Selenium, we've seen how to use the Selenium IDE to create some automated test by recording, and then modifying what we've recorded. But now, we're actually going to get into the real meat of using Selenium, and this is the way that I recommend that you use Selenium. So, we're going to be looking at WebDriver, we're going to see how to write some C sharp code to actually automate browsers and then later, we're going to be able to apply this knowledge to actually create a testing framework using WebDriver. But let's start off by learning a bit about WebDriver and how we can use that in our application to our tests.
Advanced WebDriver Hi, this is John Sonmez from Pluralsight and welcome to this module on some of the advance techniques that we can do with Selenium WebDriver. In this module, we're going to cover some of the things we didn't cover in the previous module, things like selecting from radio list items, from dropdowns, getting data from tables using one of the advance selectors like XPath to get data that might be hard to get in another way and then we're going to look at using some dynamic elements on a page. So, a lot of the web pages that you might be testing or interacting with today are going to use dynamically loaded elements or Ajax type of functionality. So we need to know how to handle that better. In the previous module, we've gotten a little bit tripped up when the Google image search was loading up some elements dynamically but we're going to see a better way to handle that in this module.
Selenium Server John Sonmez: Hi. This is John Sonmez from Pluralsight. And in this module we are going to be taking a look at Selenium Server. We have already seen some of the other Selenium technologies like Selenium IDE, which was a Firefox plug-in that we could use to record and replay tests and generate Selenium Web driver tests which just took a look at, which is a technology that allows us to automate the browser using C Sharp or another language. Now Selenium Server is a little bit different than either one of those. We are going to talk about exactly what Selenium Server does, and we are going to see how to install Selenium Server and how we can use it with some of the Web driver tests that we have already created.
Building a Framework Hi! This is John Sonmez from Pluralsight. And in this module, we're going to be learning about actually creating a real framework for our automated test. Up to this point, we've learned about Selenium but now we're going to put that NuGet into use. And one of the most important things that you need to know how to do before you start writing automated test is how to build a good framework because this is going to determine whether or not your automation efforts are going to be successful. Now, this module is a compact module of the knowledge that you probably want to acquire on building an automation framework. You could easily fill up a whole course, a whole book with information and ideas for building a good automation framework. But I just want to introduce this concept to you, give you the basic so that you know where to get started and show you some working examples of how to create an automation framework.