Friday, 4 October 2013

Android Screen Capture, Streaming and ScreenRecording tools for Mobile Testing

I looked at my mobile testing options and I realised that I didn't have a full toolbox to help me.

I first wanted to identify screen capture and screen recording options for my Android devices.

Most of the tools I found wanted root devices. When testing, you may not have this option, people might come across paranoid about interfering with the device state.

So I limited myself to tools which did not require root access. They all pretty much work the same way using ADB and Debugging over USB enabled.

If you bought all tools that I recommend in here, then the total cost would hit the dizzying height of £8.98, so I don't see a lot of point trying to roll my own solution.

To use these tools you pretty much need to have a working SDK setup. So work on that first. And if you can connect to your device with adb or monitor.bat then you're probably good to go.

http://developer.android.com/sdk/index.html

In order to record the screen for some of these I use them in combination with a desktop screen recording tool like Camtasia or the Blueberry Software tools BB FlashBack or BB Test Assistant

Free and Open Source Tools

Both Droid@Screen and Android Screen Monitor offer much the same functionality. I think your ultimate choice will depend on which GUI you prefer.

Droid@Screen



Droid@Screen is a pretty good wrapper around the adb.

The main GUI display shows a continually refreshed view of the device.
  • You can take a screenshot very easily. 
  • The main GUI has easy orientation buttons to adjust the GUI display for landscape or GUI.
  • You can capture screenshots to a folder automatically.
  • You can view device properties
  • You can scale the output view
On my Samsung Galaxy Note II the refresh rate was a little slow (about 1 - 2 frames per second), but it is a pretty high res screen. For lower resolution screens you might find that you can use this for screen recording as well.

Android Screen Monitor



Much the same as droid@screen, the GUI is simpler with a right click menu instead of icons.

Sometimes this is a little faster than droid@screen, sometimes droid@screen is a little faster.

Commercial

ASC - Advanced Screen Capture



ASC performs on device screen capture, so it writes a movie file to the phone's memory. It has a bunch of options to adjust framerate. What I particularly like is that it will highlight the taps you make on the screen so you can view the interaction on the device.

On non rooted devices requres you to use an 'activation' program on the PC or mac. The desktop activator program acts as a simple way of making a connection to your device and taking a screenshot, so an easy way of accessing some of the sdk funtionality.

Looking at the popups as the screen 'activates' it is using adb in some way - I assume to enable the android screenshot api.

Application description on the play store says it only works on non-Tegra devices. The trial worked fine on my Samsung Galaxy Note II.

Buy through an in-app purchase for £3.99

Activation Notes: I had some trouble activating it after purchase, but after a few emails with the developer. I had to uninstall it, then re-install it, then click the 'buy' again (I wasn't charged twice). The activation does work, but a bit more fiddly than it needed to be.

VMLite VNC Server

Costs £4.99

A desktop program to start the server on your phone if you work non-rooted.

Once the server runs I can head off to http://<deviceip>:5801 to use the HTTP interface.

Or connect a desktop vnc server to <deviceip>:5901 

The HTML5 viewer was about the same as Droid@Screen or Android Screen Monitor. 

The Java Applet VNC is a little faster, and the best out of the desktop tools I tried.

The video was not as smooth as ASC, but remember that this has the advantage that I can interact with the android device as well from the desktop and use my mouse and keyboard.


Used But Can't Recommend Fully

I also tried a couple of other Open Source Tools, but they didn't work well on my machine, that doesn't mean they won't work on yours, so I list them below:

Summary

A mix of tools there:
  • Desktop Connection for Screenshots and low frame rate streaming
  • VNC for higher framerate and interaction
  • On Device Capture for High Frame Rate
What do you use when you test on mobile devices to record the testing you perform? Leave a comment and let myself and the world know, so we can evaluate the tools you recommend and expand our options.

1 comment:

  1. I've found android screen stream: https://play.google.com/store/apps/details?id=com.mobzapp.screenstream.trial
    I send my screen and watch it with VLC on my PC and my other phone, works great for me

    ReplyDelete