Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Cross Browser startup test on android -semi-automated
Python Perl Other
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This is a cross browser startup test framework.


There are two ways to run this utility.

= By Hand =
You can fill out the config file for your phone and then run
performance tests on that phone.  Each test will display
the startup performance value briefly (this timeout is in and can be extended - defaults to 5s).

The instructions for installing are a subset of the automated
install instructions.

= Automated =
You can run this automatically.  You need to create a config file for each phone.  Follow all the steps below.

= Common Steps =
1. Clone this repo into xbrowserstartup
2. Get, and from a mozilla tree: and put them in
the xbrowserstartup directory
3. Copy config.ini and modify it for your phone.  See examples
for samsung galaxy etc that are in the tree.
4. Root your phone.
5. Install SUTAgent and Watcher onto the phone. You can get these here:
6. Install all the browsers you want to test on the phone, and
be certain their intents are properly documented in the config file
7. Ensure that the file paths in agcc point to your Android NDK and
8. ./agcc time.c to build the time exectuable
9. Set up a webserver on your box and ensure the webserver URL in the 
config file points at the IP address for your box.
10. Copy the startup5.html file and the favorites2.html file to the root
of your webserver.

If you're just running it by hand, you can run it: python --config-file=<yourconfig.ini>

= Full Automation Steps =
Do all the steps above and then continue with:
(I usually install the pulse subsystem outside the xbrowserstartup
== Install pulse subsystem =
1. hg clone
2. cd mozillapulse
3. python install
4. hg clone
5. cd pulsebuildmonitor
6. python install

== Setting up Agent for Daemonization ==
1. Edit the SUTAgent.ini file in the local directory to point to
the machine where the daemon will be running (that's the IP address).
2. Ensure that the HARDWARE option is set to the name of the config file for
the phone in question (without the .ini part).
3. Use the script to publish your SUTAgent.ini file to
your phones.  Each phone must have an SUTAgent.ini file.
4. Now when the phone reboots or the agent restarts, it will attempt to
communicate to the daemon.

== Running ==
For full automation, run:

This will generate a daemon_cache.ini file that you may want to 
keep around when restarting the system. If you have to take the
daemon down, but the phones are still running, then you can
restart the system and have it automatically re-register its
known phones by running:
python --restarting

If you have shut down the daemon and you restart it with:
then it will destroy the cache and all phones will have to
re-register themselves with the daemon (by restarting their SUTAgents).

Something went wrong with that request. Please try again.