Cademy logoCademy Marketplace

Course Images

Automate Application with Specflow and Selenium WebDriver C#

Automate Application with Specflow and Selenium WebDriver C#

🔥 Limited Time Offer 🔥

Get a 10% discount on your first order when you use this promo code at checkout: MAY24BAN3X

  • 30 Day Money Back Guarantee
  • Completion Certificate
  • 24/7 Technical Support

Highlights

  • On-Demand course

  • 13 hours 30 minutes

  • All levels

Description

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

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 All the codes and supporting files for this course are available at - https://github.com/PacktPublishing/Automate-Application-with-Specflow-and-Selenium-WebDriver-C-

What You Will Learn

Build end-to-end tests to grow reliable software
TestStack.White and building a WPF app by TDD (with MVVM)
Appendices: intro to unit testing and Test-Driven Development
Automate WPF applications

Audience

This course is for middle-level developers who require a proficiency in C#

Approach

A highly practical course that covers all features in a hands-on way and in which we automate a website which is not under our control

Key Features

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#

Github Repo

https://github.com/packtpublishing/automate-application-with-specflow-and-selenium-webdriver-c-

About the Author

EngineerSpock Education LLC

Ilya Fofanov began his career as a postgraduate student participating in the Microsoft ImagineCup contest. He's been working with the .NET platform since 2003 and has been professionally architecting and implementing software for nearly 7 years, primarily based on the .NET platform. He is passionate about building rich and powerful applications using modern technologies. Ilya is a Microsoft-certified specialist in Windows Applications and Service Communication Applications and one of the coordinators of the MskDotNet User Group in Moscow.

Course Outline

1. Introduction to Integration and Acceptance Testing

1. Outline

Introduction to Integration and Acceptance Testing: Outline

2. Types of Tests and TDD

Introduction to Integration and Acceptance Testing: Types of Tests and TDD

3. Integration and UI Testing

Introduction to Integration and Acceptance Testing: Integration and UI Testing

4. Are Integration Tests Pure Evil?

Introduction to Integration and Acceptance Testing: Are Integration Tests Pure Evil?

5. Why Write Automated UI-Tests?

Introduction to Integration and Acceptance Testing: Why Write Automated UI-Tests?

6. What is Acceptance Testing?

Introduction to Integration and Acceptance Testing: What is Acceptance Testing?

7. Acceptance and UI-Automation Testing Frameworks

Introduction to Integration and Acceptance Testing: Acceptance and UI-Automation Testing Frameworks

8. Conclusion

Introduction to Integration and Acceptance Testing: Conclusion


2. Introduction to SpecFlow

1. Outline

Introduction to SpecFlow: Outline

2. Why Use SpecFlow

Introduction to SpecFlow: Why Use SpecFlow

3. BDD vs ATDD

Introduction to SpecFlow: BDD vs ATDD

4. SpecFlow Workflow

Introduction to SpecFlow: SpecFlow Workflow

5. Overview of SpecFlow

Introduction to SpecFlow: Overview of SpecFlow

6. Gherkin. Features and Scenarios

Introduction to SpecFlow: Gherkin. Features and Scenarios

7. Basics of SpecFlow

Introduction to SpecFlow: Basics of SpecFlow

8. Two Approaches to Implementation of Acceptance Tests

Introduction to SpecFlow: Two Approaches to Implementation of Acceptance Tests

9. Conclusion

Introduction to SpecFlow: Conclusion


3. SpecFlow in Details

1. Outline

SpecFlow in Details: Outline

2. Generating Steps in Details

SpecFlow in Details: Generating Steps in Details

3. Overview of Example

SpecFlow in Details: Overview of Example

4. Writing the First Test

SpecFlow in Details: Writing the First Test

5. Running and Debugging Tests

SpecFlow in Details: Running and Debugging Tests

6. Adding New Cases

SpecFlow in Details: Adding New Cases

7. Passing Parameters

SpecFlow in Details: Passing Parameters

8. Scenario Outline

SpecFlow in Details: Scenario Outline

9. Passing Data Table

SpecFlow in Details: Passing Data Table

10. Scenario Background

SpecFlow in Details: Scenario Background

11. Converting Parameter Types

SpecFlow in Details: Converting Parameter Types

12. Converting Tables into Plain Data Structures

SpecFlow in Details: Converting Tables into Plain Data Structures

13. Converting Tables into Sets

SpecFlow in Details: Converting Tables into Sets

14. Custom Conversions

SpecFlow in Details: Custom Conversions

15. Sharing Data Between Steps

SpecFlow in Details: Sharing Data Between Steps

16. Categorizing Tests by Tags

SpecFlow in Details: Categorizing Tests by Tags

17. Scoped Execution

SpecFlow in Details: Scoped Execution

18. Scoped Binding and Workflow

SpecFlow in Details: Scoped Binding and Workflow

19. Hooks Overview

SpecFlow in Details: Hooks Overview

20. Applying a Hook

SpecFlow in Details: Applying a Hook

21. Conclusion

SpecFlow in Details: Conclusion


4. Introduction to Selenium

1. Selenium Overview

Introduction to Selenium: Selenium Overview

2. Demo Web Site

Introduction to Selenium: Demo Web Site

3. Writing the First Automation Example

Introduction to Selenium: Writing the First Automation Example

4. Locator Types

Introduction to Selenium: Locator Types

5. XPath Selectors

Introduction to Selenium: XPath Selectors

6. CSS Selectors

Introduction to Selenium: CSS Selectors

7. Input, CheckBox, RadioButton, DropDown

Introduction to Selenium: Input, CheckBox, RadioButton, DropDown

8. Dynamic Nature of Modern Web Sites

Introduction to Selenium: Dynamic Nature of Modern Web Sites

9. Timeouts: Implicit and Explicit

Introduction to Selenium: Timeouts: Implicit and Explicit

10. Locators Priority

Introduction to Selenium: Locators Priority

11. Which Scenario to Test

Introduction to Selenium: Which Scenario to Test

12. SpecFlow and UI-Testing Frameworks

Introduction to Selenium: SpecFlow and UI-Testing Frameworks

13. Conclusion

Introduction to Selenium: Conclusion


5. Selenium: Scraping a Live Web Site

1. Outline

Selenium: Scraping a Live Web Site: Outline

2. Web Site Overview

Selenium: Scraping a Live Web Site: Web Site Overview

3. Setting Up a Project

Selenium: Scraping a Live Web Site: Setting Up a Project

4. Sign-In Page

Selenium: Scraping a Live Web Site: Sign-In Page

5. "Page Object" Design Pattern

Selenium: Scraping a Live Web Site: "Page Object" Design Pattern

6. Enhancing "Page Object" Design Pattern

Selenium: Scraping a Live Web Site: Enhancing "Page Object" Design Pattern

7. Refactoring with "Page Object"

Selenium: Scraping a Live Web Site: Refactoring with "Page Object"

8. Uploading Files - Preparation

Selenium: Scraping a Live Web Site: Uploading Files - Preparation

9. Uploading Files - Coding

Selenium: Scraping a Live Web Site: Uploading Files - Coding

10. Conclusion

Selenium: Scraping a Live Web Site: Conclusion


6. Selenium Extras

1. Outline

Selenium Extras: Outline

2. Writing Tests for Different Browsers

Selenium Extras: Writing Tests for Different Browsers

3. Location and Size

Selenium Extras: Location and Size

4. Opening Tabs and Windows

Selenium Extras: Opening Tabs and Windows

5. Switching and Closing Tabs and Windows

Selenium Extras: Switching and Closing Tabs and Windows

6. Conclusion

Selenium Extras: Conclusion


7. TestStack.White and WPF App by TDD

1. Outline

TestStack.White and WPF App by TDD: Outline

2. Application Overview

TestStack.White and WPF App by TDD: Application Overview

3. TestStack.White Overview

TestStack.White and WPF App by TDD: TestStack.White Overview

4. Writing Acceptance Tests

TestStack.White and WPF App by TDD: Writing Acceptance Tests

5. Building a Bridge to User Interface Applying "Page Object" Design Pattern

TestStack.White and WPF App by TDD: Building a Bridge to User Interface Applying "Page Object" Design Pattern

6. Implementing Acceptance Tests

TestStack.White and WPF App by TDD: Implementing Acceptance Tests

7. Implementing ViewModels using TDD. Part 1

TestStack.White and WPF App by TDD: Implementing ViewModels using TDD. Part 1

8. Implementing ViewModels using TDD. Part 2

TestStack.White and WPF App by TDD: Implementing ViewModels using TDD. Part 2

9. Conclusion

TestStack.White and WPF App by TDD: Conclusion


8. Appendix A. Introduction to Unit Testing. Getting Started

1. Outline

Appendix A. Introduction to Unit Testing. Getting Started: Outline

2. What is a Unit Test?

Appendix A. Introduction to Unit Testing. Getting Started: What is a Unit Test?

3. Unit-Testing Frameworks

Appendix A. Introduction to Unit Testing. Getting Started: Unit-Testing Frameworks

4. First Unit Test

Appendix A. Introduction to Unit Testing. Getting Started: First Unit Test

5. Naming Conventions

Appendix A. Introduction to Unit Testing. Getting Started: Naming Conventions

6. Running and Debugging Tests in Visual Studio

Appendix A. Introduction to Unit Testing. Getting Started: Running and Debugging Tests in Visual Studio

7. Benefits of Unit Testing

Appendix A. Introduction to Unit Testing. Getting Started: Benefits of Unit Testing

8. Who should write Unit Tests and When?

Appendix A. Introduction to Unit Testing. Getting Started: Who should write Unit Tests and When?

9. Programmer's Oath

Appendix A. Introduction to Unit Testing. Getting Started: Programmer's Oath

10. Exercise: Stack

Appendix A. Introduction to Unit Testing. Getting Started: Exercise: Stack

11. Solution: Stack

Appendix A. Introduction to Unit Testing. Getting Started: Solution: Stack

12. Conclusion

Appendix A. Introduction to Unit Testing. Getting Started: Conclusion


9. Appendix A. Introduction to Unit Testing. NUnit Framework

1. Outline

Appendix A. Introduction to Unit Testing. NUnit Framework: Outline

2. Assert. Introduction

Appendix A. Introduction to Unit Testing. NUnit Framework: Assert. Introduction

3. Assert. Demo

Appendix A. Introduction to Unit Testing. NUnit Framework: Assert. Demo

4. Arrange-Act-Assert

Appendix A. Introduction to Unit Testing. NUnit Framework: Arrange-Act-Assert

5. Running a Test from the Console

Appendix A. Introduction to Unit Testing. NUnit Framework: Running a Test from the Console

6. SetUp and TearDown

Appendix A. Introduction to Unit Testing. NUnit Framework: SetUp and TearDown

7. SetUp and TearDown on Higher Levels

Appendix A. Introduction to Unit Testing. NUnit Framework: SetUp and TearDown on Higher Levels

8. Parameterized Tests

Appendix A. Introduction to Unit Testing. NUnit Framework: Parameterized Tests

9. Grouping and Ignoring

Appendix A. Introduction to Unit Testing. NUnit Framework: Grouping and Ignoring

10. Code Coverage

Appendix A. Introduction to Unit Testing. NUnit Framework: Code Coverage

11. Exercise: FizzBuzz

Appendix A. Introduction to Unit Testing. NUnit Framework: Exercise: FizzBuzz

12. Solution: FizzBuzz

Appendix A. Introduction to Unit Testing. NUnit Framework: Solution: FizzBuzz

13. Exercise: Roman Numerals

Appendix A. Introduction to Unit Testing. NUnit Framework: Exercise: Roman Numerals

14. Solution: Roman Numerals

Appendix A. Introduction to Unit Testing. NUnit Framework: Solution: Roman Numerals

15. Conclusion

Appendix A. Introduction to Unit Testing. NUnit Framework: Conclusion


10. Appendix B. Introduction to TDD. Part 1

1. Outline

Appendix B. Introduction to TDD. Part 1: Outline

2. Why we need TDD?

Appendix B. Introduction to TDD. Part 1: Why we need TDD?

3. What is TDD?

Appendix B. Introduction to TDD. Part 1: What is TDD?

4. Red / Green / Refactor

Appendix B. Introduction to TDD. Part 1: Red / Green / Refactor

5. Three Laws of TDD

Appendix B. Introduction to TDD. Part 1: Three Laws of TDD

6. Changing Requirements and the Safety Net

Appendix B. Introduction to TDD. Part 1: Changing Requirements and the Safety Net

7. F.I.R.S.T.

Appendix B. Introduction to TDD. Part 1: F.I.R.S.T.

8. Testing Frameworks and Tools

Appendix B. Introduction to TDD. Part 1: Testing Frameworks and Tools

9. When TDD Fails?

Appendix B. Introduction to TDD. Part 1: When TDD Fails?

10. Conclusion

Appendix B. Introduction to TDD. Part 1: Conclusion


11. Appendix B. Introduction to TDD. Part 2

1. Outline

Appendix B. Introduction to TDD. Part 2: Outline

2. Regular Agile Process in 200 Words

Appendix B. Introduction to TDD. Part 2: Regular Agile Process in 200 Words

3. VS and R# Shortcuts

Appendix B. Introduction to TDD. Part 2: VS and R# Shortcuts

4. Fibonacci Numbers

Appendix B. Introduction to TDD. Part 2: Fibonacci Numbers

5. Three Main TDD Techniques

Appendix B. Introduction to TDD. Part 2: Three Main TDD Techniques

6. Grabbing the Gold

Appendix B. Introduction to TDD. Part 2: Grabbing the Gold

7. FizzBuzz

Appendix B. Introduction to TDD. Part 2: FizzBuzz

8. Reading Roman Numerals

Appendix B. Introduction to TDD. Part 2: Reading Roman Numerals

9. UpdateableSpin

Appendix B. Introduction to TDD. Part 2: UpdateableSpin

10. Continuous Testing

Appendix B. Introduction to TDD. Part 2: Continuous Testing

11. Tic-Tac-Toe (Crosses and Noughts)

Appendix B. Introduction to TDD. Part 2: Tic-Tac-Toe (Crosses and Noughts)

12. Assert First

Appendix B. Introduction to TDD. Part 2: Assert First

13. Demo - Sticks

Appendix B. Introduction to TDD. Part 2: Demo - Sticks

14. Conclusion

Appendix B. Introduction to TDD. Part 2: Conclusion

Course Content

  1. Automate Application with Specflow and Selenium WebDriver C#

About The Provider

Packt
Packt
Birmingham
Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and i...
Read more about Packt

Tags

Reviews