Example #1
0
 def move_to_element_and_click(self, locator1, locator2):
     """Move the mouse cursor to a locator and perform a click
     operation on it (or another element that might be activated by the
     move operation).
     Examples:
     """
     ui_lib.move_to_element_and_click(locator1, locator2)
Example #2
0
def open_san_zoning_edit_dialog():
    xpath_action = FusionSANPage.ID_SAN_ZONED_POLICY_EDIT

    try:
        ui_lib.wait_for_element(xpath_action, 10)
    except:
        pass
    logger._log_to_console_and_log_file("Open SAN Zoning Edit Dialog")
    ui_lib.move_to_element_and_click(xpath_action, xpath_action)
def delete_dashboard(*dashboard_obj):
    """ Delete Dashboard """
    selenium2lib = ui_lib.get_s2l()
    if not selenium2lib._is_element_present(FusionDashboardPage.ID_PAGE_LABEL):
        navigate()

    if type(dashboard_obj) is test_data.DataObj:
        dashboard_obj = [dashboard_obj]
    elif type(dashboard_obj) is tuple:
        dashboard_obj = list(dashboard_obj[0])
    for dashboard in dashboard_obj:
        if len(dashboard.title.strip()) > 0:
            logger._log_to_console_and_log_file(
                "\nVerifying Dashboard %s exist..." % dashboard.title)
            ui_lib.wait_for_element_visible(
                FusionDashboardPage.ID_LINK_ADD_DASHBOARD)
            if selenium2lib._is_visible(
                    FusionDashboardPage.ID_LINK_DASHBOARD_NAME %
                    dashboard.title):
                logger._log_to_console_and_log_file(
                    "Dashboard exist, Deleting Dashboard %s..." %
                    dashboard.title)
                ui_lib.move_to_element_and_click(
                    FusionDashboardPage.ID_LINK_DASHBOARD_NAME %
                    dashboard.title,
                    FusionDashboardPage.ID_LINK_DASHBOARD_DELETE %
                    dashboard.title)
                ui_lib.wait_for_element_and_click(
                    FusionDashboardPage.ID_BTN_DASHBOARD_DELETE_CONFIRM)
                ui_lib.wait_for_element_notvisible(
                    FusionDashboardPage.ID_LINK_DASHBOARD_NAME %
                    dashboard.title)
                logger._log_to_console_and_log_file("Dashboard %s deleted" %
                                                    dashboard.title)
                return True
            else:
                message = "Dashboard -- %s is not available or not visible in the Dashboards Page" % dashboard.title
                raise AssertionError(message)
        else:
            message = "\n%s has Dashboard title name is empty" % dashboard.name
            raise AssertionError(message)
Example #4
0
 def remove_custom_dashboard_panel(cls, dashboard_panel, timeout=5, fail_if_false=True):
     logger.debug("remove custom dashboard panel [%s]" % dashboard_panel)
     ui_lib.move_to_element_and_click(GeneralDashboardElements.ID_DASHBOARD_PANEL % dashboard_panel, RemoveDashboardPanelElements.ID_REMOVE_DASHBOARD_PANEL % dashboard_panel)
     ui_lib.wait_for_element_visible(RemoveDashboardPanelElements.ID_DIALOG_REMOVE_DASHBOARD_PANEL, timeout, fail_if_false)
     ui_lib.wait_for_element_and_click(RemoveDashboardPanelElements.ID_BUTTON_REMOVE_PANEL_YES_REMOVE, timeout, fail_if_false)
Example #5
0
 def remove_dashboard_panel(cls, dashboard_panel):
     logger.debug("remove dashboard panel [%s]" % dashboard_panel)
     ui_lib.move_to_element_and_click(GeneralDashboardElements.ID_DASHBOARD_PANEL % dashboard_panel, RemoveDashboardPanelElements.ID_REMOVE_DASHBOARD_PANEL % dashboard_panel)
def edit_dashboard(*edit_dashboard_obj):
    """ Edit Dashboard """
    selenium2lib = ui_lib.get_s2l()
    if not selenium2lib._is_element_present(FusionDashboardPage.ID_PAGE_LABEL):
        navigate()

    if type(edit_dashboard_obj) is test_data.DataObj:
        edit_dashboard_obj = [edit_dashboard_obj]
    elif type(edit_dashboard_obj) is tuple:
        edit_dashboard_obj = list(edit_dashboard_obj[0])
    for dashboard in edit_dashboard_obj:
        if len(dashboard.title.strip()) > 0:
            logger._log_to_console_and_log_file("\nEditing Dashboard %s ..." %
                                                dashboard.name)
            ui_lib.wait_for_element_visible(
                FusionDashboardPage.ID_LINK_ADD_DASHBOARD)
            # Check if Dashboard exist and click on Edit
            if selenium2lib._is_visible(
                    FusionDashboardPage.ID_LINK_DASHBOARD_NAME %
                    dashboard.title):
                logger._log_to_console_and_log_file(
                    "Dashboard exist, Editing Dashboard %s..." %
                    dashboard.title)
                ui_lib.move_to_element_and_click(
                    FusionDashboardPage.ID_LINK_DASHBOARD_EDIT %
                    dashboard.title,
                    FusionDashboardPage.ID_LINK_DASHBOARD_EDIT %
                    dashboard.title)
                if selenium2lib._is_visible(
                        FusionDashboardPage.ID_EDIT_DASHBOARD_PANEL_LABEL):
                    ui_lib.wait_for_element_and_click(
                        FusionDashboardPage.
                        ID_COMBO_ADD_DASHBOARD_PANEL_DROPDOWN)
                    ui_lib.wait_for_element_and_click(
                        FusionDashboardPage.ID_COMBO_ADD_DASHBOARD_PANEL_SELECT
                        % dashboard.panel)
                    ui_lib.wait_for_element_and_click(
                        FusionDashboardPage.
                        ID_COMBO_ADD_DASHBOARD_RESOURCES_DROPDOWN)
                    ui_lib.wait_for_element_and_click(
                        FusionDashboardPage.
                        ID_COMBO_ADD_DASHBOARD_RESOURCES_SELECT %
                        dashboard.resource)
                    ui_lib.wait_for_element_and_click(
                        FusionDashboardPage.ID_TXT_ADD_DASHBOARD_TITLE)
                    ui_lib.wait_for_element_and_input_text(
                        FusionDashboardPage.ID_TXT_ADD_DASHBOARD_TITLE,
                        dashboard.title)
                    ui_lib.wait_for_element_and_click(
                        FusionDashboardPage.ID_TXT_ADD_DASHBOARD_QUERY)
                    ui_lib.wait_for_element_and_input_text(
                        FusionDashboardPage.ID_TXT_ADD_DASHBOARD_QUERY,
                        dashboard.query)
                    if dashboard.type.lower() == "custom":
                        # Select Type Custom and input caption
                        ui_lib.wait_for_element_and_click(
                            FusionDashboardPage.
                            ID_COMBO_ADD_DASHBOARD_TYPE_DROPDOWN)
                        ui_lib.wait_for_element_and_click(
                            FusionDashboardPage.
                            ID_COMBO_ADD_DASHBOARD_TYPE_SELECT %
                            dashboard.type)
                        ui_lib.wait_for_element_and_click(
                            FusionDashboardPage.ID_TXT_ADD_DASHBOARD_CAPTION)
                        ui_lib.wait_for_element_and_input_text(
                            FusionDashboardPage.ID_TXT_ADD_DASHBOARD_CAPTION,
                            dashboard.caption)
                        if dashboard.editslice.lower() == "add":
                            # add new slice
                            ui_lib.wait_for_element_and_click(
                                FusionDashboardPage.ID_BTN_ADD_SLICE)
                            ui_lib.wait_for_element_and_click(
                                FusionDashboardPage.ID_TXT_ADD_SLICE_LABEL)
                            ui_lib.wait_for_element_and_input_text(
                                FusionDashboardPage.ID_TXT_ADD_SLICE_LABEL,
                                dashboard.slicelabel)
                            ui_lib.wait_for_element_and_click(
                                FusionDashboardPage.ID_TXT_ADD_SLICE_QUERY)
                            ui_lib.wait_for_element_and_input_text(
                                FusionDashboardPage.ID_TXT_ADD_SLICE_QUERY,
                                dashboard.slicequery)
                            ui_lib.wait_for_element_and_click(
                                FusionDashboardPage.ID_BTN_ADD_SLICE_OK)
                        elif dashboard.editslice.lower() == "edit":
                            # Edit current slice
                            ui_lib.move_to_element_and_click(
                                FusionDashboardPage.ID_LINK_ADD_SLICE_EDIT %
                                dashboard.editslicelabel,
                                FusionDashboardPage.ID_LINK_ADD_SLICE_EDIT %
                                dashboard.editslicelabel)
                            ui_lib.wait_for_element_and_input_text(
                                FusionDashboardPage.ID_TXT_ADD_SLICE_LABEL,
                                dashboard.slicelabel)
                            ui_lib.wait_for_element_and_click(
                                FusionDashboardPage.ID_TXT_ADD_SLICE_QUERY)
                            ui_lib.wait_for_element_and_input_text(
                                FusionDashboardPage.ID_TXT_ADD_SLICE_QUERY,
                                dashboard.slicequery)
                            ui_lib.wait_for_element_and_click(
                                FusionDashboardPage.ID_BTN_ADD_SLICE_OK)
                    elif dashboard.type.lower() == "status":
                        # Select Type Status
                        ui_lib.wait_for_element_and_click(
                            FusionDashboardPage.
                            ID_COMBO_ADD_DASHBOARD_TYPE_DROPDOWN)
                        ui_lib.wait_for_element_and_click(
                            FusionDashboardPage.
                            ID_COMBO_ADD_DASHBOARD_TYPE_SELECT %
                            dashboard.type)
                        # Input other Label and click add
                    ui_lib.wait_for_element_and_input_text(
                        FusionDashboardPage.ID_TXT_ADD_DASHBOARD_OTHER_LABEL,
                        dashboard.otherlabel)
                    ui_lib.wait_for_element_and_click(
                        FusionDashboardPage.ID_BTN_EDIT_DASHBOARD_OK)
                    return True
                else:
                    message = "\n Dashboard %s is not editable" % dashboard.title
                    raise AssertionError(message)
            else:
                message = "\n Dashboard %s does not exist or not visible" % dashboard.title
                raise AssertionError(message)
        else:
            message = "\n%s Dashboard title is empty" % dashboard.name
            raise AssertionError(message)
def add_label_to_networks(network_obj):
    """
        On the Networks Page, add the label to the networks
    """

    s2l = ui_lib.get_s2l()
    """ Navigate to Network Page """
    logger._log_to_console_and_log_file(
        "Function call to add label for each network ")
    if not ui_lib.wait_for_element(FusionNetworksPage.ID_PAGE_LABEL):
        navigate()

    if isinstance(network_obj, test_data.DataObj):
        network_obj = [network_obj]
    elif isinstance(network_obj, tuple):
        network_obj = list(network_obj)

    for net in network_obj:
        ui_lib.wait_for_element_and_click(FusionNetworksPage.ID_LINK_RESET)
        if not select_network(net.networkname):
            return False

        ui_lib.wait_for_element(FusionNetworksPage.ID_NETWORK_LIST)

        ui_lib.wait_for_element_and_click(
            FusionNetworksPage.ID_COMBO_MENU_VIEW)
        ui_lib.wait_for_element_and_click(
            FusionNetworksPage.ID_DROPDOWN_SELECTION)
        if ui_lib.wait_for_element(FusionNetworksPage.ID_EDIT_LABEL):
            ui_lib.move_to_element_and_click(FusionNetworksPage.ID_LABEL,
                                             FusionNetworksPage.ID_EDIT_LABEL)
            if ui_lib.wait_for_element(FusionNetworksPage.ID_EDIT_LABEL_PANEL):
                ui_lib.wait_for_element_and_input_text(
                    FusionNetworksPage.ID_LABEL_NAME, net.lname, 20)
                ui_lib.wait_for_element_and_click(
                    FusionNetworksPage.ID_ADD_LABEL_BTN)
                ui_lib.wait_for_element_and_click(
                    FusionNetworksPage.ID_OK_LABEL_BTN)
            else:
                logger._warn("Failed to navigate edit label panel")
                return False
        else:
            logger._warn("Could not find Edit button to add label")

        if ui_lib.wait_for_element(FusionNetworksPage.ID_ADDED_LABEL %
                                   net.lname):
            ui_lib.wait_for_element_and_click(
                FusionNetworksPage.ID_ADDED_LABEL % net.lname)
            network_list = []
            ui_lib.wait_for_element(FusionNetworksPage.ID_NETWORK_LIST_NAMES)
            network_list = [
                ui_lib.get_text(s) for s in s2l._element_find(
                    FusionNetworksPage.ID_NETWORK_LIST_NAMES, False, False)
            ]
            for network in network_list:
                if network.lower() == net.networkname.lower():
                    logger._log_to_console_and_log_file(
                        "Label {0} is successfully added to the network '{1}'".
                        format(net.lname, net.networkname))
                else:
                    logger._warn("Failed to add label to the selected network")
                    return False
    return True