1,072
edits
| Line 8: | Line 8: | ||
*Changes to web pages which could break many scripts could be resolved by updating the module. | *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. | *Centralize 'best practices' for locator definition and 'tricks' to address complicated situations. | ||
'''Naming convention of dictionaries''' | '''Naming convention of dictionaries''' | ||
...'''_List[ ]''' references elements that appear once on a list, such as headers or sort selectors. | ...'''_List[ ]''' references elements that appear once on a list, such as headers or sort selectors. | ||
...'''_List_Item[ ]''' references elements on a particular item in a list. All keys require an index value into the list. | ...'''_List_Item[ ]''' references elements on a particular item in a list. All keys require an index value into the list. | ||
Locators that require an index are named as | '''Locators that require an index value''' | ||
Some locators require an index and must be followed by " ''% value"'' (where ''value'' is a numeric index) in order to select an item in a list, such as add-ons in a list or options in a select. | |||
Locators that require an index are named as follows: | |||
*all locators in the ..._List_Item[ ] dictionaries. | *all locators in the ..._List_Item[ ] dictionaries. | ||
| Line 35: | Line 31: | ||
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. | 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 | Dictionary keys that don't end with a tag type generally refer to a section of text or a higher level node.<br> | ||
''' | '''item'''<br> | ||
*element with the item name.<br> | *Dictionaries that reference a list use this key for an entire item (i.e. add-on).<br> | ||
**_List['item'] refers tp the item node on the list without an index. Could be used with an is_element_present to check if a list contains any items. | |||
<blockquote> | |||
*Suitable for: get_xpath_count( ) | |||
*Example: itemCount = sel.get_xpath_count ( AMOlocators.addonBrowsePage_List['item'] ) | |||
</blockquote> | |||
**_List_Item['item'] refers to the item node using an index. To access a particular element on the n-th item, generally the mnemonic key for that element is used, rather than appending to this locator.<br> | |||
<br> | |||
'''name'''<br> | |||
*element with the item name.<br> | |||
*Suitable for sel.get_text( )<br> | *Suitable for sel.get_text( )<br> | ||
*Example: addonName = get_text( addonBrowsePage_List_Item['''name'''] % idx ) retrieves the text for the name on the ''idx''-th add-on in the list on the browse page. | |||
*< | |||
'''*Link'''<br> | |||
*Refers to a link. The last element in the locator is an <a>. Key name may simply be ''link ''for an item with only a few elements, or may be prefixed with the link destination or the element containing the link. | |||
*Suitable for sel.click( ) | *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. | *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> | *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" ) | *Example 2: sel.get_attribute( AMOlocator.addonCategoryLandingPage_TopRatedList['ViewAllLink'] + "@href" ) retrieves 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> | <span style="font-weight: bold;">*</span>'''Select'''<br> | ||
* | *Refers to a select control. The last node in the locator is a <select>. | ||
*Suitable for sel.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. | *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.<br> | ||
'''*Option''' <br> | |||
*Refers to options in a select control. The last node in the locator is an <option>. | *Refers to options in a select control. The last node in the locator is an <option>. | ||
edits