TestStack White: Find Elements using AutomationElement Extensions

Have you ever faced the issue where finding an UI element using TestStack White SearchCriteria API returns null? If yes, here are few alternatives that utilises the AutomationElement.

The alternative approach uses AutomationElement which is part of the Microsoft UI Automation API. Simply, it iterates through the children elements of AutomationElement of the White…

WPF ItemsControl with TestStack White

Problem If you are reading this blog most likely means you have been through the same unsuccessful experience I had of trying to get a WPF ItemsControl control via automation ID using TestStack.White API (v0.13.3) in order to carry on some UI test automation.

Acquiring a WPF ListBox via automation ID using White is simple job.…

Rx Sample Application: From Requirements to Implementation

Table of Contents IntroRequirementsRx ThinkingQuick DesignThe AppImplementationReactive ProviderReactive ConsumerSource Code Intro The purpose of this post is to put in practice and crystallise what we learnt in the Reactive Programming post. The deliverable of this post is a desktop application built with WPF (MVVM) and Rx. However, the concepts apply to any UI framework; web, mobile,…

Insights on Linq Count() vs Count Property

In this post I am investigating the difference between Count property and Count() extension method of the .NET enumerable. Below code snippet sets the scene of what we trying to answer.

As in the previous post will start by decompiling the System.Core 4.0.0.0 dll.

The Linq Count() extension method behaves differently based on the…

Insights on Linq Any() Performance

The Enumerable.Any<TSource>() is an extension method that lives in System.Core assembly under System.Linq namespace. If you are wondering what happens with the extended enumerable source then this is the right post. In the right gets enumerated or not then we would have to look at the implementation. In System.Core 4.0.0.0 the Any(…) method comes with two overloads which is worth investigating. Simply…