Apps/QA/OWA Extension

From MozillaWiki
< Apps‎ | QA
Jump to: navigation, search

NOTE: The extension is no longer going to be supported post completion of the Web Apps Integration to Desktop feature. See that feature under QA to see up to date testing on that Firefox web apps feature. This wiki exists for historical purposes of past testing on the extension.


QA Lead: Jason Smith
Lead Developer: Mike Hanson

Quick Start Guide

Here is a quick start guide to help you dive right in to Open Web Apps:

  1. Download and install the extension - Latest built can be found here
  2. Install apps - Sample apps can be found on the App Directory or Marketplace
  3. View the Dashboard - Apps can be found by clicking the 'Apps' button at the bottom right of your browser or by going here

Once you have apps installed, you can launch them by clicking on them in the Dashboard. You can re-arrange the app icons and you can delete them from the Dashboard as well. You can also go to 'about:apps' (type this without the quotes in the URL bar) and launch apps there, view the manifest or delete apps.

Testing Initiative


The following list summarizes the major areas of testing for OWA extension:

  • Extension Installation Processes (e.g. Install, Uninstall, Update)
  • MozApps API
  • Apps Lifecycle (e.g. Installation, Launching, Using, Deleting)
  • Dashboard
  • App Sync
  • Other Areas

Future areas of concern include the following:

  • Web Activities/Intents

Testing Requirements and Development Processes

The following list summarizes major testing requirements and development processes for the OWA Extension:

  1. Determine extension requirements and specifications
  2. Create manual test cases for basic sanity coverage
  3. Developing automated test cases for manual test cases
  4. Exploratory testing of each major part of OWA Extension
  5. Exploratory testing of using the apps on the web and native
  6. Creation of complex manual scenario testing

Important Notes:

  • Requirements are highly volatile, so manual and automated test cases need to be constantly kept up to date.
  • Extension will eventually be built into browser, so some test cases may not be needed anymore in the long run

Bug Tracking/Reporting

Bugs are reported under the "Web Apps" product in the "Extension" component. Below summarizes important links for viewing and reporting extension bugs.

Note: See How to Write a Proper Bug on how to report bugs.

Note: A tracking bug was used for tracking the alpha release of the extension in the past.

Build Verification Process

The following summarizes the build verification process for the extension:

  1. Install the latest build of the OWA extension
  2. Verify any bugs that have been resolved on the latest extension build
  3. Run automation tests to make sure no regressions have occurred
  4. Run manual test cases and exploratory testing to capture possible regressions
  5. File new bugs as necessary
  6. Update test case document by adding and modifying existing test cases and removing obsolete test cases


The automation efforts will revolve around automating the manual test cases using mozmill. Since currently there is not much to work with, a basic skeleton framework is being looked into that can hopefully hold common API's that will be used when automating the test cases.

A demo test run was created with MozMill that installs an app, runs the app, closes the app and then deletes it. The patch for the demo test can be found here. Henrik Skupin is going to write a blog post about OWA automation and will include a demo that runs this script.

Test Server

An already existing nodejs server was modified to host test apps that we can use for load and smoke testing. To use the test server, please follow these steps (in linux):


  1. git clone git://
  2. cd openwebapps
  3. Type: 'git submodule init' and then 'git submodule update'
  4. Make sure to have node installed - If not, you can get it from here. You can also follow one of the methods here.


  1. cd site/tests/
  2. Type: 'node run.js' - All necessary servers will start
  3. Launch the URL after 'Testing server started, to run tests go to:' and replace index.html with appstore.html
  4. A webpage will be shown that contains all the test apps
Test Server Screenshot.png

How It Works:

It's just a nodejs server that creates a separate server for each app that we have and hosts the necessary files within each server. The directory where the apps are stored is in site/tests/apps and each app has a folder within this directory.If you would like to add apps, all you have to do is add a folder within the apps directory and place the necessary files within that folder (please look at repo under site/tests/apps/ for examples). Please note the following:

  • The manifest file must be called: manifest.webapp (this should be changed within the code to be more dynamic)
  • If there is a problem with the page formatting, it's most likely because the icon pic used for the app is not compatible. The icon pic must be 128x128px in order to show up properly in the test server and in the Dashboard. You can use software such as gimp to adjust the pic size.

Native Apps and Extension Builds

Native App Generation

Native app generation just means allowing the user to install apps natively on their machine. This is equivalent to installing a program or application. If you would like to check it out, please follow these steps (advanced) or simply install one of the extensions from here:

  1. Install the addon-sdk (from github as the release version will not work) -
  2. Download the oauthorizer package into the packages folder of the addon-sdk -
  3. Clone the openwebapps project -
  4. In a terminal, cd into the addon-sdk folder and type: bin\activate (windows) or source bin/activate (linux)
  5. cd into openwebapps/addons/jetpack
  6. Type: cfx run

Extension Builds

The latest developer builds for the OWA extension can be found here. For the faker extension builds, go here.

The developer builds are created whenever a commit is made to the openwebapps github repo. The format is openwebapps-<commit id>-<date>.xpi. For automation, openwebapps.xpi within the 'latest' folder is used to avoid making changes to the addon.ini file for every test run. To build the extension yourself from the github repository, please do the following:

  1. git clone
  2. cd openwebapps
  3. make xpi (this will build the xpi file and place it in your current directory)

You can drag the xpi file to your Firefox window to install it. You can also host the file on the web and the user would just click on the xpi file to install it to their Firefox.

Important Documents and Links


Test Cases Document

March 1st Test Run

Extension and Apps Questions

OWA Extension Builds

Test Framework

General Tracked Bugs

Firefox Store Apps Staging Server


Dashboard Spec Document

Apps Sync Spec

Apps Wiki

Apps Overview - Main


Apps Github Repository

Web Activities/Intents


Sample Apps (for demo)

Firefox Store Staging Server