androidrandom-seedmonkeyandroid-device-manager

Using adb monkey seed across different devices/emulators


I am working on automating monkey testing for Android apps.

My question is, if I obtain the seed when monkey causes a crash, what are the requirements to use the seed to reproduce the crash again across devices?

Like Android os version, exact emulator. Is it even possible?

I couldn't find the exact seed requirements for using another device.


Solution

  • Is it even possible?

    That depends entirely on the nature of the crash and the steps the monkey took to trigger it on the original device.

    For example, if launching Screen 3 crashes immediately, so long as the monkey does something that triggers your app to navigate to Screen 3, it will reproduce the crash. However, whether the original seed will lead to that outcome is impossible to know in the abstract. All you can do is try it and see what happens.

    what are the requirements to use the seed to reproduce the crash again across devices?

    If it is not absolutely identical, running absolutely identical code, the monkey actions based on that seed might not reproduce the crash. Then again, it might. We have no way to know.

    In general, since the monkey is doing UI input, you would want the devices to be as close as possible from a UI standpoint, such as screen size and density. As a counter-example, if the devices have differing amounts of RAM or flash storage space, it is possible that those differences will not impact the monkey results.