# -*- coding: utf-8 -*- from selenium import selenium from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait, Select from selenium.webdriver.support import expected_conditions as EC from module_functions import search_module from common_functions_60 import * import random, time import string def assign_alert_template_to_module (driver,agent_name,module_name,template_name): search_module(driver,agent_name,module_name) driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Alerts"]').click() Select(driver.find_element_by_id("id_agent_module")).select_by_visible_text(module_name) Select(driver.find_element_by_id("template")).select_by_visible_text(template_name) driver.find_element_by_id("submit-add").click() def force_alert_of_module(driver,agent_name,module_name,template_name): click_menu_element(driver,"Agent detail") driver.find_element_by_id("text-search").clear() driver.find_element_by_id("text-search").send_keys(agent_name) driver.find_element_by_id("submit-srcbutton").click() driver.find_element_by_css_selector("b").click() driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Alerts"]').click() driver.find_element_by_xpath('//tr[td[3][contains(.,"'+module_name+'")] and td[4][contains(.,"'+template_name+'")]]/td[2]/a').click() time.sleep(10) def create_new_action_to_alert(driver,action_name,action_group,command,threshold=None,field1=None,field2=None,field3=None): click_menu_element(driver,"Actions") driver.find_element_by_id("submit-create").click() driver.find_element_by_id("text-name").clear() driver.find_element_by_id("text-name").send_keys(action_name) driver.find_element_by_xpath('//option[contains(.,"'+action_group+'")]').click() driver.find_element_by_xpath('//option[contains(.,"'+command+'")]').click() if threshold != None: driver.find_element_by_id("text-action_threshold").clear() driver.find_element_by_id("text-action_threshold").send_keys(threshold) if command == "eMail" and field1 != None and field2 != None and field3 != None: driver.find_element_by_id("textarea_field1_value").clear() driver.find_element_by_id("textarea_field1_value").send_keys(field1) driver.find_element_by_id("textarea_field2_value").clear() driver.find_element_by_id("textarea_field2_value").send_keys(field2) driver.find_element_by_id("textarea_field3_value").clear() driver.find_element_by_id("textarea_field3_value").send_keys(field3) if command == "Syslog" and field1 != None and field2 != None: driver.find_element_by_id("textarea_field1_value").clear() driver.find_element_by_id("textarea_field1_value").send_keys(field1) driver.find_element_by_id("textarea_field2_value").clear() driver.find_element_by_id("textarea_field2_value").send_keys(field2) driver.find_element_by_id("submit-create").click() def create_new_command_to_alert(driver,command_name,command,list_field_description=None,list_field_values=None,description=None): click_menu_element(driver,"Commands") driver.find_element_by_id("submit-create").click() time.sleep(3) driver.find_element_by_id("text-name").clear() driver.find_element_by_xpath('//*[@id="text-name"]').send_keys(command_name) driver.find_element_by_id("textarea_command").clear() driver.find_element_by_id("textarea_command").send_keys(command) if description != None: driver.find_element_by_id("textarea_description").clear() driver.find_element_by_id("textarea_description").send_keys(description) if list_field_description != None: i=1 for field_description in list_field_description: driver.find_element_by_id("text-field"+str(i)+"_description").clear() driver.find_element_by_id("text-field"+str(i)+"_description").send_keys(field_description) i=i+1 if list_field_values != None: i=1 for field_value in list_field_values: driver.find_element_by_id("text-field"+str(i)+"_values").clear() driver.find_element_by_id("text-field"+str(i)+"_values").send_keys(field_value) i=i+1 driver.find_element_by_id("submit-create").click() def create_new_template_to_alert(driver,template_name,group,action_name,condition_type,list_days=None,time_from=None,time_to=None,description=None,alert_recovery=False,field_list=None): #If list_days is None, we select all days. Example list_days = ["monsday","friday"] #alert_recovery is disabled by defect. Choose True for pyt in enabled status click_menu_element(driver,"Templates") driver.find_element_by_id("submit-create").click() time.sleep(3) driver.find_element_by_id("text-name").clear() driver.find_element_by_id('text-name').send_keys(template_name) driver.find_element_by_xpath('//option[contains(.,"'+group+'")]').click() if description != None: driver.find_element_by_id("textarea_description").clear() driver.find_element_by_id('textarea_description').send_keys(description) driver.find_element_by_id("submit-next").click() time.sleep(3) if list_days != None: driver.find_element_by_id("checkbox-monday").click() driver.find_element_by_id("checkbox-tuesday").click() driver.find_element_by_id("checkbox-wednesday").click() driver.find_element_by_id("checkbox-thursday").click() driver.find_element_by_id("checkbox-friday").click() driver.find_element_by_id("checkbox-saturday").click() driver.find_element_by_id("checkbox-sunday").click() for day in list_days: driver.find_element_by_id("checkbox-"+day).click() if time_from != None: driver.find_element_by_id("text-time_from").clear() driver.find_element_by_id("text-time_from").send_keys(time_from) if time_to != None: driver.find_element_by_id("text-time_to").clear() driver.find_element_by_id("text-time_to").send_keys(time_to) driver.find_element_by_xpath('//option[contains(.,"'+action_name+'")]').click() driver.find_element_by_xpath('//option[contains(.,"'+condition_type+'")]').click() driver.find_element_by_id("submit-next").click() time.sleep(3) if alert_recovery == True: driver.find_element_by_xpath('//option[contains(.,"Enabled")]').click() if field_list != None: i=1 for field in field_list: driver.find_element_by_id("textarea_field"+str(i)).clear() driver.find_element_by_id("textarea_field"+str(i)).send_keys(field) i=i+1 driver.find_element_by_id("submit-finish").click() def edit_template_to_alert(driver,template_name,new_action=None,new_field_list=None): click_menu_element(driver,"Templates") driver.find_element_by_xpath('//a[contains(.,"'+template_name+'")]').click() #Go to Step 2 driver.find_element_by_id("submit-next").click() if new_action != None: driver.find_element_by_xpath('//option[contains(.,"'+new_action+'")]').click() #Go to Step 3 driver.find_element_by_id("submit-next").click() if new_field_list != None: i=1 for field in new_field_list: driver.find_element_by_id("textarea_field"+str(i)).clear() driver.find_element_by_id("textarea_field"+str(i)).send_keys(field) i=i+1 driver.find_element_by_id("submit-finish").click()