Monkey Test
This address: Http://blog.csdn.net/caroline_wendy
First, monkey test introduction
Monkey Testing is a means of automated testing for Android platforms, simulating user touch screens, sliding trackball, keystrokes, etc. via the monkey program
To stress test the program on the device, An exception occurs when the program is detected for a long time.
ii. Introduction of Monkey procedure1) Monkey program is brought by Android system, written in the Java language, the storage path in the Android file system is:/system/framework/monkey.jar;
2) Monkey.jar Program is a shell script named "Monkey" to start execution, shell script in the Android file system storage path is:/system/bin/monkey;
Perform monkey tests:
adb shell Monkey {+ Command parameter}
Iii. Help for the monkey command
To get the simple help that comes with the Monkey command, execute the command in CMD:
ADB Shell Monkey–help
iv. introduction of monkey command Parameters1) Parameter:-P
The parameter-P is used for constraint restrictions, and this parameter specifies one or more packages (the package, or app).
After specifying the package, Monkey will only allow the system to start the specified app;
If you do not specify a package, Monkey will allow the system to boot all apps in the device.
* Specify a package:
adb shell monkey-p com.htc.Weather 100
Description: Com.htc.Weather is the package name, 100 is the event count (i.e. let the monkey program simulate 100 random user events).
* Specify multiple packages:
adb shell monkey-p com.htc.weather–p com.htc.pdfreader- p com.htc.photo.widgets 100
* Do not specify a package:
adb Shell Monkey 100
Description: Monkey randomly launches the app and sends 100 random events.
* To view all the packages in the device, execute the following command in the cmd window:
>ADB SHELL#CD Data/data#ls
2) Parameter:-VUsed to specify the level of feedback information (the level of information is the verbosity of the log), with a total of 3 levels, respectively, with the corresponding parameters as shown in the following table:
Log levels Level 0, example:
adb shell monkey-p com.htc.weather–v 100
Description: A default value that provides only a small amount of information, such as startup hints, test completion, and final results.
Log levels Level 1, example:
adb shell monkey-p com.htc.weather–v-v 100
Description: Provides a more detailed log, including each event message sent to the activity
log Levels Level 2, Example:
adb shell monkey-p com.htc.weather–v-v–v 100
Description: The most detailed log, including the selected/unchecked activity information in the test.
Modify the log storage location so that it is stored in the phone, the exception is pull into the computer:
2>/sdcard/error.txt 1>/sdcard/info.txt
Pull command:
ADB Shell Pull/sdcard/error.txt desktop/error.txt
3) Parameter:-S
Used to specify the seed value of the pseudo-random number generator, and if the seed is the same, the sequence of events produced by the two monkey tests is the same.
Example
adb shell monkey-p com.htc.weather–s 100adb Shell monkey-p com.htc.weather–s 10 100
The effect of the two Tests is the same, because the simulated sequence of user actions (a sequence of operations consisting of each operation in a certain order) is the same.
The sequence of operations is randomly generated, but as long as we specify the same seed value,
It is guaranteed that the sequence of random operations generated by the two Tests is exactly the same, so this sequence of operations is pseudo-random;
4) Parameters:--throttle < ms >
Used to specify the delay between user actions (that is, events), in milliseconds, as an example:
adb shell monkey-p com.htc.Weather--throttle 3000 100
Note: Delay 3 seconds, execute 100 times;
5) Parameter:--ignore-crashes
Lets you specify whether monkey stops running when the application crashes (force & Close error).
If you use this parameter, even if the application crashes, monkey will still send the event until the event count is complete.
* Example 1:
adb shell monkey-p com.htc.Weather--ignore-crashes 1000
even if the weather program crashes during the test, Monkey continues to send events until the number of events reaches 1000;
* Example 2:
adb shell monkey-p Com.htc.Weather 1000
During the test, if the weather program crashes, Monkey will stop running.
6) Parameter:--ignore-timeoutsUsed to specify whether monkey stops running when an application has a ANR (application No responding) error.
If you use this parameter, monkey will still send events until the event count is complete, even if the application has a ANR error.
Usage is similar to ignoring crashes:--ignore-crashes
7) Parameter:--ignore-security-exceptionsused to specify whether monkey stops running when an application has a licensing error (such as certificate licensing, network licensing, and so on).
If you use this parameter, monkey will still send events until the event count is complete, even if the application has a licensing error.
8) Parameter:--kill-process-after-errorlets you specify whether to stop the application from running when an error occurs.
If this parameter is specified, the application stops running and remains in the current state when an application error occurs (note: The application is only stationary in the state where the error occurred and the system does not end the application's process).
9) Parameter:--monitor-native-crashesused to specify whether to monitor and report local code for application crashes.
10) Parameters:--pct-{+ Event Category} {+ Event category%}used to specify the percentage of events per category (in the Monkey event sequence, the number of such events as a percentage of the total number of events)
Parameters:
Instructions for use:
Example:
--pct-touch {+ percent}
Adjust the percentage of touch events (Touch event is a down-up event that occurs in a single location on the screen)
adb shell monkey-p com.htc.Weather--pct-touch 10 1000
--pct-motion {+ percent}
Adjust 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)
adb shell monkey-p com.htc.Weather--pct-motion 20 1000
--pct-trackball {+ percent}
Adjusts the percentage of track events (track events consist of one or several random movements, sometimes accompanied by clicks)
adb shell monkey-p com.htc.Weather--pct-trackball 30 1000
--pct-nav {+ percent}
Adjust the percentage of basic navigation events (navigation events consist of up/down/left/right from the direction input device)
adb shell monkey-p Com.htc.Weather--pct-nav 40 1000
--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)
adb shell monkey-p com.htc.Weather--pct-majornav 50 1000
--pct-syskeys {+ percent}
Adjust 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)
adb shell monkey-p com.htc.Weather--pct-syskeys 60 1000
--pct-appswitch {+ percent}
Adjusts the percentage of startup activity. In a random interval, monkey will execute a startactivity () call as a way to maximally cover all activity in the package
adb shell monkey-p com.htc.Weather--pct-appswitch 70 1000
--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.
ADB Shell Monkey-p Com.htc.Weather
--pct-anyevent 100 1000* Specify the percentage of multiple types of events:
adb shell monkey-p com.htc.Weather--pct-anyevent--pct-appswitch 50 1000
Note: The total percentage of each event type cannot exceed 100%;
command:
Monkey-p com.lenovo.ideafriend--ignore-crashes--ignore-timeouts--ignore-native-crashes--pct-touch 30-s 1-v-v--thr Ottle 100000 2>/sdcard/error.txt 1>/sdcard/info.txt
v. Forcible termination of the monkey procedure:1) PS command
Find Uiautomator process, open command Line window input:
ADB Shell PS | grep Monkey
The first number returned, which is the process number of the monkey.
2) Kill command End process continue input
ADB shell kill [process number just found]
It is also possible to end other processes in the same way as other applications.
Android-monkey Test