PMC2013
PMC2013

Reputation: 35

Coded-UI Auto Generate UIMap

I have been looking into using MS Coded-UI as part of a new testing initative. We have exisitng UI automation using the HP stack QC/QTP but have found this to be very heavy weight and error prone, and as a result are looking to coded-ui in a bit to move our automation stack closer to the dev stack.

I am testing a wpf application running on windows 7 desktop, primarily on .net 4.5.

I have 2 questions.

  1. Is it possible to auto generate the UIMap? Could i use a top level UITestControl object, find this and iterate over to generate a map of all subsequent children?

  2. As part of continuous integration, is it possible to look coded-ui tests into a TFS build cycle? I am using visual studio 2012 ultimate but only 2010 instance of TFS. I assume these really all need to be in sync in order to pull this off correctly?

Upvotes: 0

Views: 466

Answers (2)

Samusko Oleksandr
Samusko Oleksandr

Reputation: 11

First question: there is not functionality to discover all children of some top-level parent control. But you can start Coded UI Builder, star recording and click or interact in another way with all controls you are interested in(it takes like a minute even for a window with a lot of children controls). That click Generate, name method like Dummy or whatever. All controls will be added to UI Map, and you can change search properties, names etc.

Second question: It is possible to set up continuous integration flow including Coded UI tests - build, deploy, test. Create new Build definition, use LabDefaultTemplate.xaml template for it.

Upvotes: 1

Wouter de Kort
Wouter de Kort

Reputation: 39888

Regarding your first question, you can create Coded UI tests manually by recording your actions through Visual Studio or by using an existing action recording from Microsoft Test Manager.

Since a Coded UI tests is just plain code (C# or VB) you an easily edit it and add extra control logic.

Regarding your second question, it's absolutely possible to run your Coded UI tests as a part of your continuous integration build.

You have a couple of options:

  • Run your Coded UI tests on your Build Server. If you configure your Build Agent for Interactive use, you can let it run Coded UI tests. This is not my favorite option.
  • Use Lab Management with virtual environments (requires Hyper-V and System Center Virtual Machine Manager) or with Standard Environments. By using Lab Management you can automatically deploy to test machines and execute Coded UI tests on them.
  • Use Release Management in combination with Microsoft Test Management. This allows you to setup continuous deployment and run Coded UI tests on your target servers.

Lab Management with Standard Environments is the easiest to get started with, especially since you have an Ultimate license which includes Microsoft Test Manager.

Release Management is new and added to TFS 2013 for deploying to machines from test to production. It's a very nice solution but it currently doesn't integrate with Lab Management.

Upvotes: 2

Related Questions