zoukankan      html  css  js  c++  java
  • 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元 ]
  • 相关阅读:
    asp.net pager
    asp.net 2.0
    mul page
    基于 Ajax 的持久对象映射(reship)
    asp.net run
    reship HttpProc
    some questions
    rss feed
    javascript function
    ioc
  • 原文地址:https://www.cnblogs.com/loveok-56/p/4457880.html
Copyright © 2011-2022 走看看