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
Requirements
Proficiency in C#
Description
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
Overview
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 CourseDown.com