Testing Safari on iOS
With TestArchitect, automated tests may be created and run on web applications running within Safari on iOS.
- Testing Safari on iOS must be done via USB cable connection.
- TestArchitect does not support capturing native iOS dialog boxes - that is, ones that, regardless of origin, are posted by the operating system rather than directly from the application. (An example of such a dialog box would be one displaying the message <app name> Would Like To Use Your Current Location, which originates from an application submitting a request to iOS, which then presents the popup.)
Supported iOS versions
TestArchitect supports the testing of web applications running within the Safari browser on the following iOS versions:
- iOS 8.4
- iOS 9.3.x, iOS 9.2.x, iOS 9.1, iOS 9.0
- iOS 10.3.x
- iOS 11.4
Technological approach
Remote debugging is a remote web inspector for debugging web applications on iOS devices. The following configurations must be set up to allow remote debugging to be performed:
- Physically connect the iOS device to the TestArchitect controller via USB cable during test automation.
- Enable Web Inspector on the iOS device. (Learn more.)
Event-fired action model: TestArchitect attempts to effectuate built-in actions in a manner that is as close as possible to real user actions. In most cases, for each given UI action, TestArchitect calls a sequence of events as follows. (Refer to List of supported Safari iOS built-in actions.)
Built-in actions Applicable controls Sequence of events triggered click, tap all controls touchstart > touchend > mouseover > mousedown > focus > mouseup > click click table cell table touchstart > touchend > mouseover > mousedown > focus > mouseup > click set list check ul, ol touchstart > touchend > mouseover > mousedown > focus > mouseup > click select, click list item select-one, select-multiple click > change set input-checkbox, input-radio touchstart > touchend > mouseover > mousedown > focus > mouseup > click enter, set input-text, input-password, input-search, input-tel, input-url, input-email, input-number keydown > keypress > input > keyup > change
Safari iOS testing prerequisites
Guides to setting up Safari iOS automation under TestArchitect.
Invoking Safari on iOS during automation
There are two methods by which Safari may be invoked on iOS devices:
Handling JavaScript popups on Safari iOS
TestArchitect offers a special set of actions for interfacing with JavaScript popups, which include alerts, prompts and confirmation dialogs.
List of supported Safari iOS built-in actions
Built-in actions supported by TestArchitect for testing Safari on iOS.
Limitations and workarounds of testing Safari on iOS
This topic categorizes some limitations you might encounter in testing web applications in Safari on iOS. Applicable workarounds, if available, are also discussed.