The softwareUpdate class simplifies the access to the software dialog and some underlying backend functions. To run all the tests for a single update the browser has to be restarted in-between the tests.
Method overview
softwareUpdate(); |
assertUpdateStep(in string step); |
closeDialog(); |
download(in string updateType, in string channel, in number timeout); |
forceFallback(); |
openDialog(in MozMillController controller); |
waitForCheckFinished(in number timeout); |
waitForDialogOpen(in MozMillController controller); |
Attributes
| Attribute | Type | Description |
|---|---|---|
activeUpdate | | The currently active update. |
allowed | boolean | true if the user is allowed to run a software update. |
currentStep | string | The current step of the update dialog wizard. Possible values are dummy, checking, noupdatesfound, incompatibleCheck, updatesfound, license, incompatibleList, downloading, errors, errorpatching, finished, finishedBackground, installed. |
isCompleteUpdate | boolean | true if the current update is a complete update. |
updateType | string | Type of the active update. |
Methods
softwareUpdate()
Constructor of the class.
softwareUpdate();
Parameters
None.
assertUpdateStep()
Assert that the current wizard state matches the given step.
assertUpdateStep(
in string step
);
Parameters
step- Expected step of the Software Update wizard. For possible values, see
currentStep.
closeDialog()
Closes the software update dialog.
closeDialog();
Parameters
None.
download()
Downloads an update given its type and channel.
download(
in string updateType,
in string channel,
in number timeout
);
Parameters
updateType- Type of the update. Supported values are
minorandmajor. channel- Update channel to use to upgrade the application. Supported values are
nightly,beta,betatest,release, andreleasetest. timeout- Maximum duration of the download. This parameter is optional. The default value is 6 minutes.
forceFallback()
Forces a fallback update by modifying the update.status file. Running download() again will cause a complete update to be downloaded.
forceFallback();
Parameters
None.
openDialog()
Opens the software update dialog.
openDialog(
in MozMillController controller
);
Parameters
controllerMozMillControllerof the browser window.
waitForCheckFinished()
Waits until the check for new updates that happens when opening the software update dialog has completed.
waitForCheckFinished( int number timeout );
Parameters
timeout- Maximum duration for the update check. The default value is 10 seconds.
waitForDialogOpen()
Waits until the software update dialog has been opened and initialized.
waitForDialogOpen(
in MozMillController controller
);
Parameters
controllerMozMillControllerof the browser window.
Examples
// Include necessary modules
var RELATIVE_ROOT = '../../../shared-modules';
var MODULE_REQUIRES = ['SoftwareUpdateAPI'];
var setupModule = function(module)
{
module.controller = mozmill.getBrowserController();
module.update = new SoftwareUpdateAPI.softwareUpdate();
}
var testUpdateDialog = function()
{
// Open the dialog and wait until update check has been finished.
update.openDialog(controller);
update.waitForCheckFinished();
// Check that an update is available
update.assertUpdateStep('updatesfound');
// Download the given type of update from the specified channel
update.download(persisted.type, persisted.channel);
// We should be ready for restart
update.assertUpdateStep('finished');
}