Automate Application with Specflow and Selenium WebDriver C

BDD with SpecFlow (based on Gherkin) and Selenium WebDriver with C# + Intro to UnitTesting and TDD with TestStack.White
Automate Application with Specflow and Selenium WebDriver C
File Size :
6.34 GB
Total length :
13h 31m



Engineer Spock


Last update

Last updated 7/2020



Automate Application with Specflow and Selenium WebDriver C

What you’ll learn

Write business-readable automated tests with SpecFlow
Write maintainable tests with SpecFlow
Automate Web Sites with Selenium
Write RELIABLE automation code with Selenium
Automate WPF applications
Apply test-driven approach for growing software

Automate Application with Specflow and Selenium WebDriver C


Proficiency in C#


This course is all about growing object-oriented software guided by tests. SpecFlow is a framework which brings Behavior-Driven Development (BDD) into life. It is all about filling the gap between technical people and domain experts. SpecFlow is based of a Gherkin language which is very close to natural (though, it is formalized). So, non-technical people can write executable documentation on their own.Selenium is a framework which allows to drive browsers (Chrome, Firefox, Opera etc.). In other words, with the power of Selenium, you can write a program which automatically interacts with elements on a web page.TestStack.White (sometimes, written as “teststack white”) is a framework which allows to drive WinForms and WPF applications.This course covers:Theoretical background behind different types of testing (unit, integration, and acceptance testing)SpecFlow: generating steps, run and debug tests, passing parameters, scenario outline, data table, converting parameters, converting data table, custom conversions, sharing data, categorizing tests, scoped execution, hooks and other featuresSelenium WebDriver: Locators, XPath Locators, CSS Locators, Interacting with all the types of Elements, Timeouts: Explicit and Implicit, Locators Priority, Picking Scenarios to Test, “Page Object” design pattern, Page Object Factory, uploading filesScraping a Live Web Site with Selenium WebDriverSelenium Extras: managing a web browserTestStack.White and Building a WPF App by TDD (with MVVM)Appendixes: intro to Unit Testing and Test-Driven Development


Section 1: Before taking the Course

Lecture 1 How to Ask Questions

Lecture 2 Source Code

Lecture 3 Join .NET Community of Students

Section 2: Introduction to Integration and Acceptance Testing

Lecture 4 Outline

Lecture 5 Types of Tests and TDD

Lecture 6 Integration and UI Testing

Lecture 7 Are Integration Tests Pure Evil?

Lecture 8 Why Write Automated UI-Tests?

Lecture 9 What is Acceptance Testing?

Lecture 10 Acceptance and UI-Automation Testing Frameworks

Lecture 11 Conclusion

Section 3: Introduction to SpecFlow

Lecture 12 Outline

Lecture 13 Why Use SpecFlow

Lecture 14 BDD vs ATDD

Lecture 15 SpecFlow Workflow

Lecture 16 Overview of SpecFlow

Lecture 17 Gherkin. Features and Scenarios

Lecture 18 Basics of SpecFlow

Lecture 19 Two Approaches to Implementation of Acceptance Tests

Lecture 20 Conclusion

Section 4: SpecFlow in Details

Lecture 21 Outline

Lecture 22 Generating Steps in Details

Lecture 23 Overview of Example

Lecture 24 Writing the First Test

Lecture 25 Running and Debugging Tests

Lecture 26 Adding New Cases

Lecture 27 Passing Parameters

Lecture 28 Scenario Outline

Lecture 29 Passing Data Table

Lecture 30 Scenario Background

Lecture 31 Converting Parameter Types

Lecture 32 Converting Tables into Plain Data Structures

Lecture 33 Converting Tables into Sets

Lecture 34 Custom Conversions

Lecture 35 Sharing Data Between Steps

Lecture 36 Categorizing Tests by Tags

Lecture 37 Scoped Execution

Lecture 38 Scoped Binding and Workflow

Lecture 39 Hooks Overview

Lecture 40 Applying a Hook

Lecture 41 Conclusion

Section 5: Introduction to Selenium

Lecture 42 Selenium Overview

Lecture 43 Demo Web Site

Lecture 44 Writing the First Automation Example

Lecture 45 Locator Types

Lecture 46 XPath Selectors

Lecture 47 CSS Selectors

Lecture 48 Input, CheckBox, RadioButton, DropDown

Lecture 49 Dynamic Nature of Modern Web Sites

Lecture 50 Timeouts: Implicit and Explicit

Lecture 51 Locators Priority

Lecture 52 Which Scenario to Test

Lecture 53 SpecFlow and UI-Testing Frameworks

Lecture 54 Conclusion

Section 6: Selenium: Scraping a Live Web Site

Lecture 55 Outline

Lecture 56 Web Site Overview

Lecture 57 Setting Up a Project

Lecture 58 Sign-In Page

Lecture 59 “Page Object” Design Pattern

Lecture 60 Enhancing “Page Object” Design Pattern

Lecture 61 Refactoring with “Page Object”

Lecture 62 Uploading Files – Preparation

Lecture 63 Uploading Files – Coding

Lecture 64 Conclusion

Section 7: Selenium Extras

Lecture 65 Outline

Lecture 66 Writing Tests for Different Browsers

Lecture 67 Location and Size

Lecture 68 Opening Tabs and Windows

Lecture 69 Switching and Closing Tabs and Windows

Lecture 70 Conclusion

Section 8: TestStack.White and WPF App by TDD

Lecture 71 Outline

Lecture 72 Application Overview

Lecture 73 TestStack.White Overview

Lecture 74 Download Source Code

Lecture 75 Writing Acceptance Tests

Lecture 76 Building a Bridge to User Interface Applying “Page Object” Design Pattern

Lecture 77 Implementing Acceptance Tests

Lecture 78 Implementing ViewModels using TDD. Part 1

Lecture 79 Implementing ViewModels using TDD. Part 2

Lecture 80 Conclusion

Section 9: Appendix A. Introduction to Unit Testing. Getting Started

Lecture 81 Outline

Lecture 82 What is a Unit Test

Lecture 83 Unit-Testing Frameworks

Lecture 84 First Unit Test

Lecture 85 Naming Conventions

Lecture 86 Running and Debugging Tests in Visual Studio

Lecture 87 Benefits of Unit Testing

Lecture 88 Who should write Unit Tests and When?

Lecture 89 Programmer’s Oath

Lecture 90 Exercise: Stack

Lecture 91 Solution: Stack

Lecture 92 Conclusion

Section 10: Appendix A. Introduction to Unit Testing. NUnit Framework

Lecture 93 Outline

Lecture 94 Assert. Introduction

Lecture 95 Assert. Demo

Lecture 96 Arrange-Act-Assert

Lecture 97 Running a Test from the Console

Lecture 98 SetUp and TearDown

Lecture 99 SetUp and TearDown on Higher Levels

Lecture 100 Parameterized Tests

Lecture 101 Grouping and Ignoring

Lecture 102 Code Coverage

Lecture 103 Exercise: FizzBuzz

Lecture 104 Solution: FizzBuzz

Lecture 105 Exercise: Roman Numerals

Lecture 106 Solution: Roman Numerals

Lecture 107 Conclusion

Section 11: Appendix B. Introduction to TDD. Part 1

Lecture 108 Download Source Code

Lecture 109 Outline

Lecture 110 Why we need TDD?

Lecture 111 What is TDD?

Lecture 112 Red / Green / Refactor

Lecture 113 Three Laws of TDD

Lecture 114 Changing Requirements and the Safety Net

Lecture 115 F.I.R.S.T.

Lecture 116 Testing Frameworks and Tools

Lecture 117 When TDD Fails?

Lecture 118 Conclusion

Section 12: Appendix B. Introduction to TDD. Part 2

Lecture 119 Outline

Lecture 120 Regular Agile Process in 200 Words

Lecture 121 VS and R# Shortcuts

Lecture 122 Refactoring Commands Built-In Visual Studio

Lecture 123 Fibonacci Numbers

Lecture 124 Three Main TDD Techniques

Lecture 125 Grabbing the Gold

Lecture 126 FizzBuzz

Lecture 127 Reading Roman Numerals

Lecture 128 UpdateableSpin

Lecture 129 Continuous Testing

Lecture 130 Tic-Tac-Toe (Crosses and Noughts)

Lecture 131 Assert First

Lecture 132 Demo – Sticks

Lecture 133 Conclusion

Developers who want to Write Executable Documentation,Developers who want to Automate Web Sites,Developers who want to Automate WPF,Developers who want to see how to grow an application guided by tests

Course Information:

Udemy | English | 13h 31m | 6.34 GB
Created by: Engineer Spock

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top