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:
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.”
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