How to: Use UI Control Actions and Properties in Your Coded UI Tests

When you work with UI test controls in coded UI tests they are separated into two parts: actions and properties.

  • The first part consists of actions that you can perform on UI test controls. For example, coded UI tests can simulate mouse button clicks on a UI test control, or simulate keys typed on the keyboard to affect a UI test control.

  • The second part consists of enabling you to get and set properties on a UI test control. For example, coded UI tests can get the count of items in a ListBox, or set a CheckBox to the checked state.

Note

The Coded UI Test Editor lets you easily modify your coded UI tests. Using the Coded UI Test Editor, you can locate, view, and edit your test methods. You can also edit UI actions and their associated controls in the UI control map. The Coded UI Test Editor is included in the Microsoft Visual Studio 2010 Feature Pack 2. To download the feature pack, you must have either Visual Studio 2010 Ultimate, Visual Studio 2010 Premium or Test Professional 2010 with an MSDN subscription, Microsoft BizSpark, or MSDN Academic Alliance. For more information, see Editing Coded UI Tests Using the Coded UI Test Editor and Microsoft Visual Studio 2010 Feature Pack 2.

Accessing Actions of UI Test Control

To perform actions on UI test controls, such as mouse clicks or keyboard actions, use the methods in the Mouse and Keyboard classes.

To access UI test control actions by simulating the mouse

  • To perform a mouse-oriented action, such as a mouse click, on a UI test control, use Click.

    Mouse.Click(buttonCancel);

To access UI test control actions by simulating the keyboard

  • To perform a keyboard-oriented action, such as typing into an edit control, use SendKeys.

    Keyboard.SendKeys(textBoxDestination, @"C:\\Temp\\Output.txt");

Accessing Properties of UI Test Control

To get and set UI control specific property values, you can directly get or set the values the properties of a control, or you can use the UITestControl.GetProperty and UITestControl.SetProperty methods with the name of the specific property that you want you get or set.

GetProperty returns an object which can be cast to the appropriate Type. SetProperty accepts an object for the value of the property.

To get or set properties from UI test controls directly

  • With controls that derive from T:Microsoft.VisualStudio.TestTools.UITesting.UITestControl, such as T:Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlList or T:Microsoft.VisualStudio.TestTools.UITesting.WinControls.WinComboBox, you can get or set their property values directly as follows:

    int i = myHtmlList.ItemCount;
    myWinCheckBox.Checked = true;
    

To get properties from UI test controls

  • To get a property value from a control, use GetProperty.

  • To specify the property of the control to get, use the appropriate string from the PropertyNames class in each control as the parameter to GetProperty.

  • GetProperty returns the appropriate data type, but this return value is cast as an Object. The return Object must then be cast to the appropriate type.

    Example:

    int i = (int)GetProperty(myHtmlList.PropertyNames.ItemCount);

To set properties for UI test controls

  • To set a property in a control, use SetProperty.

  • To specify the property of the control to set, use the appropriate string from the PropertyNames class as the first parameter to SetProperty, with the property value as the second parameter.

    Example:

    SetProperty(myWinCheckBox.PropertyNames.Checked, true);

See Also

Tasks

How to: Generate a Coded UI Test by Recording the Application Under Test

How to: Add UI Controls and Validation Code Using the Coded UI Test Builder

How to: Generate a Coded UI Test from an Action Recording

How to: Create a Coded UI Test

Reference

WinControl

HtmlControl

WpfControl

UITestControl

GetProperty

SetProperty

Concepts

Testing the User Interface with Automated UI Tests

Best Practices for Coded UI Tests

Supported Configurations and Platforms for Coded UI Tests and Action Recordings