Leanpub Header

Skip to main content

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.

Want to learn about end-to-end testing in .NET? Then enroll in this course right now!

En düşük fiyat

$19.00

$19.00

Ödeyeceğiniz Miktar

Yazarın kazandığı

$

Also available for 1 course credit with a Learner Membership

PDF
EPUB
Hakkında

Hakkında

About the Course

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

Share this course

Eğitmen

Eğitmen Hakkında

EngineerSpock

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.

Materyal

Ders Materyali

  • 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

Leanpub Önkoşulsuz, Risksiz, %100 Mutluluk Garantilidir

Leanpub'tan yaptığınız alışverişlerde, 60 günlük sürede %100 iade garantisi mevcut, bunun için sadece iki tıklama yeterli. Detaylar için (ingilizce) kullanım sözleşmesini okuyunuz.

10$ değerinde bir satıştan 8$, 20$ değerinde bir satıştan 16$ kazanın

7,99$ veya üzeri satışlarda %80 telif, 0,99$ ile 7,98$ arasındaki satışlarda 50 sent sabit ücret düşülerek %80 telif ödüyoruz. 10$'lık bir satıştan 8$, 20$'lık bir satıştan 16$ kazanıyorsunuz. Yani, kitabınızın iade edilmemiş 5000 kopyasını 20$'dan satarsak, 80.000$ kazanacaksınız.

(Evet, bazı yazarlar Leanpub'da bundan çok daha fazlasını kazandılar.)

Gerçekte, yazarlar Leanpub'da yazarak, yayınlayarak ve satarak 14 milyon dolardan fazla kazandılar.

Leanpub'da yazmak hakkında daha fazla bilgi edinin

Ücretsiz Güncellemeler. DRM İçermez.

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), EPUB (for phones and tablets) and MOBI (for 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.

Leanpub'ın e-kitap formatları ve bunları nerede okuyabileceğiniz hakkında daha fazla bilgi edinin

Leanpub üzerinde Yazın ve Yayımlayın

Authors and publishers use Leanpub to publish amazing in-progress and completed ebooks, just like this one. You can use Leanpub to write, publish and sell your book as well! 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. It really is that easy.

Leanpub üzerinde nasıl yazabileceğinizi öğrenin