I looked at my mobile testing options and I realised that I didn’t have a full toolbox to help me. Particularly in terms of screen recording.
Note that I’m not really covering static screen capture here, since short cuts are built into each operating system for static capture.
Android Screen Capture
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:
- Android Screen Cast
- https://code.google.com/p/androidscreencast/
- Faster than Droid@Screen
- But a bit flakey on my machine and threw some errors. I tried it on Windows 8, it might work well on other machines.
- AShot
- http://sourceforge.net/projects/ashot/
- Looks Good, but hung on my Windows 8 machine after one screenshot. It might work for you.
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
IOS - Apple
iOS is pretty locked down. And without jail breaking, your options are limited.
However, iOS has a built in screen sharing capability called AirPlay, designed to be used for streaming to your Apple TV. But that hasn’t stopped some enterprising developers building AirPlay servers for both Windows and Mac OS computers.
Both applications are easy to use and offer much the same capability, so which you choose will depend on your evaluation on the machines you use.
Both are insanely affordable. And both have a version for Windows and Mac OS.
AirServer offers more configuration options, although it worked fine out of the box for me. AirServer offers a 7 day trial.
Reflector offers a trial where you can star as many sessions as you want. But each session only lasts for 10 minutes.
To capture your on-iOS-testing, ‘airplay’ the iOS screen to your desktop or laptop computer, and then use a screen recording tool like Camtasia, BB Flashback (or its big brother BB Test Assistant) and capture the screen movies there.
This doesn’t let you interact with the actual iOS device from your computer, but goes some way to making your testing recordable and reportable.
IOS demo video
What do you use when you test on mobile devices to record the testing you perform?