Supported iOS Controls

Applies to TestComplete 15.65, last modified on July 17, 2024

TestComplete supports testing of various iOS controls. You can also modify project properties so that TestComplete recognizes your custom iOS controls. The sections below describe how you can test iOS controls in detail.

About Supported iOS Controls

TestComplete can recognize controls in iOS applications that have been prepared for testing. It checks a control’s class name and automatically associates it with the appropriate scripting object.

For recognized iOS controls, TestComplete provides a number of standard methods and properties that it provides for all tested and onscreen objects. In addition, TestComplete provides extended support for the most popular iOS controls (see below). It also provides a number of supplementary methods and properties that help you simulate various actions on controls, for example, selecting individual items in a list view or getting a control’s text.

Also, TestComplete provides access to “native” methods and fields of the recognized controls. You can use them to perform specific actions or retrieve data from a control, if other testing means are not enough.


  • 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 to check whether the plugin is active. If the plugin is not available, run the TestComplete installation in the Repair mode.

  • The iOS device, the iOS application under test and the computer where TestComplete is running must be prepared for testing. For complete information, see Preparing Applications, Devices, and Test Computers for iOS Testing (Legacy).

Supported Controls

Below is the full list of the iOS controls for which TestComplete provides extended support.

Note that TestComplete provides support for the listed controls as well as for their descendants. However, to make this possible, you need to specify the class name of your inherited control in the corresponding group of the project’s Object Mapping options. For more information, see Object Mapping.

Controls Classes
iOS ActionSheet UIActionSheet
iOS AlertView UIAlertView
iOS Button UIButton
iOS DatePicker UIDatePicker
iOS NavigationBar UINavigationBar
iOS PageControl UIPageControl
iOS PickerView UIPickerView
iOS ScrollView UIScrollView
iOS Segment UISegment
iOS SegmentedControl UISegmentedControl
iOS Slider UISlider
iOS Stepper UIStepper
iOS Switch UISwitch
iOS TabBar UITabBar
iOS TableView UITableView
iOS TextField UITextField
iOS TextView UITextView
iOS Toolbar UIToolbar
iOS WebView UIWebView, WKWebView

Recognizing Custom Controls

To command TestComplete to recognize your custom iOS controls, open your project’s Object Mapping options and add the control’s class name to the corresponding subgroup of the iOS Controls group. The subgroup name corresponds to your custom control’s type. Once the control is mapped, it gets all the properties, methods and actions specific to the iOS control of the corresponding type.

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.

See Also

Supported Controls
Testing iOS Applications (Legacy)

Highlight search results