<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE reference
  PUBLIC "-//OASIS//DTD DITA Reference//EN" "../dtd/reference.dtd">
<reference xml:lang="en-us" id="u_run-config-monkey-main">
  <title>Run Configurations (Monkey) dialog</title>
  <shortdesc>A "Test events with Monkey" run configuration brings together all of the information needed to execute the
    UI/Application Exerciser Monkey against a specific set of executables on a specific device instance, making it
    simple to repeatedly test those executables on that device instance.</shortdesc>
  <prolog>
    <metadata>
      <keywords>
        <!--<indexterm></indexterm>-->
      </keywords>
    </metadata>
  </prolog>
  <refbody>
    <section>
      <p>You can create different <term>run configurations</term> in order to test Android applications on real or
        emulated devices. A run configuration encapsulates all of the information relating to a single test scenario
        into a single entity. It identifies not only the specific packages to be exercised, but the device on which the
        test is to be run. By creating multiple run configurations, you can quickly and easily switch between them to
        try out different test scenarios.</p>
      <p>The Run Configurations dialog appears when you right-click a running emulator or connected device in the Device
        Management view and select <uicontrol>Test events with Monkey</uicontrol>.</p>
      <p>The Run Configurations dialog is organized into two tabs: <uicontrol>Main</uicontrol> is where you specify the
        device on which to run, the packages to be exercised, and the number of events to generate and send. <uicontrol
          >Options</uicontrol> allows you to fine-tune the events that are sent.</p>
    </section>
    <section>
      <title>Main tab</title>
      <simpletable>
        <strow>
          <stentry><uicontrol>Device</uicontrol>
          </stentry>
          <stentry>Specifies the running emulator or connected device on which the test is to take place.</stentry>
        </strow>
        <strow>
          <stentry>Package list</stentry>
          <stentry>Lists the packages to which events can be sent. Select those packages that should receive the events
            generated by the UI/Application Exerciser Monkey. You can select one or several packages; Monkey will limit
            its scope only to the selected packages. To select a single package, click it. To select a block of adjacent
            packages, click the first and then Shift-click the last. To select several individual packages, click the
            first one and then Control-click (Command-click, on Macintosh) the remaining packages.</stentry>
        </strow>
        <strow>
          <stentry><uicontrol>Event count</uicontrol></stentry>
          <stentry>Specifies the number of events to be generated and sent.</stentry>
        </strow>
      </simpletable>
    </section>
    <section>
      <title>Options tab</title>
      <p>Contains fields that allow you to further customize the way that that Monkey tests your applications. See the
        UI/Application Exerciser Monkey documentation provided with the Android SDK for information on the purpose and
        allowable values for each of these fields. Note that you can select <uicontrol>General</uicontrol> and supply
        options as command-line parameters, rather than as form values.</p>
    </section>
  </refbody>
</reference>
