Posts by Aaron Train

Site Compatibility Testing for Firefox for Android

Aaron Train

The Mozilla Developer Network has recently accepted an excellent
informational article written by Jason Smith, Lawrence Mandel, and Janet
Swisher essentially entailing the largely problematic issue of browser
and content compatibility with the mobile web. If you are interested in
site testing for Firefox for Android, please give the article a read;
and help us improve the web. Let us know if you have any questions about
compatibility testing or want to become involved in Mozilla’s mobile web
compatibility effort, please sign up for the mailing list.

Continue reading

Debug preference for testing H.264/MPEG-4 AVC in Firefox for Android

Aaron Train

Nightly for Android has recently adapted a new
about:config preference for using and more-so testing Android
H.264/MPEG-4 AVC decoding. The preference
is media.stagefright.omxcodec.flags

Utimately, this preference allows one to override whether Firefox uses
Android’s H.264/MPEG-4 AVC software or hardware decoder. As Chris
Peterson mentions in the same announcement, this is useful for
debugging different configurations and conveinent for testing.

Flags values to note:

  • 0 – Android will use either hardware or software decoding
  • 8 – Force software decoding
  • 16 – Force hardware decoding

Reference: OMXCodec::CreationFlags

Continue reading

Firefox for Android – Website Compatibility Testing

Aaron Train

Firefox for Android Testers,

Website compatibility testing will be a covered and focused area as part
of the release testing process for Firefox for Android 15.0, and we want
you to help us during our testing cycle.

We want you to use Firefox on Android (on the Aurora) channel to
assist us in identifying any noticeably major issues found in websites.
Issues can range from pages that do not look right due to layout and
positioning problems to interactivity and font related issues. We are
also looking for testing around top-sites to identify areas where
content served to Firefox differs from other mobile browsers.

How you can help us?

Bringing a better Firefox to Android will guide us all towards
fulfilling Mozilla’s mission of providing access to one Web that
everyone can access, regardless of device or location.

Continue reading

Destroy all the activities!

Aaron Train

These past few days, an influx of reports have
arrived with users reporting that the new Firefox on Android will
ultimately fail to properly load web-pages’as strongly convened
from investigating the multiple reports.

Turns out for whatever reason folks seem to be enabling a tucked away
Android 4.0 (Ice Cream Sandwich) developer option — ’Don’t keep
’ with the description:
activity as soon as
the user leaves it’, which means that Gecko is likely killed when a user
tries to visit a URL from the browser’s ‘Awesome Screen’.

As Kevin Brosnan points out in our tracking bug 769269,

It is a nice find and an interesting case. Moral of the story please
keep this developer option disabled to prevent destruction of all the

Continue reading

Android MonkeyRunner Automation

Aaron Train

A few folks have asked me what’s involved with my simple automation
script that ultimately produces screenshots of running browsers on
Android. It’s rather uncomplicated, I am using the monkeyrunner tool
that is bundled with the Android SDK. As the Android Developers
guide indicates:

The monkeyrunner tool provides an API for writing programs that
control an Android device or emulator from outside of Android code.
With monkeyrunner, you can write a Python program that installs an
Android application or test package, runs it, sends keystrokes to it,
takes screenshots of its user interface, and stores screenshots on the
workstation. The monkeyrunner tool is primarily designed to test
applications and devices at the functional/framework level and for
running unit test suites, but you are free to use it for other

Intended mainly as a tool for synthesizing input on Android, one can
also easily get a capture of the Android screen with its Python/Jython
API. The code below listens and connects to an Android device, loops
through a list of provided Android browser package/activities, visits a
site (provided by a CSV), waits a couple seconds for page-load (Hack!
How can I go about better doing this?), snaps a picture and writes it
out to a directory provided by argument.

from import MonkeyRunner, MonkeyDevice
import sys, csv

browsers = ['',

# Connects to the current device, returning a MonkeyDevice object
device = MonkeyRunner.waitForConnection()

#Start each browser activity with the provided URL
for run, browser in enumerate(browsers):

    # Visit each site
    for visit, site in enumerate(csv.reader(open(sys.argv[1]).readlines())):

        # Start the activity with the provided site
        device.startActivity(component=browser, uri=site[0])

        # Wait for page load timeout        MonkeyRunner.sleep(20)

        # Snap a screenshot of the running activity
        device.takeSnapshot().writeToFile("%s%s-%s.png" % (sys.argv[2], visit, run), 'png')

Continue reading

Call for Help – Testing Firefox on your Android Device

Aaron Train

As part of Mozilla Mobile QA’s release criteria for continually testing
Firefox on Android, we want to again extend our efforts in leveraging
the community for assistance in areas of device.

We want you to test and provide feedback in regards to how Firefox
operates on your Android device.

A problematic challenge we face is the ability to truly test and qualify
the ever increasing and vast assortment of Android based devices (phone,
tablet and soon to be more) out there in the wild; the nature of which
the carriers and combination of an open platform presents us with. With
so many devices available, it is difficult to to ultimately attest and
standby the truth in acknowledging if a device will be truly compatible
with Firefox or not based on a range of criteria. Compatibility on each
device can also very well be a subjective opinion based on overall
experience, fulfillment and value. As each device has different hardware
and different processes and configurations, it is challenging to produce
an appropriate label and or level of compatibility for a device. This is
where we want your help.

To gather information from community based testing, we have created a
simple survey that can assist in defining and painting the overall
picture of a device at hand. We currently have a backlog of untested
devices that we not have access to, and we could use your help in

How to Help

  • First, we would like for you to download the new Firefox on Android
    (currently on the Nightly channel) available here and install it
    onto your Android device

  • Create a Bugzilla account in our bug tracker so that you can file
    bugs you find against Firefox on Android in Bugzilla. Reminder,
    effective bug reports are likely to be fixed. There are excellent
    bug writing guidelines for your pleasure to read here. Detail
    the issues you find to significantly increase the chances that a
    developer can act on the bug thus increasing the likelihood of
    positive resolution — provide in-browser Android screenshots,
    website URL, browser build information, and steps to reproduce the

Join and chat with us on IRC on the server in the rooms
#mobile and #qa to talk with Mobile QA and mobile developers.

A few minutes of your time in completing the survey will be largely
valuable, and you will be contributing towards the testing efforts of

Continue reading