FoneMonkey

FoneMonkey records and plays FoneMonkey commands. For each kind of user interface action there is a corresponding command. Some examples of commands are Touch, Scroll, and Shake. FoneMonkey commands can be stored and run from script files, or can be created programatically via the FoneMonkey API.

Commands are written as:

CommandName ComponentType "MonkeyID" Parameters, ...

where

CommandName identifies the command to be executed.
ComponentType is the Objective-C class name (or any super class name) of the component to receive the command. If componentType is omitted, it defaults to UIView (ie, any component).
"MonkeyID" is a quoted string that uniquely identifies which instance of the component's class should receive the command. If there is only one instance of a particular type, monkeyID may be omitted.
Parameters, .... are zero or more command-specific parameter values in CSV format.

Parameters are often optional for a particular command. For example, the Touch command takes 2 arguments corresponding to the x,y coordinate of the touch event within the view. If you specify a Touch command without any parameters, the Touch will be located in the center of the view.

If you're unsure of what command to use to generate a desired UI operation, simply start the FoneMonkey recorder and record the action.

By overriding recording and playback methods, it's easy to add your own commands to FoneMonkey or customize existing commands. See the FoneMonkey Extension Guide for more information.

Some Command Examples

Touch the "Done" button:

Touch UIButton "Done"

Touch the PaintingView at coordinate (25, 75):

Touch PaintingView 25, 75

Enter fred into the "First Name" field:

InputText UITextField "First Name" fred