Open johnnylambada opened 8 years ago
We've been discussing this issue fairly heavily since WWDC in June, when Apple first announced this would happen. Within the past week, Apple has started closing radar bugs that we've filed against UIAutomation, citing that the project is "no longer supported".
Obviously, there is no future for this project in its current form -- no way to run it once Apple's UIAutomation goes away. We are hoping to retain (in XCTest) some of the major conveniences that we've written; the purpose of Illuminator is to make testing reliable, repeatable, and above all easy for developers to do.
We have plans to migrate the following features into the new XCTest environment:
We are aware of the following challenges in migrating Illuminator features into XCTest:
waitFor*
functions still be relevant? Will Illuminator's ability to share tests between different iPhone and iPad app implementations still be relevant? My feeling is that they will be.Now that Xcode 7 is finally out, we are able to start looking into these and other issues.
The short answer is that we have a lot invested (in terms of tests) in Illuminator, and our current plan is to support Illuminator as long as Apple supports UIAutomation. Whether our extensions to XCTest will be part of this project or another Apache-licensed project is currently unclear, but in either case we intend to provide a migration guide for all the features that we have.
We are currently blocked due to Apple's implementation of XCUIElement
, which appears to call XCTAssert
inside various properties (instead of throwing exceptions). OpenRadar issue is here, and forum thread started here.
This issue would affect any & all possible XCTest-based frameworks written in Swift or Objective C, as I have been unable to find a workaround -- avoiding the error since I can't catch it.
Now that iOS 8 support is being dropped in most places, a lot of the integration headaches we were having have disappeared. Swift 2.3 didn't hurt either.
I'm pleased to (finally) announce that we have a working Swift implementation (minimal for now) of Illuminator, in #99, which is now passing CI
The current roadmap:
debugDescription
call. Our needs are minimal here, so it should be stable in the long term even if the parsing needs periodic updating. That said, it will most definitely be a hack until further notice.xcpretty
. We may absorb some of that functionality, depending on what's necessary for screenshot supportProbably other things too.
We are operational in XCode 8, btw. I haven't tested 7.x
Hey All,
We're about to undertake a major rewrite of our UI tests and until a few days ago we were going to use illuminator. Then we discovered that UIAutomation is deprecated by XCode7. In light of that, can you shed some light on the future of illuminator? Are you going to allow for the same syntax on top of the new framework?
Reference: https://developer.apple.com/library/prerelease/ios/releasenotes/DeveloperTools/RN-Xcode/Chapters/xc7_release_notes.html (search for "Deprecation").
Thanks!