Visual Studio CodedUI – Another control is blocking the control

An issue I have been running into while trying to automate our web application is that some controls appear to be blocked. I would get error messages like this:

Microsoft.VisualStudio.TestTools.UITest.Extension.FailedToPerformActionOnBlockedControlException: 
Another control is blocking the control. Please make the blocked control visible and retry the action.
 ---> System.Runtime.InteropServices.COMException: Exception from HRESULT: 0xF004F003

I removed some of the lines to keep the message short. The main point here is the text “Another control is blocking the control.”
Continue reading

Visual Studio CodedUI – Cannot perform ‘Click’ on the hidden control

Introduction

A few weeks ago, a colleague of mine – Marcel de Vries – gave a presentation on a wednesday evening as he regularly does. This time it was about Visual Studio CodedUI and I was instantly sold. Think of the time we could save on our project by automating our regression test set! I immediately set about (in my spare time, since nobody asked for this – yet) to try and automate a full run-through of the project I’m currently working on.

I chose the manual route of automating the various controls on the web application we’re developing, rather than using the record and playback feature. As I’m doing this, I sometimes run into things that require some investigation. I will use this article, and perhaps a few of the following articles, to discuss the issues I ran into and how I solved them.

I am automating a web application that was not built with automation in mind. As such, we did not add IDs to elements that did not strictly require them. Instead of changing that, I chose to view this as a challenge and see if I can still build an efficient set of page objects.

Cannot perform ‘Click’? Why not?

That’s what I was wondering. Continue reading

Visualizing Team Foundation Server source control history

I thought this was pretty cool:

I wanted to make something like this after seeing a similar visualization of the Minecraft source repository. Obviously it looks a lot better with multiple people working on a long running project, but my employer would probably not appreciate me posting images of their repository. So I used my repository from a little HTML5 Tower Defense game I started earlier this year.

Continue reading