How to use monkey and monkeyrunner tools for android testing?

吃可爱长大的小学妹 提交于 2019-12-03 12:12:51
adb shell monkey -p com.bla.yourpackage -v 1000

First is your package that you want monkey to run in and be restricted to. Second is i verbose mode, third is number of events to run.

You can find out more by doing adb shell monkey -help

einverne

Here are some useful tips when using monkey test.

Specify one activity

Add category in manifest:

<activity android:name="MonkeyActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.MONKEY" />
    </intent-filter>
</activity>

and use command like this:

adb shell monkey -p my.package -c android.intent.category.MONKEY -v 500

Prevent notification disturb

In Android 5.0+ you can use the feature Screen Pinning.

  • open this feature in "settings" > "security" > "screen pinning"
  • click recent/multitasking button beside home button
  • click the green pin icon to pin the Application you want to test

then run your monkey test.

stop monkeyTest

Use the following command to stop monkey test:

adb shell ps | awk '/com\.android\.commands\.monkey/ { system("adb shell kill " $2) }'

reference

monkey and monkeyrunner are different tools.

Monkey

You can run monkey from adb shell, then it will generate pseudo-random streams of user events. You can specify some conditions and constraints for the execution of these events (see documentation)

The basic syntax is:

$ adb shell monkey [options] <event-count>

Monkeyrunner

monkeyrunner is an API to control an Android device or emulator from outside of Android code, as the documentation defines. You can basically write Python scripts that describes some actions to be executed on target device.

Sample Program

Quoting Android Developers documentation:

The monkeyrunner tool is not related to the UI/Application Exerciser Monkey, also known as the monkey tool. The monkey tool runs in an adb shell directly on the device or emulator and generates pseudo-random streams of user and system events. In comparison, the monkeyrunner tool controls devices and emulators from a workstation by sending specific commands and events from an API.

Febin K R

These three steps should help you set it up:

1 ) Get inside this directory - ~/Android/Sdk/platform-tools

2) Start server - ./adb start-server

3) Command to test 5000 random keystrokes in your app - ./adb shell monkey -p your.package.name -v 500

For more information check this out. https://developer.android.com/studio/test/monkey.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!