UI/Application Exerciser Monkey
For using monkey you need to install the ADB from Android SDK. ADB is the Android Debug Bridge which communicates with emulators and Android powered devices. You will find the adb under sdk > Platform tools.
Before running monkey, you need to get the package name so that your monkey stress test is run only on the AUT. For this we need to use Android Asset Packaging tool. You will find AAPT under sdk > build tools > 21.1.2 – aapt.exe
For pulling out the package name we need to use in cmd after redirecting to the path of the AAPT:
aapt d badging <File name>
This will give the package name along with other details
badging --> prints the label and the icon for the app declared in the apk
adb shell monkey –p <package name> -v <event count>
p --> will run monkey test only on the specified package
v --> will make the results of the monkey test more verbose
s--> seed, will ensure that the same events are triggered next time so it’s easier to reproduce.
UI AutoMonkey
For using UI AutoMonkey you need a mac machine with Xcode installed.
- Then you need to open the xcodeproject of the app from Xcode
- Profile > Products, build your application
- This will launch the app in simulator and also launch the Instruments template picker
- Select UI automation template
- Copy paste the js file in scripts
- Download it from here: https://github.com/jonathanpenn/ui-auto-monkey/blob/master/UIAutoMonkey.js
- At the top of the script, you'll see a JavaScript dictionary of configuration settings:
config: {
numberOfEvents: 1000,
delayBetweenEvents: 0.05, // In seconds
// Events are triggered based on the relative weights here.
// The event with this highest number gets triggered the most.
eventWeights: {
tap: 30,
drag: 1,
flick: 1,
orientation: 1,
clickVolumeUp: 1,
clickVolumeDown: 1,
lock: 1,
pinchClose: 10,
pinchOpen: 10,
shake: 1
},
// Probability that touch events will have these different properties
touchProbability: {
multipleTaps: 0.05,
multipleTouches: 0.05,
longPress: 0.05
}
},
- Hit play from bottom of the Instruments window to start the script
- It will execute the stress test on the app on the simulator
Android Screen Recording using ADB
adb shell screenrecord /sdcard/probwithlogin.mp4
Stop the screen recording by ctrl+c, max time limit is 3 minutes or timelimit set by –time—limit. The tool is recording the video in native display resolution and orientation.
Some points to consider:
- This will work on Android 4.4 +
- Audio is not recorded with video file