Automate Application with Specflow and Selenium WebDriver C#

Video description

Learn BDD with SpecFlow (based on Gherkin) and Selenium WebDriver with C# along with an Intro to UnitTesting and TDD with TestStack.White

About This Video

  • Automate websites and write reliable automation code with Selenium
  • Learn to write business-readable automated tests and maintainable tests with SpecFlow and apply a test-driven approach to grow software
  • A practical course designed for middle-level developers who require a proficiency in C#

In Detail

SpecFlow is a framework that brings Behavior-Driven Development (BDD) into life. It is all about filling the gap between technical people and domain experts. SpecFlow is based on the Gherkin language. So, non-technical people can write executable documentation on their own.

Selenium is a framework that drives browsers (Chrome, Firefox, Opera, and more). In other words, with the power of Selenium, you can write a program that automatically interacts with elements on a web page.

TestStack.White (sometimes, written called teststack white) is a framework drives WinForms and WPF applications.

This course covers:

  • Theoretical background behind different types of testing (unit, integration, and acceptance testing)
  • SpecFlow: generating steps, running and debugging tests, passing parameters, scenario outlines, data tables, converting parameters, converting data tables, custom conversions, sharing data, categorizing tests, scoped execution, hooks, and other features
  • Selenium WebDriver: Locators, XPath locators, CSS locators, interacting with all element types, timeouts (explicit and implicit), locator priorities, picking scenarios to Test, the Page Object design pattern, the Page Object factory, uploading files, and more
  • Scraping a live website with Selenium WebDriver
  • Selenium Extras: managing a web browser
  • TestStack.White and building a WPF app by TDD (with MVVM)
  • Appendices: intro to unit testing and test-driven development

Publisher resources

Download Example Code

Table of contents

  1. Chapter 1 : Introduction to Integration and Acceptance Testing
    1. Outline 00:01:30
    2. Types of Tests and TDD 00:04:45
    3. Integration and UI Testing 00:01:55
    4. Are Integration Tests Pure Evil? 00:04:18
    5. Why Write Automated UI-Tests? 00:03:02
    6. What is Acceptance Testing? 00:02:21
    7. Acceptance and UI-Automation Testing Frameworks 00:01:34
    8. Conclusion 00:01:15
  2. Chapter 2 : Introduction to SpecFlow
    1. Outline 00:00:57
    2. Why Use SpecFlow 00:02:59
    3. BDD vs ATDD 00:01:31
    4. SpecFlow Workflow 00:02:24
    5. Overview of SpecFlow 00:01:43
    6. Gherkin. Features and Scenarios 00:03:29
    7. Basics of SpecFlow 00:09:27
    8. Two Approaches to Implementation of Acceptance Tests 00:03:23
    9. Conclusion 00:01:04
  3. Chapter 3 : SpecFlow in Details
    1. Outline 00:01:22
    2. Generating Steps in Details 00:03:31
    3. Overview of Example 00:01:25
    4. Writing the First Test 00:04:38
    5. Running and Debugging Tests 00:03:20
    6. Adding New Cases 00:04:15
    7. Passing Parameters 00:06:35
    8. Scenario Outline 00:05:33
    9. Passing Data Table 00:08:17
    10. Scenario Background 00:02:29
    11. Converting Parameter Types 00:02:02
    12. Converting Tables into Plain Data Structures 00:06:31
    13. Converting Tables into Sets 00:09:15
    14. Custom Conversions 00:13:18
    15. Sharing Data Between Steps 00:10:50
    16. Categorizing Tests by Tags 00:03:56
    17. Scoped Execution 00:08:57
    18. Scoped Binding and Workflow 00:04:38
    19. Hooks Overview 00:04:41
    20. Applying a Hook 00:06:12
    21. Conclusion 00:02:03
  4. Chapter 4 : Introduction to Selenium
    1. Selenium Overview 00:03:22
    2. Demo Web Site 00:02:03
    3. Writing the First Automation Example 00:08:01
    4. Locator Types 00:10:52
    5. XPath Selectors 00:14:04
    6. CSS Selectors 00:08:18
    7. Input, CheckBox, RadioButton, DropDown 00:20:12
    8. Dynamic Nature of Modern Web Sites 00:02:01
    9. Timeouts: Implicit and Explicit 00:06:04
    10. Locators Priority 00:02:41
    11. Which Scenario to Test 00:00:59
    12. SpecFlow and UI-Testing Frameworks 00:02:56
    13. Conclusion 00:01:12
  5. Chapter 5 : Selenium: Scraping a Live Web Site
    1. Outline 00:01:22
    2. Web Site Overview 00:05:09
    3. Setting Up a Project 00:03:55
    4. Sign-In Page 00:06:51
    5. "Page Object" Design Pattern 00:10:31
    6. Enhancing "Page Object" Design Pattern 00:16:16
    7. Refactoring with "Page Object" 00:08:21
    8. Uploading Files - Preparation 00:04:33
    9. Uploading Files - Coding 00:26:53
    10. Conclusion 00:01:34
  6. Chapter 6 : Selenium Extras
    1. Outline 00:00:46
    2. Writing Tests for Different Browsers 00:10:08
    3. Location and Size 00:04:15
    4. Opening Tabs and Windows 00:05:31
    5. Switching and Closing Tabs and Windows 00:04:53
    6. Conclusion 00:01:18
  7. Chapter 7 : TestStack.White and WPF App by TDD
    1. Outline 00:02:18
    2. Application Overview 00:09:00
    3. TestStack.White Overview 00:03:48
    4. Writing Acceptance Tests 00:14:58
    5. Building a Bridge to User Interface Applying "Page Object" Design Pattern 00:19:53
    6. Implementing Acceptance Tests 00:26:38
    7. Implementing ViewModels using TDD. Part 1 1:08:23
    8. Implementing ViewModels using TDD. Part 2 00:23:38
    9. Conclusion 00:01:38
  8. Chapter 8 : Appendix A. Introduction to Unit Testing. Getting Started
    1. Outline 00:00:58
    2. What is a Unit Test? 00:03:10
    3. Unit-Testing Frameworks 00:03:19
    4. First Unit Test 00:08:50
    5. Naming Conventions 00:04:34
    6. Running and Debugging Tests in Visual Studio 00:05:02
    7. Benefits of Unit Testing 00:03:33
    8. Who should write Unit Tests and When? 00:02:48
    9. Programmer's Oath 00:03:14
    10. Exercise: Stack 00:01:30
    11. Solution: Stack 00:06:31
    12. Conclusion 00:01:15
  9. Chapter 9 : Appendix A. Introduction to Unit Testing. NUnit Framework
    1. Outline 00:01:02
    2. Assert. Introduction 00:05:30
    3. Assert. Demo 00:10:27
    4. Arrange-Act-Assert 00:00:58
    5. Running a Test from the Console 00:01:51
    6. SetUp and TearDown 00:05:09
    7. SetUp and TearDown on Higher Levels 00:02:14
    8. Parameterized Tests 00:03:40
    9. Grouping and Ignoring 00:02:14
    10. Code Coverage 00:01:42
    11. Exercise: FizzBuzz 00:01:08
    12. Solution: FizzBuzz 00:05:06
    13. Exercise: Roman Numerals 00:02:27
    14. Solution: Roman Numerals 00:09:27
    15. Conclusion 00:01:25
  10. Chapter 10 : Appendix B. Introduction to TDD. Part 1
    1. Outline 00:01:06
    2. Why we need TDD? 00:16:19
    3. What is TDD? 00:04:59
    4. Red / Green / Refactor 00:04:16
    5. Three Laws of TDD 00:01:42
    6. Changing Requirements and the Safety Net 00:05:24
    7. F.I.R.S.T. 00:02:48
    8. Testing Frameworks and Tools 00:05:07
    9. When TDD Fails? 00:02:46
    10. Conclusion 00:02:02
  11. Chapter 11 : Appendix B. Introduction to TDD. Part 2
    1. Outline 00:01:46
    2. Regular Agile Process in 200 Words 00:01:59
    3. VS and R# Shortcuts 00:03:45
    4. Fibonacci Numbers 00:07:38
    5. Three Main TDD Techniques 00:04:32
    6. Grabbing the Gold 00:03:10
    7. FizzBuzz 00:11:06
    8. Reading Roman Numerals 00:12:08
    9. UpdateableSpin 00:17:50
    10. Continuous Testing 00:03:57
    11. Tic-Tac-Toe (Crosses and Noughts) 00:36:18
    12. Assert First 00:01:26
    13. Demo - Sticks 00:32:17
    14. Conclusion 00:01:37

Product information

  • Title: Automate Application with Specflow and Selenium WebDriver C#
  • Author(s): Ilya Fofanov
  • Release date: February 2020
  • Publisher(s): Packt Publishing
  • ISBN: 9781800208964