Discover and Help Test Web Apps in Firefox for Android on Friday August 24th, 2012

This upcoming Friday, we would love for you to solicit your support towards testing and contributing to the process of qualifying a new alpha-release version of Firefox for Android on the Aurora channel as part of our rapid release testing cycle. We will be focusing on the process of discovering, installing, managing and using web applications inside of Firefox for Android.

This event is open to all those interested: newcomers, experienced testers, developers, and anyone interested in testing and using Firefox on Android.

We would like for you to use the new version of Firefox on your Android phone, and take a close look at the latest Aurora product in order to assist us in identifying any noticeably major issues found, and ensure that all feature functionality that is included in this upcoming release is on its way to a feature and testing complete state with the added emphasis on discovering and using web applications.

To cover the work throughout the whole day we have created an EtherPad test-plan. Please feel free to read and use it as a companion during the testday event. There will be moderators at hand in the IRC channel: #testday, to answer any questions you have.

Together with your help we want to make this testday a success and ensure the high quality of Firefox for Android for mobile devices for all of our users world-wide. If you have time on Friday August 24th, 2012, please join us on IRC, we will have Mozilla community and testers on hand to help answer any of your questions.

Your testing and feedback is highly valuable, and we hope to see you attend our test day event.

Firefox for Android – Website Compatibility Testing

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.

 

Android MonkeyRunner Automation

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 purposes.

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 com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
import sys, csv

browsers = ['com.android.chrome/.Main',
                'org.mozilla.fennec/.App']

# 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')