Automating iOS and Android tests using Appium
Appium is a popular and widely used tool that can be employed to automate mobile-app testing for both the Android and iOS platforms. It can be used to automate native, m.sites, and hybrid applications. It internally uses WebDriver's JSON wire protocol.
Automating iOS Application tests
For automating iOS app tests, Appium uses XCTest or UI Automation (for older iOS versions):
- XCTest: You can use XCTest to create and run unit tests, performance tests, and UI tests for your iOS applications built for iOS 9.3 and higher. It integrates with Xcode's testing workflow for testing the iOS application. Appium internally uses XCTest for automating the iOS applications.
- UI Automation: For testing apps developed for iOS 9.3 and lower, you need to use UI Automation. Appium receives the commands from test scripts over the JSON wire protocol. Appium sends these commands to Apple Instruments so that they can be executed on the app that is launched in a simulator...