Automated UI Testing in C#
4.0 (1 rating)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Automated UI Testing in C# to your Wishlist.

Add to Wishlist

Automated UI Testing in C#

Build a UI testing framework step-by-step
4.0 (1 rating)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7 students enrolled
Created by Packt Publishing
Last updated 5/2017
English
Curiosity Sale
Current price: $10 Original price: $125 Discount: 92% off
30-Day Money-Back Guarantee
Includes:
  • 3 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Available framework types and what they look like
  • Practical steps to build initial frameworks
  • Typical solutions for typical problems with UI automation
  • Typical framework improvements when the entire test automation solution gets more complicated
  • Typical recommendations for each step in framework creation/improvement
  • Real-life example of UI a test automation framework with C#
View Curriculum
Requirements
  • This course is targeted at C# developers. To fully benefit from the coverage included in this course, you will need basic knowledge of the C# and OOP concepts
  • This course has the following software requirements:
  • .NET Framework 4.0 or greater
  • MS Visual Studio 2013 or greater (for Windows), Xamarin Studio 6.2 (for Mac)
  • This course has been tested on the following system configuration:
  • OS: OS X El Capitan
  • Processor: 2.5 GHz Intel Core i7
  • Memory: 16 GB 1600 MHz DDR3
  • Video Card: NVIDIA GeForce GT 750M 2048 MB
  • Hard Disk Space: 500 GB
Description

This video is the practical step by step guide for UI test automation framework development from the scratch. This course is targeted to C#. We’ll exercise the WebDriver, Appium (for mobile applications) and SpecFlow.

While going throughout the course you will be able to see the step-by-step test automation framework development process and how it changes the shape of tests.

At the end you will have a vision of what framework is, how it looks like and what items should be initially covered at the early beginning of test automation development. Also, you will learn typical solutions for the most common problems with different UI automation solutions

Mykola has been working in test automation since 2004. He has been involved with various activities including creating test automation solutions from scratch, leading test automation teams, and working as a consultant with test automation processes. During his working career, he has had experience with different test automation tools such as Mercury WinRunner, MicroFocus SilkTest, SmartBear TestComplete, Selenium-RC, WebDriver, Appium, SoapUI, BDD frameworks, and many other different engines and solutions. He has had experience with multiple programming technologies based on Java, C#, Ruby, and so on, and with different domain areas such as healthcare, mobile, telecoms, social networking, business process modeling, performance and talent management, multimedia, e-commerce, and investment banking.

Mykola Kolisnyk

Mykola has been working in test automation since 2004. He has been involved with various activities including creating test automation solutions from scratch, leading test automation teams, and working as a consultant with test automation processes. During his working career, he has had experience with different test automation tools such as Mercury WinRunner, MicroFocus SilkTest, SmartBear TestComplete, Selenium-RC, WebDriver, Appium, SoapUI, BDD frameworks, and many other different engines and solutions. He has had experience with multiple programming technologies based on Java, C#, Ruby, and so on, and with different domain areas such as healthcare, mobile, telecoms, social networking, business process modeling, performance and talent management, multimedia, e-commerce, and investment banking.

Who is the target audience?
  • Anyone who is new to UI Automated Testing and who wants to master it
  • Senior UI Automated Testing specialists looking for different approaches in the area
Students Who Viewed This Course Also Viewed
Curriculum For This Course
27 Lectures
03:12:41
+
Introduction and Initial Setup
2 Lectures 24:26

This video provides an overview of the entire course.

Preview 04:48

This is the initial video for the course where we introduce you to the topic, define goals, and perform initial setup.

Overview of Test Frameworks and Setup
19:38
+
Writing Sample Tests
4 Lectures 19:00

Here we create some initial test scenarios and apply the basic enhancements.

Preview 05:58

In this video, we'll add an ability to configure tests to run under different environments with different settings

Adding Configuration
05:54

In this video, we will talk about the data-driven approach, what it is, and where it is applicable.

Data-Drive Tests
03:37

In this video, we'll take a look at the enhancements required to make our tests running concurrently, in parallel to each other.

Adapting Tests for Parallel Execution
03:31
+
Wrapping Controls and Pages
5 Lectures 27:29

Linear recorded tests are too sensitive to changes. We need to add an unified structure to keep proper references to objects we interact with. Before going to the implementation, we need to define a general approach, design, and steps.

Preview 06:53

A simple recorded test has a lot of duplications, especially, when we interact with the same control multiple times. The solution is to create classes containing functionality interacting with specific control.

Wrapping Controls
06:04

Pages can be represented as dedicated classes where fields reflect the control. Each page class contains functionality applied to the entire page. This brings a solid structure to the test framework.

Wrapping Pages
04:59

Pages initialization can be either simple or complex. Having Page Factory, we can initialize pages in a uniform way.

Adding Page Factory
06:19

Screenshots are useful to give actual application under test view, especially, in case of error.

Generating Screenshots
03:14
+
Complex Cases for Pages and Elements
4 Lectures 36:56

The same set of tests can be run against different environments and even different platforms. Although elements and interaction with them can be the same, it’s very likely that some object identifiers (especially for different platforms) are different. We need an unified approach for elements location to keep compatibility with all supported platforms.

Preview 12:21

There are some elements which are extensions of standard controls or at least they can be interacted using similar interface as for some standard control. For this purpose, we need to make some small extensions to standard control classes to map custom control to.

Customizing Control Interaction
06:26

There are controls which may contain some repetitive groups of sub-elements we can interact with separately. In order to have an unified way of interacting with such dynamic elements we need to create a common control class which interacts with the entire control and/or individual sub-items.

Dealing with Sub-Elements
10:23

Verifications are a very important part of the automated test, and verifications can be of several types. We need to define the types of common verifications and extend test solution with new functionality performing those checks.

Additional Verification Functionality
07:46
+
Object Driven Framework
4 Lectures 26:40

Object Driven approach is just another approach for tests design and organization. Before trying to do it, we need to get introduced to major ideas behind the approach as well as core design.

Preview 07:57

When we have the design of the Object Driven framework we need to implement it.

Creating the Object Driven Engine
06:40

When steps are independent objects, they have different memory space and some values aren’t accessible. At the same time, it’s needed to operate with the data that is retrieved in one step and used in another.

Transferring Data between Steps
04:34

Once we have the Object Driven testing engine the final proof of concept is to write a sample test. It will show how tests can be designed and what additional enhancements can be used.

Apply the Approach to Tests
07:29
+
Keyword-Driven Framework
4 Lectures 34:28

Keyword-driven approach allows representing tests in human readable form associating some phrase with the actual code. We need to get introduced to the idea and some implementation of it.

Preview 09:14

The keyword-driven approach operates with human readable resources. At the same time element identifiers can be too technical. There should be the way to associate an actual object identifier with some logical name.

Giving Informative Names to Pages and Elements
09:32

In order to use the keyword-driven framework in full scale we need some major pack of keywords to implement.

Major Set of Keywords to Implement
09:57

Previously keywords for simple elements were implemented, but we also have compound elements. They may also need individual keywords dealing with sub-elements.

Additional Keywords for Compound Elements
05:45
+
More Tricky Functionalities
4 Lectures 23:42

SpecFlow keywords are associated with methods which are independent on each other. But data is still needed to be processed across the steps. Sometimes we need better control and visibility on data transfer.

Preview 07:11

Sometimes, in keyword-driven tests, we need to make comparison not just with the precise value but also with the value which is the result of some math expression. This can be done smoothly by explicit expression definition.

Evaluating Expressions
06:46

Parallel run is very useful capability for testing solution. SpecFlow doesn't provide it out of the box. But there are some solutions which can help us with it.

Parallelizing SpecFlow
02:57

We're about to end the course. We need to make a summary of it as well as define what topics can be covered next.

Final Overview and What's Next
06:48
About the Instructor
Packt Publishing
3.9 Average rating
7,336 Reviews
52,506 Students
616 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.