Share via


Writing your own client using UITest Object Model

In my earlier series on extensibility of Coded UI Test, I mentioned that it is possible to write your own client using UITest Object Model i.e. use the recording for something else.  This post is targeted towards that.

The UITest Object Model today is pretty simple with 3 main classes -

  1. The UITest class – This class encapsulates a *.uitest file.  You can use this to create, save or read a .uitest file.
  2. The UITestInterpreter class – This class takes a UITest object and interprets it.  The actual interpretation depends on the UITestActionInvoker interface defined below.  For folks familiar with Gang of Four design patterns, this class is iterator that iterates through each action in UITest and for each action it calls a visitor which is UITestActionInvoker.
  3. The UITestActionInvoker class – This defines what needs to be done with each class.  There are 3 standard implementation of this in the product –
    • UITestActionInterpreter for playback of the action during fast forward of the actions from MTM.
    • ActionLogInterpreter for generating action log text for an action.
    • And an internal implementation for doing code generation for an action.

Refer the sample attached to this blog to see how all this fits in together and in action.  In the sample, I am using above extensibility to playback an action with audio. To use the sample,

  • Download and unzip the sample attached to this blog.
  • Build the sample.
  • Copy the PlaybackWithAudio.exe and PlaybackWithAudio.exe.config files to <VS Install Dir>\Common7\IDE.  Essentially this is same location as devenv.exe or CodedUITestBuilder.exe.  To do this, you can also take help of CopyDrop.bat file. (Note on 64 bit OS, the batch file should be run from 32 bit VS command prompt.)
  • Run the sample by doing -

PlaybackWithAudio <your UITest file>

The sample itself is pretty straightforward and you should be able to follow it.

PlaybackWithAudio.zip

Comments

  • Anonymous
    October 18, 2010
    Which UITest file we have to give in command while running this sample.

  • Anonymous
    October 18, 2010
    The *.UITest file generated by Coded UI Test feature in VS Premium or above.

  • Anonymous
    October 28, 2010
    Is it possible for you to create short youtube videos of your postings. Visual helps.

  • Anonymous
    October 28, 2010
    I am not sure video will help here.

  • Anonymous
    December 01, 2010
    very cool, I make sense this demo.

  • Anonymous
    December 15, 2010
    Attachment link is down: blogs.msdn.com/.../10003120.ashx

  • Anonymous
    December 15, 2010
    The comment has been removed