By Amir Rozenberg
How to get ready for the test framework changes from Apple
As of iOS 10, Apple has announced deprecation of its legacy UI Automation framework. Instead, the official Apple testing framework for iOS is XCUITest framework. Perfecto is upgrading its iOS automation infrastructure to rely on the XCUITest framework for supported devices. Among other things, the XCUITest framework exposes a different object tree which will require adaptations in existing scripts. While Perfecto will maintain support for the deprecated UI automation infrastructure, it is Perfecto’s recommendation to our customers to begin the transition to the new automation infrastructure now.
Some of the benefits of adapting scripts to leverage the new automation infrastructure are:
- Improved readiness to support new iOS releases
- Appium 1.6 compatibility
- Enhanced script execution performance
- Support of new features (3D touch, Siri injection…)
More in-depth details about the changes are described here.
In this transition, Perfecto is offering several options to handle the transition:
- Perfecto Cloud Readiness
- First, we are making our clouds compliant with the new XCUITest-based automation infrastructure to allow automation on devices running iOS 10 (and later).
- For any device which supports UI Automation based infrastructure, customers will be able to continue using their existing scripts.
- As a result, customers will be able to continue running their existing scripts while adapting scripts and testing them by setting the relevant Appium capability "automationName" to "XCUITest"
- Improved Open Source Alignment
- As part of the cloud update to support the new XCUITest-based automation infrastructure, Perfecto clouds will support Appium 1.6 server side, so Appium scripts can run as-is in Perfecto
- In parallel, we are removing few proprietary Perfecto functions in favor of their Appium equivalents
- We plan to keep and increase functions that extend test coverage beyond what Appium provides.
- Documentation: Beyond the general communication on this topic, please see the detailed Perfecto guide here.
- Code Samples: Code samples are available, showcasing an XCUITest-based automation infrastructure scripts written in Appium, Quantum etc.
- Tools: As we anticipate significant effort in identifying object identifiers and functions that need to change as part of this transition, Perfecto will provide an analyzer that will reflect the changes needed in individual identifiers, test scripts or according to test executions in the cloud.
- Professional Services: In case the transition seems daunting or customers would like advice or guidance, please contact our customer success managers to coordinate relevant activity.