Android Test Monkey

Source: Internet
Author: User

First, what is Monkey

Monkey is a command-line tool in Android that can be run in the emulator or in the actual device. It sends pseudo-random user event streams (such as key input, touch input, gesture input, etc.) to the system, enabling stress testing of the application under development. Monkey testing is a fast and effective method to test the stability and robustness of the software.

Ii. Characteristics of Monkey

1, the test object is only the application package, there are certain limitations.

2. The event stream data stream used by the Monky test is random and cannot be customized.

3, can set the Monkeytest object, the number of events, type, frequency, etc.

Three, an example of monkey test

Suppose you now have an Android device connected to a PC, the device is loaded with a test program, the package name of the program being tested is Com.tencent.android.fortest, and then:

Open CMD,CD to.. \android-sdk\platform-tools (if this directory has been added to the system path, the second step can be saved), enter the command adb shell monkey-p com.tencent.android.fortest3-v 50

It launches the specified application and sends 500 pseudo-random events to it, can see the Fortest program start, and there will be a lot of messy operations, the CMD Control window will be a lot of log, until the end.

Iv. Detailed usage of monkey

Monkey basic syntax is as follows:

$ adb shell monkey [options]

If you do not specify Options,monkey will start in a no-feedback mode and send events to all packages installed in the target environment. The following is a more typical command-line example that launches a specified application and sends 500 pseudo-random events to it:

$ adb shell Monkey-p com.google.android-v 500

The following is a list of all the options available for the Monkey command line.

--help

Lists the simple usage.

-V

Each-V of the command line increases the level of feedback information. Level 0 (default) provides less information than startup prompts, test completion, and end results. Level 1 provides more detailed testing information, such as events sent individually to the activity. Level 2 provides more detailed setup information, such as the activity that was selected or unchecked in the test.

Event

-S <seed>

The seed value of the pseudo-random number generator. If you run monkey again with the same seed value, it will generate the same sequence of events.

--throttle <milliseconds>

Inserts a fixed delay between events. This option slows down the execution speed of the monkey. If this option is not specified, the monkey will not be delayed and the event will be produced as soon as possible.

--pct-touch <percent>

Adjusts the percentage of touch events (a touch event is a down-up event that occurs in a single location on the screen).

--pct-motion <percent>

Adjusts the percentage of action events (an action event consists of a down event, a series of pseudo-random events, and an up event somewhere on the screen).

--pct-trackball <percent>

Adjusts the percentage of track events (the trajectory event consists of one or more random movements, sometimes accompanied by clicks).

--pct-nav <percent>

Adjusts the percentage of the basic navigation event (the navigation event consists of the up/down/left/right from the direction input device).

--pct-majornav <percent>

Adjust the percentage of primary navigation events (these navigation events usually trigger actions in the graphical interface, such as: 5-way keyboard, Fallback button, menu button)

--pct-syskeys <percent>

Adjusts the percentage of the System key event (these keys are usually reserved for use by the system, such as home, back, Start call, End call, and volume control keys).

--pct-appswitch <percent>

Adjusts the percentage of startup activity. In a random interval, monkey executes a startactivity () call as a way to maximally cover all activity in the package.

--pct-anyevent <percent>

Adjusts the percentage of other types of events. It includes all other types of events, such as keystrokes, other infrequently used device buttons, and so on.

Constraint restrictions

-P <allowed-package-name>

If you specify one or several packages with this parameter, monkey will only allow the system to start the activity in those packages. If your application also needs to access activity in other packages (such as choosing to take a contact), those packages need to be specified at the same time. If you do not specify any packages, monkey will allow the system to start the activity in all packages. To specify multiple packages, you need to use multiple-p options, and each-p option can be used for only one package.

-C <main-category>

If you specify one or more categories with this parameter, monkey will only allow the system to start activity that is listed by a category in these categories. If you do not specify any categories, MONKEY will select the Activity:Intent.CATEGORY_LAUNCHER or Intent.category_monkey listed in the following categories. To specify multiple categories, you need to use multiple-c options, and each-c option can only be used for one category.

Debugging

--dbg-no-events

Set this option, monkey will perform the initial boot, enter into a test activity, and no further events will be generated. For best results, combine it with-V, one or several package constraints, and a non-0 value that keeps monkey running for 30 seconds or longer, providing an environment to monitor conversions between packages called by the application.

--hprof

Set this option to generate the profiling report immediately before and after the monkey event sequence. This will generate a large file (~5MB) in the Data/misc, so use it with care.

--ignore-crashes

Typically, monkey stops running when an application crashes or any runaway exception occurs. If this option is set, Monkey will continue to send events to the system until the count is complete.

--ignore-timeouts

Typically, monkey stops running when an application has any time-out errors, such as the application not responding dialog box. If this option is set, Monkey will continue to send events to the system until the count is complete.

--ignore-security-exceptions

Typically, when an application has a licensing error (such as starting an activity that requires some permission), Monkey will stop running. If this option is set, Monkey will continue to send events to the system until the count is complete.

--kill-process-after-error

Typically, when Monkey is stopped due to an error, the application that is faulted will continue to be in the running state. When this option is set, the system will be notified of the process of stopping the error. Note that the normal (successful) end, and does not stop the process from starting, the device simply stays in the final state after the end event.

--monitor-native-crashes

Monitor and report crash events for native code in your Android system. If--kill-process-after-error is set, the system will stop running.

--wait-dbg

Stop monkey in execution until there is a debugger connected to it.

Android Test Monkey

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.