Appium with iOS 8 and XCode 6 : What’s new?

appium_logo_rgb
After a number of fixes to Appium – iOS 8 branch, finally a new version of Appium (1.3.x) has been released with support for iOS 8.

Newer released version of Appium can be availed from this link.

A fewer weeks with all our iOS devices upgraded to iOS 8 and incompatibility of Appium 1.2.x with iOS 8 ohhhh!! 🙁

ios8

Anyways a fewer addition or modification to the existing configurations required in order to make it work with iOS 8 devices.

1. Download XCode 6 with iOS 8 SDKs

xcode-6

XCode 6 contains iOS 8 SDKs which is a necessity for automation run in an iOS 8 device. It can be downloaded/updated from App Store or can be downloaded from Apple’s portal externally.

2. Enable UI Automation in device itself:

We might be having the idea of enabling ‘Developer Options’ in Android devices in order to execute scripts. Well, a similar feature has been added with iOS 8. We need to enable UI Automation in Settings -> Developer menu so that UIAutomation can access the application to test with.

Please Note: Device needs to be connected to XCode 6 once before we see that option in the Settings menu.

3. Provide exact deviceName and platformVersion capabilities :

The name of the device to be provided with deviceName capability should match with the name listed under Window –> Devices in XCode.
If you have multiple iDevices connected having multiple iOS versions , we need to mention the exact iOS version in ‘platformVersion’ capability.

So if you have two devices connected- iPhone 5 (iOS 7.1) and iPhone 5 (iOS 8.1), the ‘deviceName’ capability shsould exactly match with the name of the device – iPhone 5 and ‘platformVersion’ needs to be set to the desired device iOS version- 7.1 or 8.1 .

So if we have multiple simulators with same name , we have to rename or delete duplicates.

Please Note: Download iOS 7 or 6 SDKs to XCode 6 , if tests to be run against iOS 7 and iOS 6 devices.

Happy Testing 🙂