1,072
edits
| Line 1: | Line 1: | ||
== AMOlocators == | == AMOlocators == | ||
The module groups locators into dictionaries named for a page or list. The dictionaries' keys are mnemonics for the element it locates. | |||
Benefits: | |||
.. | *Provide scripts writers a quick reference for time-consuming process of establishing a working locator. | ||
*Changes to web pages which could break many scripts could be resolved by updating the module. | |||
*Centralize 'best practices' for locator definition and 'tricks' to address complicated situations. | |||
<blockquote> | '''Naming convention of dictionaries''' | ||
...'''_List['item']''' references the item node on the list ''without'' an index, unlike the _List_Item[ ] locators described below. | |||
*Suitable for: get_xpath_count() | ...'''_List[ ]''' references elements that appear once on a list, such as headers or sort selectors. | ||
<blockquote>...'''_List['item']''' references the 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']'' ) | *Example: itemCount = sel.get_xpath_count ( AMOlocators.addonBrowsePage''_List['item']'' ) | ||
</blockquote> | </blockquote> | ||
...'''_List_Item[ ]''' references elements on a particular item in a list. All keys require an index value into the list. | |||
*Suitable for: get_text(), get_attribute() | |||
*Example 1: addonName = get_text( addonBrowsePage_''List_Item['name']'' % idx ) retrieves the text for the name on the ''idx''-th add-on in the list. | |||
*Example 2: addonHref = sel.get_attribute ( AMOlocator.addonCategoryLandingPage_TopRated''List_Item['link']'' % idx + "@href" ) retrieves the href attribute in the link for the idx-th item on the Top Rated list on the add-on category landing page. | |||
<blockquote>...'''_List_Item['item']''' references an item node on the list using an index. </blockquote> | |||
<br>'''Locators that require an index value''' | |||
Some locators require an index and must be followed by ''% value'' where ''value'' is the index required for them item in the list, such as add-ons in a list or options in a select. | |||
Locators that require an index are named as followed: | |||
*all locators in the ..._List_Item[ ] dictionaries. | |||
*dictionary keys that end in ''Indexed''. | |||
<br>'''Naming conventions for element locators and dictionary keys''' | |||
Locators include the tag type at the end of the key for controls that have an action . For example: detailLink, sortSelect. Keys for static elements may use the tag type to reference a specific element, such as PreviewImg. | |||
Dictionary keys that don't end with a tag type generally refer to a section of text or a high level node.<br> | |||
'''name'''<br> | |||
*element with the item name.<br> | |||
* Suitable for | *Suitable for sel.get_text( )<br> | ||
'''*Link'''<br> | |||
<br> | |||
*<span style="font-weight: bold;" />Refers to a link. The last element in the locator is an <a>. Key name may be simply ''link ''for an item with only a few elements. Key name may be prefixed with the link destination or the element containing the link. | |||
*Suitable for sel.click( ) | |||
*Example: sel.click( AMOlocator.addonBrowsePage_List_Item['detail''Link'''] % idx ) clicks on the detail page link for the idx-th add-on listed in the browse page. | |||
*Suitable for sel.get_attribute for href or other attribute in the <a> node.<br> | |||
*Example 2: sel.get_attribute( AMOlocator.addonCategoryLandingPage_TopRatedList['ViewAllLink'] + "@href" ) retrieve the href attribute from the View All link of the Top Rated list on the category landing page.<br> | |||
<span style="font-weight: bold;">*</span>'''Select'''<br> | |||
* | |||
*efers to select controls. The last node in the locator is a <select>. | |||
*Suitable for sel.select() | |||
*Example: 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. | |||
*'''Option''' <br> | |||
<br> | |||
*Refers to options in a select control. The last node in the locator is an <option>. | |||
<br> | |||
== AMOfunctions == | == AMOfunctions == | ||
edits