If you have been looking for a firebug like application for inspecting an iOS mobile application DOM, let me introduce you to Symbiote from Pete Hodgson. We discovered this tool as we were adding support for the Frank Mobile Automation Testing into our Awetest Framework. Symbiote is an embedded web server that is added to the iOS app when you “Frankify” the app with libraries from Frank. Symbiote enables you to inspect the current page UI hierarchy to see the accessible elements which can be used for test case development and script level validations. As you move from screen to screen in the app, the Symbiote UI elements and accessible elements change; This gives feed back for you to complete your test case. To get started:

  1. Download Frank
  2. Install Frank
  3. Open your Xcode project
  4. Frankify your native app (see the install video link in step 2 above)
  5. Compile and open the Simulator with your app
  6. Open the symbiote viewer app by using the URL http://localhost:37265 in a browser
  7. Install cucumber via command line
  8. Create a test case in cucumber and add the file to the feature folder. Use the Symbiote viewer here!
  9. Run the test case against the app from the command line by typing ‘cucumber’
  10. Your test case will run. Use the Symbiote viewer to view the run if needed.

Using Symbiote dramatically improves the speed of your test case development in Frank. As a technology the Awetest framework fully supports the creation of test cases in Frank and also improves the test case development cycle by adding specific value-added features. For example if you ran your test cases through Awetest you could do the following:

  • Schedule your test case to be run in the future
  • See detailed reports with pass/fail/validations and screenshots
  • Run against remote machines
  • Target the test case to be run against iPad/iPhone and specify the iOS SDK
  • Run multiple scripts at the same time
  • Split test cases across multiple simulators
  • Export reports to PDF, Excel
  • Use and manage a group of simulators for test case runs
  • View Symbiote during the test case run on remote machines

View Locator tab of Symbiote