summaryrefslogtreecommitdiffstats
path: root/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/dialog.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/dialog.py')
-rw-r--r--testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/dialog.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/dialog.py b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/dialog.py
new file mode 100644
index 000000000..19435b211
--- /dev/null
+++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/dialog.py
@@ -0,0 +1,46 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+from marionette_driver import By, Wait
+
+from firefox_puppeteer.ui.update_wizard.wizard import Wizard
+from firefox_puppeteer.ui.windows import BaseWindow, Windows
+
+
+# Bug 1143020 - Subclass from BaseDialog ui class with possible wizard mixin
+class UpdateWizardDialog(BaseWindow):
+ """Representation of the old Software Update Wizard Dialog."""
+ window_type = 'Update:Wizard'
+
+ dtds = [
+ 'chrome://branding/locale/brand.dtd',
+ 'chrome://mozapps/locale/update/updates.dtd',
+ ]
+
+ properties = [
+ 'chrome://branding/locale/brand.properties',
+ 'chrome://mozapps/locale/update/updates.properties',
+ ]
+
+ @property
+ def wizard(self):
+ """The :class:`Wizard` instance which represents the wizard.
+
+ :returns: Reference to the wizard.
+ """
+ # The deck is also the root element
+ wizard = self.marionette.find_element(By.ID, 'updates')
+ return Wizard(self.marionette, self, wizard)
+
+ def select_next_page(self):
+ """Clicks on "Next" button, and waits for the next page to show up."""
+ current_panel = self.wizard.selected_panel
+
+ self.wizard.next_button.click()
+ Wait(self.marionette).until(
+ lambda _: self.wizard.selected_panel != current_panel,
+ message='Next panel has not been selected.')
+
+
+Windows.register_window(UpdateWizardDialog.window_type, UpdateWizardDialog)