From de1b88f5f197e150218d618edad0aa6bfe1075ed Mon Sep 17 00:00:00 2001 From: cesar991 Date: Fri, 15 Jul 2016 13:59:51 +0200 Subject: [PATCH] Refactorized create_module function --- tests/console/PAN3.py | 18 ++++--------- tests/console/PAN4.py | 2 -- tests/console/PAN5.py | 13 +++------- tests/console/PAN8.py | 7 ++--- tests/console/include/module_functions.py | 31 +++++++++++++++-------- 5 files changed, 32 insertions(+), 39 deletions(-) diff --git a/tests/console/PAN3.py b/tests/console/PAN3.py index 8d76245105..f7ec190309 100644 --- a/tests/console/PAN3.py +++ b/tests/console/PAN3.py @@ -7,6 +7,7 @@ from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import Select from selenium.common.exceptions import StaleElementReferenceException +from include.module_functions import * import unittest, time, re @@ -20,19 +21,10 @@ class PAN3(PandoraWebDriverTestCase): driver = self.driver login(driver) detect_and_pass_all_wizards(driver) - create_agent(driver,"localhost icmp test",ip="127.0.0.1") - driver.find_element_by_css_selector("li.nomn.tab_godmode > a > img.forced_title").click() - driver.find_element_by_id("moduletype").click() - Select(driver.find_element_by_id("moduletype")).select_by_visible_text("Create a new network server module") - driver.find_element_by_name("updbutton").click() #Alternative XPATH: //*[@class="datos"]/input - driver.find_element_by_name("updbutton").click() #IMPORTANT! It's needed to click TWICE! One for leave the combo, and other for clicking the button - driver.find_element_by_id("id_module_type").click() - combo = driver.find_element_by_id("id_module_type") - Select(combo).select_by_visible_text("Remote ICMP network agent, boolean data") - combo.click() - driver.find_element_by_id("text-name").clear() - driver.find_element_by_id("text-name").send_keys("ping test") - driver.find_element_by_id("submit-crtbutton").click() + create_agent(driver,"PAN3_agent",ip="127.0.0.1") + + create_module("network_server",driver,agent_name="PAN3_agent",module_name="PAN3_module",component_group="Network Management",network_component="Host Alive",ip="127.0.0.1") + driver.find_element_by_xpath('//*[@id="menu_tab"]//a[contains(@href,"ver_agente")]').click() max_retries = 3 diff --git a/tests/console/PAN4.py b/tests/console/PAN4.py index cec17f79c3..508024b9f6 100644 --- a/tests/console/PAN4.py +++ b/tests/console/PAN4.py @@ -1,5 +1,3 @@ - - # -*- coding: utf-8 -*- from include.common_classes_60 import PandoraWebDriverTestCase from include.common_functions_60 import login, click_menu_element, refresh_N_times_until_find_element, detect_and_pass_all_wizards, is_element_present, logout diff --git a/tests/console/PAN5.py b/tests/console/PAN5.py index 2110ac9cd5..35b5f663da 100644 --- a/tests/console/PAN5.py +++ b/tests/console/PAN5.py @@ -5,6 +5,7 @@ from include.common_functions_60 import login, click_menu_element, refresh_N_tim from include.reports_functions import create_report, delete_report from include.user_functions import create_user from include.agent_functions import create_agent +from include.module_functions import create_module from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys @@ -26,16 +27,8 @@ class PAN5(PandoraWebDriverTestCase): create_agent(driver,u"次のライセンスに基づいていま") #Create module - driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Modules"]').click() - Select(driver.find_element_by_id("moduletype")).select_by_visible_text("Create a new network server module") - driver.find_element_by_name("updbutton").click() - Select(driver.find_element_by_id("network_component_group")).select_by_visible_text("Network Management") - Select(driver.find_element_by_id("network_component")).select_by_visible_text("Host Alive") - time.sleep(3) - driver.find_element_by_id("text-name").clear() - driver.find_element_by_id("text-name").send_keys(u"管理者ガイド") - driver.find_element_by_id("submit-crtbutton").click() - + create_module("network_server",driver,agent_name=u"次のライセンスに基づいていま",module_name=u"管理者ガイド",component_group="Network Management",network_component="Host Alive",ip="192.168.50.50") + #Create alert 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(u"管理者ガイド") diff --git a/tests/console/PAN8.py b/tests/console/PAN8.py index 1d9dbdeef5..32c851a73b 100644 --- a/tests/console/PAN8.py +++ b/tests/console/PAN8.py @@ -3,7 +3,7 @@ from include.common_classes_60 import PandoraWebDriverTestCase from include.common_functions_60 import login, click_menu_element, detect_and_pass_all_wizards, logout from include.agent_functions import create_agent, search_agent from include.user_functions import create_user -from include.module_functions import create_network_server_module +from include.module_functions import * from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys @@ -28,11 +28,12 @@ class PAN8(PandoraWebDriverTestCase): #We create a module without a tag - create_network_server_module(driver,"PAN_8",module_name="Without tag",component_group="Network Management",network_component="Host Alive",ip="192.168.50.50") + create_module("network_server",driver,agent_name="PAN_8",module_name="Without tag",component_group="Network Management",network_component="Host Alive",ip="192.168.50.50") #We now create a modulo with tag "critical" - create_network_server_module(driver,"PAN_8",module_name="With tag",component_group="Network Management",network_component="Host Alive",ip="192.168.50.50",tag_name="critical") + create_module("network_server",driver,agent_name="PAN_8",module_name="With tag",component_group="Network Management",network_component="Host Alive",ip="192.168.50.50",tag_name="critical") + l = [("Operator (Read)","All",["critical"])] diff --git a/tests/console/include/module_functions.py b/tests/console/include/module_functions.py index 1bb760a1cf..0e4f989eaf 100644 --- a/tests/console/include/module_functions.py +++ b/tests/console/include/module_functions.py @@ -10,17 +10,24 @@ import random, time import string -def create_network_server_module(driver,agent_name,module_name=None,component_group=None,type=None,network_component=None,min_warning=None,max_warning=None,min_critical=None,max_critical=None,ip=None,tag_name=None,description=None): +def create_module(module_type,*args,**kwargs): + if module_type=='network_server': + create_network_server_module(*args,**kwargs) + elif module_type=='data_server': + create_data_server_module(*args,**kwargs) + +def create_network_server_module(driver,agent_name=None,module_name=None,component_group=None,type=None,network_component=None,min_warning=None,max_warning=None,min_critical=None,max_critical=None,ip=None,tag_name=None,description=None): # component_group -> Example: Remote ICMP network agent (latency) # network_component -> Example: Host Alive #The type variable is optional, but required if component_group and network_component variables are specified - search_agent(driver,agent_name) - - driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Manage"]').click() - driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Modules"]').click() + if agent_name != None: + search_agent(driver,agent_name) + driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Manage"]').click() + driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Modules"]').click() + Select(driver.find_element_by_id("moduletype")).select_by_visible_text("Create a new network server module") driver.find_element_by_xpath('//*[@id="create_module_type"]/table/tbody/tr/td[5]/input').click() @@ -61,6 +68,7 @@ def create_network_server_module(driver,agent_name,module_name=None,component_gr Select(driver.find_element_by_id("id_module_type")).select_by_visible_text(type) if module_name != None: + time.sleep(3) driver.find_element_by_id("text-name").clear() driver.find_element_by_id("text-name").send_keys(module_name) @@ -77,16 +85,17 @@ def create_network_server_module(driver,agent_name,module_name=None,component_gr driver.find_element_by_id("submit-crtbutton").click() -def create_data_server_module(driver,agent_name,module_name,type=None,min_warning=None,max_warning=None,min_critical=None,max_critical=None,tag_name=None,description=None): +def create_data_server_module(driver,module_name,agent_name=None,type=None,min_warning=None,max_warning=None,min_critical=None,max_critical=None,tag_name=None,description=None): # type -> Example: Generic numeric # The type variable is Generic numeric by default - - search_agent(driver,agent_name) - - driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Manage"]').click() - driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Modules"]').click() + + if agent_name != None: + search_agent(driver,agent_name) + driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Manage"]').click() + driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Modules"]').click() + Select(driver.find_element_by_id("moduletype")).select_by_visible_text("Create a new data server module") driver.find_element_by_xpath('//*[@id="create_module_type"]/table/tbody/tr/td[5]/input').click()