Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master
Fetching contributors…

Cannot retrieve contributors at this time

130 lines (103 sloc) 6.274 kB
layout title root-url simon-tab-class
Change Log

Version 0.3.0 2013

  • Total rethink and re-write of many core functions. Simon now works by looking for views and waiting for them to appear before applying taps and other actions. This is different to previous techniques.
  • Separated search functions from action functions to simplify the interfaces.
  • Removed all SI prefixes from macros as they where not necessary and made the resulting test code messy.
  • Simplified and redesigned the DSL behind the macros and methods.

Version 0.2.1 Nov 2012

  • Updated with new dNodi that can handle multiple attributes on a node. Now using a totally refactored dNodi.

Version 0.2.0 Nov 2012

  • Major new changes.
  • Added Pieman command line driver class.
  • Modified Simon so he starts up with a HTTP Server waiting for the Pieman to issue instructions.
  • Whole new set of command line args.
  • More unit tests.
  • Refactored and rebuilt the project and how it is assembled in XCode.
  • Lots of other changes.
  • Added -report option which turns on the command line output in Simon. This is now off by default.
  • Added -UI option to display Simon’s UI. By default Simon now starts up in HTTP command mode.
  • Lost of refactoring and new code.

Version 0.1.9, Aug 2012

  • Incremented minor version to 0.2.0 because we are adding HTTP functionality for CI build boxes.
  • Added the boolean property logActions to enabled/isable logging of actions to help debug.
  • Modifed the startup so that the SIAppBackpack is automatically loaded when the runtime starts. This removes the need to manually inject it in the main.m file.
  • Added a —autorun program argument which can be used to start the stories from running on startup. Otherwise a Ui is displayed.
  • Changed startup so that instead of loading the UI by default, it now starts a HTTP server which waits for commands.
  • Added isEmpty method to NSString+Simon category.
  • Implemented better filtering function for the UI display.
  • Seperated the UIAppBackpack into UI and Http versions.
  • Now storing state in a separate class rather than in variables.
  • Refactored all the notifications and UI handling code.
  • Added source, story, error code and message properties to userData associated with various notifications.
  • Refactored UI methods for triggering runs.
  • Added return NSError to loadStories method.

Version 0.1.8, April 2012

  • Moved execution recording and exception handling to SIStory to facilitate better reporting.
  • Refactoring the backpack and runner to enable running of individual tests.
  • Revamped UI for a better summary.
  • Refactored so that the UI can be displayed without running tests.
  • Added a search bar to the story report.
  • Added ability to rerun all tests and search test file names and titles.

Version 0.1.7, March 2012

  • Added a macro: SIIsViewPresent.
  • Renamed SITapControl to SITapView.
  • Renamed SISWipeControl to SISWipeView.
  • Modded SITapView to accept both a NSString *query and a UIView *view as a parameter and to return the view it tapped.
  • Modded SISwipeView to accept both a NSString *query and a UIView *view as a parameter and to return the view it swiped.
  • Cleaned up some old references in SIUIApplication.
  • Added new macros SIAssertViewPresent and SIAssertViewNotPresent.
  • Added new macro SIAssertLabelTextEquals.
  • Fixed issue where creating UITouch and UIEvents on a background thread would trigger a 0xbbadbeef crash.
  • Refactored SIUIEventGenerator into an abstract class.
  • Updated logging of UI to include all windows being displayed. This now picks up the keyboard.
  • Refactored event sending code and background sending detection. Now a lot simpler due to using blocks.
  • Removed caching of view handers because we simply don’t need it. Also made code simpler.
  • Added the SIEnterText macro.
  • New dNodi query attributes: protocol and isKindOfClass.
  • Moved processing of runtime and mappings out of the SIStoryReader.
  • Created a SIStorySources class to manage SIStorySource instances and handle selections.
  • Refactored SIAppBackpack out to SIUIAppBackpack and SIHttpAppBackpack.

Version 0.1.6, March 2012

  • Added more data to the display of a UI tree by breaking out the visitor code using the visitor pattern and delegate pattern.
  • Added handlers for UIButtons and UILabels so that the print tree function can work better.
  • Added label text, button titles, UIView tags, accessibility Identifiers, values and labels as attributes to be printed.
  • Updated dNodi to 0.3.4 to fix issues with name clashes on properties of nodes.
  • Added a new macro which waits for animations to finish on a specific UIView.

Version 0.1.5, March 2012

  • Switched in app report to avoid using the root view controller because not every app has one.

Version 0.1.4, March 2012

  • Fixed missing header.
  • Adjusted so that macros work in ARC projects.
  • Added ARC based test project.

Version 0.1.3, Febuary 2012

  • Rewrote the class scanning to be more reliable when analysing classes for find mappings.
  • Refactored the touch synthesis code.
  • Added swipe gestures.

Version 0.1.2, Feburary 2012

  • Updated dUsefulStuff to obtain access to a better error handling routine.
  • Added KVC complient view attribute analysis.
  • Adding assert macros.
  • Added new in app display of results.
  • Injected SIStepMapping into implementation classes storage area before call so class can access it. Mainly for testing.
  • Revamped output of reporting in log.
  • Updated to use dNodi (replacement for DXPath).
  • More work on UI utils.
  • More work on macros. Added assert macros.
  • Added shutdown button to in app report to shutdown Simon.
  • Added a UI based report for viewing results.
  • Lots more doco.
  • Removed passing a file to the backpack startup macro. Not really that useful.
  • Removed dependency on -all_load for categories as latest linkers no longer need it.
  • Got search attributes working with KVC values for UIViews.
  • Added basic shortcut macros for tapping.
  • Added custom exceptions.

Version 0.1.1, July 2011

  • Brought in dXPath to handle XPath queries against a UI.
  • Fixed bug in stripping story: prefix.

Version 0.1.0, July 2011

  • Initial release of code. See Readme.
Jump to Line
Something went wrong with that request. Please try again.