def expand_databases_node(self, server_name, server_password): """will expand databases node under server node""" databases_node_expanded = False if self.expand_server_node(server_name, server_password): if self.wait_for_elements_to_appear( self.driver, TreeAreaLocators.sub_nodes_of_a_server_node(server_name)): subnodes_of_server_node = self.find_by_xpath_list( TreeAreaLocators.sub_nodes_of_a_server_node(server_name)) subnode_of_server_node_exp_status = self.find_by_xpath_list( TreeAreaLocators.sub_nodes_of_a_server_node_exp_status( server_name)) index_of_databases_node = self.get_index_of_element( subnodes_of_server_node, "Databases") time.sleep(2) expansion_status = self.get_expansion_status_of_node_element( subnode_of_server_node_exp_status[index_of_databases_node]) if not expansion_status: retry = 5 while retry > 0: webdriver.ActionChains(self.driver).double_click( subnodes_of_server_node[index_of_databases_node]. find_element_by_xpath( ".//*[@class='aciTreeItem']")).perform() if self.wait_for_elements_to_appear( self.driver, TreeAreaLocators.sub_nodes_of_databases_node( server_name), 3): databases_node_expanded = True break else: retry -= 1 else: databases_node_expanded = True else: print("The server/previous nodes not expanded", file=sys.stderr) return databases_node_expanded
def expand_server_node(self, server_name, server_password): """will expand a particular server node""" server_node_expansion_status = False if self.toggle_open_servers_group(): if self.wait_for_elements_to_appear( self.driver, TreeAreaLocators.server_group_sub_nodes): subnodes_of_servers = self.find_by_xpath_list( TreeAreaLocators.server_group_sub_nodes) subnodes_of_servers_expansion_status = \ self.find_by_xpath_list( TreeAreaLocators. server_group_sub_nodes_exp_status) index_of_server_node = self.get_index_of_element( subnodes_of_servers, server_name) if not self.check_server_is_connected(index_of_server_node): if self.click_and_connect_server( subnodes_of_servers[index_of_server_node], server_password): server_node_expansion_status = True else: print( "(expand_server_node)The server node is " "not expanded", file=sys.stderr) else: if not self.get_expansion_status_of_node_element( subnodes_of_servers_expansion_status[ index_of_server_node]): webdriver.ActionChains(self.driver).double_click( subnodes_of_servers[index_of_server_node]).perform( ) if self.wait_for_elements_to_appear( self.driver, TreeAreaLocators.sub_nodes_of_a_server_node( server_name), 30): server_node_expansion_status = True else: server_node_expansion_status = True else: print("(expand_server_node) The Servers node is" " not expanded", file=sys.stderr) return server_node_expansion_status