Creating Automated Browser Tests with Selenium 3 in C#
Automated browser tests help give you increased confidence that your web app is working correctly before deploying to production. One secret to happier users and development teams comes from fewer production outages and more feature development.
What you'll learn
Unit and integration tests can help you catch a range of bugs, but not all of them. Even if your unit and integration tests pass, you could still deploy your web app to production and find it doesn’t work as expected. In this course, Creating Automated Browser Tests with Selenium 3 in C#, you will gain the ability to create tests that automate the browser and simulate a real person using your web app. First, you will learn how to set up your test project and write your first test. Next, you will discover how to interact with web page elements from your tests, such as clicking a button or typing text. Finally, you will explore how to create a suite of automated web tests that are easier to maintain over time. When you are finished with this course, you will have the skills and knowledge of Selenium automated browser testing needed to help ensure your web app is working as expected before you release it to production.
Table of contents
- Version Check 0m
- Introduction 2m
- Module Overview 1m
- Why Write Automated Browser Tests? 3m
- What Kind of Errors Can Be Found? 2m
- Where Do Automated Web Tests Fit In? 3m
- The Difference between Selenium IDE and Selenium WebDriver 2m
- Overview of Selenium WebDriver Features 1m
- Selenium WebDriver Testing Architecture 2m
- Which Test Scenarios Should You Automate? 2m
- The Limitations of Automated Browser Tests 2m
- Summary 1m
- Introduction 1m
- The Logical Arrange, Act, and Assert Phases of a Web Test 2m
- Reading the Current Page Title 3m
- Reading the Browser's Current URL 3m
- Reloading the Current Page in the Browser 3m
- Navigating Backwards with Selenium WebDriver 2m
- Navigating Forwards with Selenium WebDriver 1m
- Manual ChromeDriver.exe Cleanup 2m
- Summary 1m
- Introduction 2m
- Selecting an HTML Link Using Partially Known Link Text 3m
- Selecting HTML Elements with Absolute XPath 4m
- Selecting HTML Elements with Relative XPath 4m
- Explicitly Waiting for an HTML Element to Become Selectable 7m
- Explicitly Waiting Using Prebuilt Conditions 4m
- Using Implicit Wait Times When Selecting Elements 5m
- Refactoring an Implicit Wait Test to Use Explicit Waits 3m
- Selecting Multiple Elements 2m
- Summary 2m
- Introduction 1m
- Controlling the Browser Size and Position 4m
- Preventing Accidental Page Interaction with a Minimized Browser 3m
- Switching between Tabs in the Browser 3m
- Handling Simple Alert Popups in Selenium 4m
- Handling Confirmation Popups in Selenium 1m
- Manipulating Cookies with Selenium 5m
- Saving Screenshots with Selenium 3m
- Using ApprovalTests with Selenium Screenshots 6m
- Executing Arbitrary JavaScript on the Page 5m
- Building Advanced Interactions with Actions 1m
- Other Advanced Techniques 3m
- Summary 2m
- Introduction 2m
- The Problems with Duplicate Browser Automation Test Code 2m
- An Overview of the Page Object Model Pattern for Browser Tests 2m
- Which HTML Elements Should You Add to a Page Object Model? 2m
- Creating an Initial Page Object Model 3m
- Returning Fundamental Types from Page Object Models 2m
- Navigating to a Page Object Model Page 1m
- Checking a Page Is Loaded in a Page Object Model 3m
- Refactoring the LoadHomePage and ReloadHomePageOnBack Tests 3m
- Refactoring Continued 2m
- Refactoring the Remaining CreditCardWebAppShould Tests 3m
- Navigating to Other Page Object Models 2m
- Encapsulating Explicit Waits in Page Object Models 3m
- Form Filling and Submission with Page Object Models 2m
- Adding an ApplicationCompletePage Page Object Model 3m
- Testing Form Validation with Page Object Models 3m
- Reusing WebDriver Instances to Speed up Test Execution 4m
- Tackling Brittle Tests with JavaScript 4m
- Completing the Refactoring to Page Object Models 3m
- Page Object Models Using Selenium Support 1m
- Page Object Model Considerations 2m
- Summary 1m