Illuminator enables continuous integration for iOS apps. It makes it easy (well, easier) to write and debug sophisticated app tests. Additionally, it makes the entire UIAutomation apparatus more capable of handling high-volume automated testing -- providing features that are missing from Apple's "Instruments" application.
Illuminator is inspired by tuneup.js and mechanic.js, combining and improving the best features of both. Accessing UI elements can be done relative to a root element, by a fuzzy search of the element tree (easily extensible for app-specific capabilities), or by some combination of the two -- even if the element has not yet appeared on the screen.
Test scenarios in Illuminator are easy to create and easy to read (and if you need to generate hundreds of test cases, it can be done programmatically instead of manually). Managing a large test bank is simple as well; Illuminator can run test scenarios by name or by tag, and (intelligently) on either iPad or iPhone targets. Illuminator can even complete test runs in which the app crashes during one of the tests.
There are some test actions that can't be done through screen interactions alone (e.g. events that would put your app into the background; anything involving the camera, microphone, or other external devices; triggering network events to happen at planned intervals). Illuminator provides an RPC channel to expose these interactions -- enabling data to be passed betweent the app and the test script as appropriate.
- JUnit-formatted test reports
- Cobertura-formatted coverage reports
- Screenshot comparison capability with the ability to mask certain screen areas
- Run
bundle install
to set up ruby gems
- Quick start guide
- Selecting elements
- Working with elements
- Defining screens
- Writing tests
- Running tests via the command line with Ruby scripts
- The RPC channel
- Troubleshooting
Where-to-post summary:
- How do I? -- StackExchange
- I got this error, why? -- StackExchange
- I got this error and I'm sure it's a bug -- file an issue
- I have an idea/request -- file an issue
- Why do you? -- the illuminator-dev mailing list
- When will you? -- the illuminator-users mailing list
- When did you? -- the illuminator-users mailing list
- Anything you want to share privately: [email protected]