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.
Requirements
-
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.