TT#70901 selenium: add move_and_click

- add move and click(). this function works by using action chains, just
like the ngcp-panel tests. all action chains in the code have been replaced
by this function.

Change-Id: Idfcf85e0407b2e78441c63ac7c0481c7119e721f
changes/81/36981/1
Nico Schedel 6 years ago
parent 12679c06cb
commit 70e0c1431d

@ -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()

@ -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()

@ -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

Loading…
Cancel
Save