當前位置: 首頁>>代碼示例>>Python>>正文


Python CheckboxTable.rows方法代碼示例

本文整理匯總了Python中cfme.web_ui.CheckboxTable.rows方法的典型用法代碼示例。如果您正苦於以下問題:Python CheckboxTable.rows方法的具體用法?Python CheckboxTable.rows怎麽用?Python CheckboxTable.rows使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在cfme.web_ui.CheckboxTable的用法示例。


在下文中一共展示了CheckboxTable.rows方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: test_pods_rel

# 需要導入模塊: from cfme.web_ui import CheckboxTable [as 別名]
# 或者: from cfme.web_ui.CheckboxTable import rows [as 別名]
def test_pods_rel(provider, rel):
    """   This module verifies the integrity of the Relationships table
          We also verify that clicking on the Relationships table field
          takes the user to the correct page, and the number of rows
          that appears on that page is equal to the number in the
          Relationships table
    """
    sel.force_navigate('containers_pods')
    tb.select('List View')
    list_tbl_pod = CheckboxTable(table_locator="//div[@id='list_grid']//table")
    ui_pods = [r.name.text for r in list_tbl_pod.rows()]
    ui_pods_revised = filter(
        lambda ch: 'nginx' not in ch and not ch.startswith('metrics'),
        ui_pods)

    for name in ui_pods_revised:
        obj = Pod(name, provider)

        val = obj.get_detail('Relationships', rel)
        if val == '0':
            continue
        obj.click_element('Relationships', rel)

        try:
            val = int(val)
            assert len([r for r in list_tbl_pod.rows()]) == val
        except ValueError:
            assert val == InfoBlock.text('Properties', 'Name')
開發者ID:FilipB,項目名稱:cfme_tests,代碼行數:30,代碼來源:test_relationships_tables.py

示例2: test_services_rel

# 需要導入模塊: from cfme.web_ui import CheckboxTable [as 別名]
# 或者: from cfme.web_ui.CheckboxTable import rows [as 別名]
def test_services_rel(provider, rel):
    sel.force_navigate('containers_services')
    list_tbl_service = CheckboxTable(
        table_locator="//div[@id='list_grid']//table")
    ui_services = [r.name.text for r in list_tbl_service.rows()]
    mgmt_objs = provider.mgmt.list_service()  # run only if table is not empty

    if ui_services:
        # verify that mgmt pods exist in ui listed pods
        assert set(ui_services).issubset(
            [obj.name for obj in mgmt_objs]), 'Missing objects'

    for name in ui_services:
        obj = Service(name, provider)

        val = obj.get_detail('Relationships', rel)
        if val == '0':
            continue
        obj.click_element('Relationships', rel)

        try:
            val = int(val)
            assert len([r for r in list_tbl_service.rows()]) == val
        except ValueError:
            assert val == InfoBlock.text('Properties', 'Name')
開發者ID:pavelzag,項目名稱:cfme_tests,代碼行數:27,代碼來源:test_relationships_tables.py

示例3: test_relationships_tables

# 需要導入模塊: from cfme.web_ui import CheckboxTable [as 別名]
# 或者: from cfme.web_ui.CheckboxTable import rows [as 別名]
def test_relationships_tables(provider, cls):
    """This module verifies the integrity of the Relationships table.
    clicking on each field in the Relationships table takes the user
    to either Summary page where we verify that the field that appears
    in the Relationships table also appears in the Properties table,
    or to the page where the number of rows is equal to the number
    that is displayed in the Relationships table.
    """
    navigate_to(cls.object, 'All')
    tb.select('List View')
    list_tbl = CheckboxTable(table_locator="//div[@id='list_grid']//table")
    cls_instances = [r.name.text for r in list_tbl.rows()]
    cls_instances = sample(cls_instances, min(2, len(cls_instances)))
    for name in cls_instances:
        obj = cls.object(name, provider)
        obj.summary.reload()
        keys = sample(obj.summary.relationships.keys,
                      min(1, len(obj.summary.relationships.keys)))
        for key in keys:
            # reload summary to prevent StaleElementReferenceException:
            obj.summary.reload()
            element = getattr(obj.summary.relationships, key)
            if element.value in rel_values:
                continue
            sel.click(element)
            # TODO: find a better indication that we are in the right page:
            sel.is_displayed_text('{} (Summary)'.format(element.text_value))
開發者ID:ManageIQ,項目名稱:integration_tests,代碼行數:29,代碼來源:test_relationships_tables.py

示例4: test_relationships_tables

# 需要導入模塊: from cfme.web_ui import CheckboxTable [as 別名]
# 或者: from cfme.web_ui.CheckboxTable import rows [as 別名]
def test_relationships_tables(provider, cls):
    """  This module verifies the integrity of the Relationships table.
               clicking on each field in the Relationships table takes the user
              to either Summary page where we verify that the field that appears
             in the Relationships table also appears in the Properties table,
            or to the page where the number of rows is equal to the number
           that is displayed in the Relationships table.

    """
    navigate_to(cls, 'All')
    tb.select('List View')
    list_tbl = CheckboxTable(table_locator="//div[@id='list_grid']//table")
    cls_instances = [r.name.text for r in list_tbl.rows()]
    cls_instances_revised = [ch for ch in cls_instances
                             if 'nginx' not in ch and not ch.startswith('metrics')]
    for name in cls_instances_revised:
        navigate_to(cls, 'All')
        obj = cls(name, provider)
        rel_tbl = obj.summary.groups()['relationships']
        keys = [key for key in rel_tbl.keys]
        for key in keys:
            # reload summary to prevent StaleElementReferenceException:
            obj.summary.reload()
            rel_tbl = obj.summary.groups()['relationships']
            element = getattr(rel_tbl, key)
            value = element.value
            if value in rel_values:
                continue
            sel.click(element)

            try:
                value = int(value)
            except ValueError:
                assert value == details_page.infoblock.text(
                    'Properties', 'Name')
            else:
                # best effort to include all items from rel on one page
                if paginator.page_controls_exist():
                    paginator.results_per_page(1000)
                else:
                    logger.warning(
                        'Unable to increase results per page, '
                        'assertion against number of rows may fail.')
                assert len([r for r in list_tbl.rows()]) == value
開發者ID:jteehan,項目名稱:cfme_tests,代碼行數:46,代碼來源:test_relationships_tables.py

示例5: test_images_rel

# 需要導入模塊: from cfme.web_ui import CheckboxTable [as 別名]
# 或者: from cfme.web_ui.CheckboxTable import rows [as 別名]
def test_images_rel(provider, rel):
    sel.force_navigate('containers_images')
    list_tbl_image = CheckboxTable(
        table_locator="//div[@id='list_grid']//table")
    ui_images = [r.name.text for r in list_tbl_image.rows()]

    for name in ui_images:
        obj = Image(name, provider)

        val = obj.get_detail('Relationships', rel)
        if val == '0' or val == 'Unknown image source':
            continue
        obj.click_element('Relationships', rel)

        try:
            val = int(val)
            assert len([r for r in list_tbl_image.rows()]) == val
        except ValueError:
            assert val == InfoBlock.text('Properties', 'Name')
開發者ID:pavelzag,項目名稱:cfme_tests,代碼行數:21,代碼來源:test_relationships_tables.py

示例6: test_images_rel

# 需要導入模塊: from cfme.web_ui import CheckboxTable [as 別名]
# 或者: from cfme.web_ui.CheckboxTable import rows [as 別名]
def test_images_rel(provider, rel):
    """ https://bugzilla.redhat.com/show_bug.cgi?id=1365878
    """
    sel.force_navigate('containers_images')
    tb.select('List View')
    list_tbl_image = CheckboxTable(
        table_locator="//div[@id='list_grid']//table")
    ui_images = [r.name.text for r in list_tbl_image.rows()]

    for name in ui_images:
        obj = Image(name, provider)

        val = obj.get_detail('Relationships', rel)
        assert val != 'Unknown image source'
        obj.click_element('Relationships', rel)

        try:
            val = int(val)
            assert len([r for r in list_tbl_image.rows()]) == val
        except ValueError:
            assert val == InfoBlock.text('Properties', 'Name')
開發者ID:FilipB,項目名稱:cfme_tests,代碼行數:23,代碼來源:test_relationships_tables.py

示例7: test_images_rel

# 需要導入模塊: from cfme.web_ui import CheckboxTable [as 別名]
# 或者: from cfme.web_ui.CheckboxTable import rows [as 別名]
def test_images_rel(provider, rel, detailfield):
    """ https://bugzilla.redhat.com/show_bug.cgi?id=1365878
    """
    # Nav to provider first
    navigate_to(provider, 'Details')

    # Then to container images for that provider
    # Locate Relationships table in provider details
    images_key = ({
        version.LOWEST: 'Images',
        '5.7': 'Container Images'
    })
    sel.click(InfoBlock.element('Relationships', version.pick(images_key)))

    # Get the names of all the container images from the table
    list_tbl_image = CheckboxTable(
        table_locator="//div[@id='list_grid']//table")
    ui_images = [r.name.text for r in list_tbl_image.rows()]

    for name in ui_images:
        img = Image(name, provider)
        navigate_to(img, 'Details')

        val = img.get_detail('Relationships', rel)
        assert val != 'Unknown image source'

        sel.click(InfoBlock.element('Relationships', rel))

        # Containers Provider and Image Registry are string values
        # Other rows in the table show the number of the given items
        if rel in ['Containers Provider', 'Image Registry']:
            assert val == InfoBlock.text('Properties', detailfield)
        else:
            val = int(val)
            # There might be more than 1 page of items
            if paginator.page_controls_exist():
                paginator.results_per_page(1000)
            assert len([r for r in list_tbl_image.rows()]) == val
開發者ID:RonnyPfannschmidt,項目名稱:cfme_tests,代碼行數:40,代碼來源:test_relationships_tables.py

示例8: test_nodes_rel

# 需要導入模塊: from cfme.web_ui import CheckboxTable [as 別名]
# 或者: from cfme.web_ui.CheckboxTable import rows [as 別名]
def test_nodes_rel(provider, rel):
    navigate_to(provider, 'Details')

    sel.click(InfoBlock.element('Relationships', 'Nodes'))

    list_tbl_node = CheckboxTable(
        table_locator="//div[@id='list_grid']//table")
    ui_nodes = [r.name.text for r in list_tbl_node.rows()]
    mgmt_objs = provider.mgmt.list_node()

    assert set(ui_nodes).issubset(
        [obj.name for obj in mgmt_objs]), 'Missing objects'

    for name in ui_nodes:
        node = Node(name, provider)

        val = node.get_detail('Relationships', rel)
        if val == '0':
            # the row can't be clicked when there are no items, and has class 'no-hover'
            logger.info('No items for node relationship: {}'.format(rel))
            continue
        # Should already be here, but just in case
        navigate_to(node, 'Details')
        sel.click(InfoBlock.element('Relationships', rel))

        try:
            val = int(val)
            # best effort to include all items from rel in one page
            if paginator.page_controls_exist():
                logger.info('Setting results per page to 1000 for {}'.format(rel))
                paginator.results_per_page(1000)
            else:
                logger.warning('Unable to increase results per page, '
                               'assertion against number of rows may fail.')
            assert len([r for r in list_tbl_node.rows()]) == val
        except ValueError:  # if the conversion to integer failed, its a non-scalar relationship
            assert val == InfoBlock.text('Properties', 'Name')
開發者ID:RonnyPfannschmidt,項目名稱:cfme_tests,代碼行數:39,代碼來源:test_relationships_tables.py

示例9: test_projects_rel

# 需要導入模塊: from cfme.web_ui import CheckboxTable [as 別名]
# 或者: from cfme.web_ui.CheckboxTable import rows [as 別名]
def test_projects_rel(provider, rel):
    sel.force_navigate('containers_projects')
    tb.select('List View')
    list_tbl_project = CheckboxTable(
        table_locator="//div[@id='list_grid']//table")
    ui_projects = [r.name.text for r in list_tbl_project.rows()]
    mgmt_objs = provider.mgmt.list_project()

    assert set(ui_projects).issubset(
        [obj.name for obj in mgmt_objs]), 'Missing objects'

    for name in ui_projects:
        obj = Project(name, provider)

        val = obj.get_detail('Relationships', rel)
        if val == '0':
            continue
        obj.click_element('Relationships', rel)

        try:
            val = int(val)
            assert len([r for r in list_tbl_project.rows()]) == val
        except ValueError:
            assert val == InfoBlock.text('Properties', 'Name')
開發者ID:FilipB,項目名稱:cfme_tests,代碼行數:26,代碼來源:test_relationships_tables.py


注:本文中的cfme.web_ui.CheckboxTable.rows方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。