Code libraries for AMO pages
AMOlocators
The module groups locators into dictionaries named for a page or list. The dictionaries' indexes are mnemonics for the element it locates.
Benefits:
- Provide scripts writers a quick substitute for time-comsuming process of establishing a working locator.
- Changes to web pages which break many scripts could be resolved by updating the module.
- Centralize 'best practices' for locator definition and 'tricks' to addressing complicated situation.
Naming convention
..._List[ ] reference elements that appear once on a list, such as headers or sort selectors.
..._List['item'] references an item node on the list without an index, unlike the _List_Item[ ] locators described below. Could be used with an is_element_present to check if a list contains any items.
Suitable for: get_xpath_count()
Example: itemCount = sel.get_xpath_count ( AMOlocators.addonBrowsePage_List['item'] ).
..._List['sortOption']
Suitable for: select()
Example: sel.select ( AMOlocators.addonBrowsePage_List['sortOption'], value='name' )
..._List_Item[ ] reference elements on an item in a list, such as item name, links, etc.
Example 1: addonName = get_text( addonBrowsePage_List_Item['name'] % idx ) retrieves the text for the text from the name element for the idx-th item in the list.
example 2: addonHref = sel.get_attribute ( AMOlocator.addonCategoryLandingPage_TopRatedList_Item['link'] % idx + "@href" ) to retrieve href on the link element for the idx-th item on the Top Rated list on the add-on category landing page.
...[*Link] refer to links suitable for click( ). ex: sel.click( AMOlocator.addonBrowsePage_List_Item[detailLink] % idx ) clicks on the detail page link for the idx-th add-on listed in the browse page. example 2: sel.click( AMOlocator.addonCategoryLandingPage_TopRatedList['ViewAlllink'] ) clicks on the View All link at the bottom of the Top Rated list on the category landing page.
...[*Select] refers to select controls for select( ). ex: sel.select( AMO_locators.addonsSearchResults['sortSelect'], 'value=' + sortOption) selects from the add-ons search results page the sort option with the 'value' attribute specified by sortOption.
AMOfunctions
This is intended as a summary of functions. Refer to the in-line function doc regarding parameters and other information.
login - login to a generic user. The parameter is mnenomic for the user type.
submitHeaderSearch - supplies data to the search panel in the AMO header and submits the search. Only the selenium instance (sel) parameter is required, and other parameter are named and optional. The script does not return the search results, rather it returns one of three strings: null string - at least one item was returned in the search results based on locators defined in AMOlocators. itself. 'no results' - the 'No Result Found' message was returned, based on locators defined in AMOlocators 'unexpected layout' - neither of the above conditions were detected using is_element_present( ) and locators for search results page.
getAdminFeaturedList - returns a dictionary of featured items from the admin control panel. Items are qualified by the application and feature type (ex: extensions, persona) specified by the parameters. The parameter values are the corresponding values found in the admin featured items list. See the in-line function doc for more information on the structure of the dictionary that is returned.
isUserURL - returns True if the parameter is the format of a user profile URL, otherwise False.
getAddonIdFromURL - returns the add-on id segment of a URL for an add-on
userURLpattern - returns the pattern for a user profile URL. defined as a function to allow more extendability.
userURLpatternGroup - returns the pattern for a user profile URL with id in a grouping to allow parsing URL id. defined as a function.
isAddonURL - returns True if the parameter is the format of a add-on URL, otherwise False.
addonURLpattern - returns the pattern for a add-on URL. defined as a function to allow more extendability.
addonURLpatternGroup - returns the pattern for a add-on URL with id in a grouping to allow parsing add-on id. defined as a function.
verifyStarsRating - confirms the stars rating elements are in agreement within the locator specified by the parameter. returns a list of strings describing the exceptions found, or an empty list if no exceptions are found.