iOS SegmentedControl Support

Applies to TestComplete 15.64, last modified on May 16, 2024
The information below concerns legacy mobile tests that work with mobile devices connected to the local computer. In new cloud-compatible mobile tests, the test engine recognizes controls by their accessibility info.

About Support

Segmented controls in iOS applications group several segments and are used to provide a user with a choice among a set of options. A user can select a segment by touching it.

The image below demonstrates a sample segmented control containing three segments:

Segmented Control

TestComplete can recognize iOS segmented controls in iOS applications. It provides special properties and methods that let you retrieve the controls data and simulate user actions on the controls (see below).

Note: To work with individual segments in tests, use the iOS Segment test objects.


  • A license for the TestComplete Mobile module.

  • The iOS Support plugin. This plugin is installed and enabled automatically.

    If you experience issues when working with the controls, select File > Install Extensions from the TestComplete main menu and check whether the plugin is active. (You can find the plugin in the Mobile group.) If the plugin is not available, run the TestComplete installation in the Repair mode.

  • Your tested iOS application, the devices and the computer where TestComplete runs are configured in a special way as it is described in the topics of the Preparing Applications, Devices, and Test Computers for iOS Testing (Legacy) section.

  • The control’s class name must be specified in the iOS | Segmented control group. By default, this group contains the following item:

    • UISegmentedControl

    To command TestComplete to recognize instances of the specified class’s descendants as iOS segmented controls, select the Derived Classes check box next to the control’s class name.

Recognizing Custom Controls

To command TestComplete to recognize your custom controls as iOS segmented controls:

  1. Open your project’s Object Mapping options.

  2. Add the control’s class name to the iOS Controls | Segmented control group.

    If you do not know the control’s name, you can ask the control’s developers, or you can view the control’s ObjectClassName property in the Object Browser panel. As an alternative, you can click Add From Screen and select your custom control on screen. TestComplete will retrieve the control’s class name and add it to the selected mapping group automatically. For detailed information, see Object Mapping.

Once the control is mapped, it gets all the properties, methods and actions specific to the iOS segmented control.

If the specified custom control does not fit the control’s type, then it may not properly respond to commands that TestComplete sends, so recording or playing back user actions over the tested control will cause errors.


When testing iOS segmented controls, you can use properties and methods specific to these controls, as well as properties and methods that TestComplete applies to tested objects, onscreen objects and window objects. For the full list of available properties and methods, see the following topics:

See Also

List of iOS Controls
Testing iOS Applications (Legacy)
Working With iOS Segments and Segmented Controls

Highlight search results