QA/Automation/Projects/Mozmill Shared Modules/API Refactor: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 41: Line 41:
* [https://docs.google.com/document/edit?id=1I62_fRMRNUTm56OfRb_Qzy2PoHsMcKuwtQTsRS801Ck&hl=en&authkey=CM7HnvgP Shared API Refactor -- Thoughts and Recommendations]
* [https://docs.google.com/document/edit?id=1I62_fRMRNUTm56OfRb_Qzy2PoHsMcKuwtQTsRS801Ck&hl=en&authkey=CM7HnvgP Shared API Refactor -- Thoughts and Recommendations]
* [https://docs.google.com/document/edit?id=1VbqlCIBfOpm5duFJ3DBPe7ov0J8bTp5RYN75DJwc0aI&hl=en&authkey=CImI3MEB Code Sketches for Shared API Refactor]
* [https://docs.google.com/document/edit?id=1VbqlCIBfOpm5duFJ3DBPe7ov0J8bTp5RYN75DJwc0aI&hl=en&authkey=CImI3MEB Code Sketches for Shared API Refactor]
=Project Plan=
== Goal ==
Our goal by end of Q1 2011 is to complete a pilot of the new shared module libraries within the Mozmill team.
Assuming no major problems unearthed during the pilot, we will be able to move forward with migration and further community rampup during Q2.
== Use Case Scope ==
At the end of Q1 2011, the refactored shared module library should be sufficient to cleanly and efficiently implement tests involving the following elements:
* The entire main Firefox window, especially:
** Tabbed browsing
** Location Bar
** Bookmarks Bar
* Multiple browser windows/non-modal dialogs in parallel
* Modal dialogs, such as Preferences
* Test and synchronization statements such as:
** Fatal assertions
** WaitFors
== Module Scope ==
From a modular point of view, the shared modules can be roughly broken down into the '''UI Map''' and '''General Modules'''.
The '''UI Map''' includes proxy objects for individual XUL controls, so that a hierarchical representation of the UI layout can be created. This map will largely replace direct access of the Mozmill controller for UI operations.
'''General Modules''' are those that provide higher level utility services, test control statements, or wrap Mozilla Platform back end services.
=== UI Map ===
The UI Map is expected to cover the following scope, in priority order. Controls in italics are unlikely to be fully developed in Q1 2011.
For more reference on these controls please see the [[https://developer.mozilla.org/en/XUL_controls MDC XUL Control Reference]].
# Base classes to enable proxy binding
# TextBox
# Button
# Description
# Label
# ToolbarButton
# MenuList
# Checkbox
# Radio
# ListBox
# RichListBox
# ProgressMeter
# Tree
# ''Image''
# ''Scale''
# ''Groupbox''
# ''Colorpicker''
# ''Datepicker''
# ''Timepicker''
=== General Modules ===
The General Modules are expected to cover the following scope in priority order. Modules in italics are unlikely to be developed in Q1 2011.
# Menu API
# Window Handlers (Match current functionality)
#* Modal
#* Non-Modal
#* Multiple Parallel
# Localization (Match current functionality)
# Preferences handling
# Assertions
# Services
# Module Initialization Functions
# Teardown helper functions (Broad, e.g. RemoveHistory)
#* UI Reset
#* History Reset
#* Bookmarks Reset
# ''Screenshots''
# ''Localization (Improve functionality)''
# ''Window Handlers (Improve functionality)''
#* ''Modal''
#* ''Non-Modal''
#* ''Multiple Parallel''
canmove, Confirmed users
2,041

edits

Navigation menu