Selenium2Library系列 keywords 之 _SelectElementKeywords 之 list_selection_should_be(self, locator, *items)

 1     def list_selection_should_be(self, locator, *items):
 2         """Verifies the selection of select list identified by `locator` is exactly `*items`.
 3
 4         If you want to test that no option is selected, simply give no `items`.
 5
 6         Select list keywords work on both lists and combo boxes. Key attributes for
 7         select lists are `id` and `name`. See `introduction` for details about
 8         locating elements.
 9         """
10         items_str = items and "option(s) [ %s ]" % " | ".join(items) or "no options"
11         self._info("Verifying list ‘%s‘ has %s selected." % (locator, items_str))
12         items = list(items)
13         self.page_should_contain_list(locator)
14         select, options = self._get_select_list_options_selected(locator)
15         if not items and len(options) == 0:
16             return
17         selected_values = self._get_values_for_options(options)
18         selected_labels = self._get_labels_for_options(options)
19         err = "List ‘%s‘ should have had selection [ %s ] but it was [ %s ]" 20             % (locator, ‘ | ‘.join(items), ‘ | ‘.join(selected_labels))
21         for item in items:
22             if item not in selected_values + selected_labels:
23                 raise AssertionError(err)
24         for selected_value, selected_label in zip(selected_values, selected_labels):
25             if selected_value not in items and selected_label not in items:
26                 raise AssertionError(err)

方法名:list_selection_should_be(self, locator, *items)

相似方法:

公共方法 验证指定labels或values的选项应该被选中

接收参数:locator,*items(labels/values)

13行:使用page_should_contain_list(self, locator, message=‘‘, loglevel=‘INFO‘)方法,验证select list 存在于当前页面

14行:使用_get_select_list_options_selected(self, locator)方法返回Select 元素对象和选中options数组

17行:使用_get_values_for_options(self, options)方法返回选中options的values数组

18行:使用_get_labels_for_options(self, options)返回选中options的labels数组

20、21行: 遍历所传入的items,判断item是否为选中项

24、25行: 遍历当前选中项的value和label,如果不在传入items中存在则报错

使用:

输出结果:

FAIL : List ‘id=creOutTime‘ should have had selection [ 0 | 1 ] but it was [ 无逾期 | 无记录(征信空白) | 贷款或贷记卡当前逾期金额>=300元 ]
时间: 2024-10-15 12:30:58

Selenium2Library系列 keywords 之 _SelectElementKeywords 之 list_selection_should_be(self, locator, *items)的相关文章

Selenium2Library系列 keywords 之 _SelectElementKeywords 之 select_from_list(self, locator, *items)

1 def select_from_list(self, locator, *items): 2 """Selects `*items` from list identified by `locator` 3 4 If more than one value is given for a single-selection list, the last 5 value will be selected. If the target list is a multi-selecti

Selenium2Library系列 keywords 之 _SelectElementKeywords 之 unselect_from_list(self, locator, *items)

1 def unselect_from_list(self, locator, *items): 2 """Unselects given values from select list identified by locator. 3 4 As a special case, giving empty list as `*items` will remove all 5 selections. 6 7 *items try to unselect by value AND

Selenium2Library系列 keywords 之 _SelectElementKeywords 之 page_should_contain_list(self, locator, message='', loglevel='INFO')

1 def page_should_contain_list(self, locator, message='', loglevel='INFO'): 2 """Verifies select list identified by `locator` is found from current page. 3 4 See `Page Should Contain Element` for explanation about `message` and 5 `loglevel`

Selenium2Library系列 keywords 之 _SelectElementKeywords 之 page_should_not_contain_list(self, locator, message='', loglevel='INFO')

1 def page_should_not_contain_list(self, locator, message='', loglevel='INFO'): 2 """Verifies select list identified by `locator` is not found from current page. 3 4 See `Page Should Contain Element` for explanation about `message` and 5 `l

Selenium2Library系列 keywords 之 _SelectElementKeywords 之 unselect_from_list_by_label(self, locator, *labels)

1 def unselect_from_list_by_label(self, locator, *labels): 2 """Unselects `*labels` from list identified by `locator` 3 4 Select list keywords work on both lists and combo boxes. Key attributes for 5 select lists are `id` and `name`. See `i

Selenium2Library系列 keywords 之 _SelectElementKeywords 之 unselect_from_list_by_value(self, locator, *values)

1 def unselect_from_list_by_value(self, locator, *values): 2 """Unselects `*values` from list identified by `locator` 3 4 Select list keywords work on both lists and combo boxes. Key attributes for 5 select lists are `id` and `name`. See `i

Selenium2Library系列 keywords 之 _SelectElementKeywords 之 unselect_from_list_by_index(self, locator, *indexes)

1 def unselect_from_list_by_index(self, locator, *indexes): 2 """Unselects `*indexes` from list identified by `locator` 3 4 Select list keywords work on both lists and combo boxes. Key attributes for 5 select lists are `id` and `name`. See

Selenium2Library系列 keywords 之 _SelectElementKeywords 之 select_from_list_by_value(self, locator, *values)

1 def select_from_list_by_value(self, locator, *values): 2 """Selects `*values` from list identified by `locator` 3 4 Select list keywords work on both lists and combo boxes. Key attributes for 5 select lists are `id` and `name`. See `intro

Selenium2Library系列 keywords 之 _SelectElementKeywords 之 list_should_have_no_selections(self, locator)

1 def list_should_have_no_selections(self, locator): 2 """Verifies select list identified by `locator` has no selections. 3 4 Select list keywords work on both lists and combo boxes. Key attributes for 5 select lists are `id` and `name`. Se