Open UIAutomation.framework for use with Objective-C
| Originator: | gordon | ||
| Number: | rdar://15460129 | Date Originated: | 13-Nov-2013 01:19 PM |
| Status: | Open | Resolved: | |
| Product: | iOS SDK | Product Version: | 7.0 |
| Classification: | Enhancement | Reproducible: | Not Applicable |
The UIAutomation framework is incredibly powerful, and opens up really exciting possibilities for real UI level acceptance testing on iOS. However, the current implementation is crippled by the fact that the framework is hidden away behind a layer of Javascript, and interacting with the framework requires you to jump to Instruments, forcing the developer to switch mental contexts. Some great people have tried to rectify this by creating frameworks that wrap UIAutomation, such as Bwoken[1]. And there have been some proof-of-concept attempts to open the framework to developers, such as PublicAutomation[2], which is currently being used by Frank[3] to bring the acceptance testing techniques used by the Ruby community to iOS. These frameworks are a step in the right direction, but if UIAutomation.framework were to be made public, the possibilities would be endless. Creating acceptance tests that run from inside an XCTest suite would be trivial to write, and we would have a much more comprehensive test suite to work with, leading to fewer bugs and better apps. Given the recent improvements made to unit testing in Xcode 5, and the introduction of XCTest, I would love to see this framework made public for developers to take advantage of so that we can test our applications more thoroughly. [1]: http://bendyworks.github.io/bwoken/ [2]: https://github.com/moredip/PublicAutomation [3]: http://www.testingwithfrank.com/
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!