Automate Application with Specflow and Selenium WebDriver C# (The Course)
Minimum price
Suggested price

Course Info

This course includes 1 attempt.

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 features
  • Selenium 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 files
  • Scraping a Live Web Site with Selenium WebDriver
  • Selenium Extras: managing a web browser
  • TestStack.White and Building a WPF App by TDD (with MVVM)
  • Appendixes: intro to Unit Testing and Test-Driven Development


Course Material

  • About the Course
  • Course Outline
  • Intro to Integration and Acceptance Testing
  • Outline
  • Different Types of Tests
  • Integration and UI Testing
  • Why Automated UI Tests
  • What is Acceptance Testing
  • Acceptance and UI-Automation Testing Frameworks
  • Conclusion
  • Introduction to SpecFlow
  • Outline
  • Why SpecFlow
  • BDD vs ATDD
  • SpecFlow Workflow
  • Gherkin. Features and Scenarios
  • Basics of SpecFlow
  • Two Approaches to Implementation of Acceptance Tests
  • Conclusion
  • SpecFlow in Details
  • Outline
  • Generating Steps in Details
  • Demo Example Overview
  • Writing the First Test
  • Running and Debugging Acceptance Tests
  • Adding new Cases
  • Passing Parameters
  • Scenario Outlines
  • Passing Data Tables
  • Scenario Background
  • Converting Parameter Types
  • Converting Tables
  • Converting Tables to Sets
  • Custom Conversions
  • Sharing Data Between Steps
  • Categorizing Tests by Tags
  • Scoped Execution
  • Scoping and Workflow
  • Hooks Overview
  • Hook Demo
  • Conclusion
  • Introduction to Selenium
  • Selenium Overview
  • Demo Web Site
  • First Automation Example
  • Locators
  • XPath
  • CSS Selectors
  • Input, CheckBox, RadiButton, DropDown Menu
  • Dynamic Nature of Modern Web Sites
  • Explicit and Implicit Timeouts
  • Locators Priority
  • Scenarios to Test
  • SpecFlow and UI-Testing Frameworks
  • Conclusion
  • Selenium: Scraping a Live Web Site
  • Outline
  • Web Site Overview
  • Setting up a Project
  • SignIn Page
  • Page Object Design Pattern
  • Enhancing Page Object Design Pattern
  • Refactoring using WebPage
  • Uploading Files. Preparation
  • Uploading Files. Coding
  • Conclusion
  • Selenium Extras
  • Outline
  • Writing Tests for Different Browsers
  • Managing Window Size and Location
  • Open new Tabs and Windows
  • Close Tabs and Windows
  • Conclusion
  • TestStack.White and WPF App by TDD
  • Outline
  • App Overview
  • TestStack.White Overview
  • Writing Acceptance Tests
  • Building a Bridge to UI
  • Implementing Acceptance Tests
  • Implementing View Models-Part-1
  • Implementing View Models-Part-2
  • Conclusion
  • Appendix A. Intro to Unit Testing
  • Outline
  • What is a Unit Test
  • Unit Testing Frameworks
  • Your First Unit Test
  • Naming Conventions
  • Running and Debugging Unit Tests
  • Benefits of Unit Testing
  • Who Should Write Unit Tests and When
  • Programmer’s Oath
  • Exercise: Stack
  • Solution: Stack
  • Conclusion
  • Appendix A. Introduction to Unit Testing. NUnit Framework
  • Outline
  • Assert Intro
  • Assert Demo
  • Arrange-Act-Assert
  • Running Tests from the Console
  • SetUp and TearDown
  • OneTimeSetUp and OneTimeTearDown
  • Parameterized Unit Tests
  • Grouping and Ignoring Unit Tests
  • Code Coverage
  • Exercise: FizzBuzz
  • Solution: FizzBuzz
  • Exercise: Roman Numerals
  • Solution: Roman Numerals
  • Conclusion
  • Appendix B. Intro to TDD Part 1
  • Outline
  • Why we need TDD
  • What is TDD
  • Red Green Refactor
  • Three Laws of TDD
  • Changing Requirements and the Safety Net
  • F.I.R.S.T
  • Testing Frameworks and Tools
  • When TDD Fails
  • Conclusion
  • Appendix B. Intro to TDD Part 2
  • Outline
  • Regular Agile Process
  • VS and ReSharper Shortcuts
  • Fibonacci Numbers
  • Three Main TDD Techniques
  • Grabbind the Gold
  • FizzBuzz
  • Reading Roman Numerals
  • Updateable Spin
  • Continuos Testing
  • TicTacToe
  • Assert First
  • Game in Sticks
  • Conclusion


    • I'm thankful enough for that I love what I do.

      I began my career as a postgraduate student participating in Microsoft ImagineCup contest.

      I've been working with .NET platform since 2003. I've been professionally architecting and implementing software for more than 10 years, primarily based on the .NET platform. I'm passionate about building rich and powerful applications using modern technologies. I'm a certified specialist in Windows Applications and Service Communication Applications by Microsoft. I'm one of the coordinators of the MskDotNet User Group in Moscow.

      "If it's work, we try to do less. If it's art, we try to do more." - Seth Godin.

      What I can say is that software is my art.

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub