diff --git a/t/selenium/functions/Collections.py b/t/selenium/functions/Collections.py index 49f84dbe..81ff4531 100644 --- a/t/selenium/functions/Collections.py +++ b/t/selenium/functions/Collections.py @@ -3,7 +3,6 @@ import random from functions import Functions from selenium import webdriver from selenium.webdriver.common.keys import Keys -from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By @@ -84,14 +83,9 @@ def delete_customer(driver, name): WebDriverWait(driver, 10).until(EC.element_to_be_clickable(( By.XPATH, '//*[@id="Customer_table"]//tr[1]//td' '[text()="%s"]' % name))) - hoverclick = ActionChains(driver) - hoverclick.move_to_element(driver.find_element_by_xpath( - '//*[@id="Customer_table"]//tr[1]')) - hoverclick.click(driver.find_element_by_xpath( - '//*[@id="Customer_table"]//tr[1]//td//a[contains(text(), ' - '"Terminate")]') - ) - hoverclick.perform() + Functions.move_and_click( + driver, '//*[@id="Customer_table"]//tr[1]', '//*[@id="Customer_table"]' + '//tr[1]//td//a[contains(text(), "Terminate")]') driver.find_element_by_xpath('//*[@id="dataConfirmOK"]').click() @@ -109,14 +103,9 @@ def create_subscriber(driver, customername, domainname): WebDriverWait(driver, 10).until(EC.element_to_be_clickable(( By.XPATH, '//*[@id="Customer_table"]//tr[1]//td' '[text()="%s"]' % customername))) - hoverclick = ActionChains(driver) - hoverclick.move_to_element(driver.find_element_by_xpath( - '//*[@id="Customer_table"]//tr[1]')) - hoverclick.click(driver.find_element_by_xpath( - '//*[@id="Customer_table"]//tr[1]//td//a[contains(text(), ' - '"Details")]') - ) - hoverclick.perform() + Functions.move_and_click( + driver, '//*[@id="Customer_table"]//tr[1]', '//*[@id="Customer_table"]' + '//tr[1]//td//a[contains(text(), "Details")]') driver.find_element_by_link_text('Expand Groups').click() Functions.scroll_to_element(driver, 'Subscribers') driver.find_element_by_link_text("Create Subscriber").click() @@ -158,24 +147,15 @@ def delete_subscriber(driver, customername): WebDriverWait(driver, 10).until(EC.element_to_be_clickable(( By.XPATH, '//*[@id="Customer_table"]//tr[1]//td' '[text()="%s"]' % customername))) - hoverclick = ActionChains(driver) - hoverclick.move_to_element(driver.find_element_by_xpath( - '//*[@id="Customer_table"]//tr[1]')) - hoverclick.click(driver.find_element_by_xpath( - '//*[@id="Customer_table"]//tr[1]//td//a[contains(text(), ' - '"Details")]') - ) - hoverclick.perform() + Functions.move_and_click( + driver, '//*[@id="Customer_table"]//tr[1]', '//*[@id="Customer_table"]' + '//tr[1]//td//a[contains(text(), "Details")]') driver.find_element_by_link_text('Expand Groups').click() Functions.scroll_to_element(driver, 'Subscribers') - hoverclick = ActionChains(driver) - hoverclick.move_to_element(driver.find_element_by_xpath( - '//*[@id="subscribers_table"]//tr[1]')) - hoverclick.click(driver.find_element_by_xpath( + Functions.move_and_click( + driver, '//*[@id="subscribers_table"]//tr[1]', '//*[@id="subscribers_table"]//tr[1]//td//a[contains(text(), ' '"Terminate")]') - ) - hoverclick.perform() driver.find_element_by_xpath('//*[@id="dataConfirmOK"]').click() @@ -208,12 +188,7 @@ def delete_domain(driver, name): driver, '//*[@id="Domain_table_filter"]//input', name) WebDriverWait(driver, 10).until(EC.element_to_be_clickable(( By.XPATH, '//*[@id="Domain_table"]//tr[1]//td[text()="%s"]' % name))) - hoverclick = ActionChains(driver) - hoverclick.move_to_element(driver.find_element_by_xpath( - '//*[@id="Domain_table"]//tr[1]')) - hoverclick.click(driver.find_element_by_xpath( - '//*[@id="Domain_table"]//tr[1]//td//a[contains(text(), ' - '"Delete")]') - ) - hoverclick.perform() + Functions.move_and_click( + driver, '//*[@id="Domain_table"]//tr[1]', '//*[@id="Domain_table"]' + '//tr[1]//td//a[contains(text(), "Delete")]') driver.find_element_by_xpath('//*[@id="dataConfirmOK"]').click() diff --git a/t/selenium/functions/Functions.py b/t/selenium/functions/Functions.py index 1aa9173b..c9c66a8f 100644 --- a/t/selenium/functions/Functions.py +++ b/t/selenium/functions/Functions.py @@ -21,3 +21,15 @@ def scroll_to_element(driver, element): else: webelem = driver.find_element_by_link_text(element) driver.execute_script("arguments[0].scrollIntoView();", webelem) + + +def move_and_click(driver, element, clickelement=None): + hoverclick = ActionChains(driver) + webelement = driver.find_element_by_xpath(element) + hoverclick.move_to_element(webelement) + if clickelement: + webelementclick = driver.find_element_by_xpath(clickelement) + hoverclick.click(webelementclick) + else: + hoverclick.click() + hoverclick.perform() diff --git a/t/selenium/testrun.py b/t/selenium/testrun.py index 9e3da550..3ecd9fc8 100644 --- a/t/selenium/testrun.py +++ b/t/selenium/testrun.py @@ -7,7 +7,6 @@ import functions.Functions as Functions from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.desired_capabilities import DesiredCapabilities -from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By