I want to start a series of entries regarding Firefox OS testing to compile all the stuff I discover and research about how to use this new mobile OS and how to do app testing in this platform. I have not the pretension to create something complex and deep but something that can help me and others to the right direction when struggling with a common problem/typical task.
For now, as testing devices are limited (but this may change soon with the release of the Keon and Peak devices) we will have to stay with the emulator or, if you have a spare one, some Android phones can be loaded with the software. As I don’t have one of the supported devices to test with, I’m going to stay, for now, with the emulator.
Mozilla has a great document describing the steps to download the latest available code, compiling it and generating the emulator images necessaries to boot it. I’m not going to reproduce these steps here, you can go to the B2G wiki and follow then yourself but I can tell you that it will take A LOT. Even with a good internet connection and a fast machine it took me a few hours to complete the whole process.
After finishing it, and if everything went smoothly, you can execute ./run-emulator.sh and get an Android emulator running the Firefox OS.
The OS itself is very immature at the moment, lacking on some features that will help us when doing a pentest but it is a good starting point for a mobile OS (and they have built-in Instangram-like photo filters on the camera app!). Some features I’m missing at the moment, at least on the emulator, is the ability to set a HTTP proxy between the device and the internet or to have a file browsing app built-in but for sure all those will appear as soon as developers start to adopt the platform.
All the apps, even the ones that come with the phone itself, like the texts app, phone app, contacts, settings, etc. are written on HTML5, using special DOM objects to access special functions that interact with the hardware itself. Even the lock screen is wrote on HTML! You can check the code under the folder gaia/apps/ for some of these apps.
I hope I have caught you interest for the platform and you give it a try to run the emulator at least on your machine and start playing with the platform. I’m continuing my adventure digging the code and the apps looking for stuff that may be helpful on the testing of an Firefox OS app and will share here my results.