TT#79804 don't break lines on xpath

* create Functions.step to reduce code

Change-Id: Ie2b1994478710a18e258e73bbc089a473d57c607
changes/24/39724/4
Victor Seva 6 years ago
parent 0eb65cf3e5
commit 220b59ede7

@ -1,12 +1,6 @@
import os
import random
import time
from functions import Functions
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
def login_csc(driver, name, pwd):
@ -22,8 +16,7 @@ def login_csc(driver, name, pwd):
def logout_csc(driver):
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((
By.XPATH, '//*[@id="csc-header-toolbar"]/div[1]/button')))
Functions.step(driver, '//*[@id="csc-header-toolbar"]/div[1]/button')
driver.find_element_by_xpath(
'//*[@id="csc-header-toolbar"]/div[1]/button').click()
driver.find_element_by_xpath(
@ -48,14 +41,13 @@ def logout_panel(driver):
def create_customer(driver, name=None):
if not name:
name = 'customer' + str(random.randint(1, 100000)) + 'test'
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((
By.XPATH, '//*[@id="main-nav"]//*[contains(text(),"Settings")]')))
Functions.step(
driver, '//*[@id="main-nav"]//*[contains(text(),"Settings")]')
driver.find_element_by_xpath(
'//*[@id="main-nav"]//*[contains(text(),"Settings")]').click()
driver.find_element_by_link_text('Customers').click()
driver.find_element_by_link_text('Create Customer').click()
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((
By.XPATH, '//*[@id="contactidtable"]//tr[1]//td/input')))
Functions.step(driver, '//*[@id="contactidtable"]//tr[1]//td/input')
Functions.scroll_to_element(
driver, '//*[@id="contactidtable"]//tr[1]//td/input')
driver.find_element_by_xpath(
@ -73,8 +65,8 @@ def create_customer(driver, name=None):
def delete_customer(driver, name):
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((
By.XPATH, '//*[@id="main-nav"]//*[contains(text(),"Settings")]')))
Functions.step(
driver, '//*[@id="main-nav"]//*[contains(text(),"Settings")]')
driver.find_element_by_xpath(
'//*[@id="main-nav"]//*[contains(text(),"Settings")]').click()
driver.find_element_by_link_text('Customers').click()
@ -85,18 +77,16 @@ def delete_customer(driver, name):
'#Customer_table tr > td.dataTables_empty')
Functions.fill_element(
driver, '//*[@id="Customer_table_filter"]//input', name)
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((
By.XPATH, '//*[@id="Customer_table"]//tr[1]//td'
'[text()="%s"]' % name)))
Functions.step(
driver, '//*[@id="Customer_table"]//tr[1]//td[text()="%s"]' % name)
Functions.click_js(
driver, '//*[@id="Customer_table"]//tr[1]//td//a[contains(text(),'
' "Terminate")]')
driver, '//*[@id="Customer_table"]//tr[1]//td//a[contains(text(), "Terminate")]')
driver.find_element_by_xpath('//*[@id="dataConfirmOK"]').click()
def create_subscriber(driver, customername, domainname):
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((
By.XPATH, '//*[@id="main-nav"]//*[contains(text(),"Settings")]')))
Functions.step(
driver, '//*[@id="main-nav"]//*[contains(text(),"Settings")]')
driver.find_element_by_xpath(
'//*[@id="main-nav"]//*[contains(text(),"Settings")]').click()
driver.find_element_by_link_text('Customers').click()
@ -107,17 +97,14 @@ def create_subscriber(driver, customername, domainname):
'#Customer_table tr > td.dataTables_empty')
Functions.fill_element(
driver, '//*[@id="Customer_table_filter"]//input', customername)
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((
By.XPATH, '//*[@id="Customer_table"]//tr[1]//td'
'[text()="%s"]' % customername)))
Functions.step(
driver, '//*[@id="Customer_table"]//tr[1]//td[text()="%s"]' % customername)
Functions.click_js(
driver, '//*[@id="Customer_table"]//tr[1]//td//a[contains(text(),'
' "Details")]')
driver, '//*[@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()
WebDriverWait(driver, 10).until(EC.element_to_be_clickable(
(By.XPATH, '//*[@id="domainidtable_paginate"]/a[4]')))
Functions.step(driver, '//*[@id="domainidtable_paginate"]/a[4]')
Functions.fill_element(
driver, '//*[@id="domainidtable_filter"]//input',
'thisshouldnotexist')
@ -125,9 +112,8 @@ def create_subscriber(driver, customername, domainname):
'#domainidtable tr > td.dataTables_empty')
Functions.fill_element(
driver, '//*[@id="domainidtable_filter"]//input', domainname)
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((
By.XPATH, '//*[@id="domainidtable"]//tr[1]//td'
'[text()="%s"]' % domainname)))
Functions.step(
driver, '//*[@id="domainidtable"]//tr[1]//td[text()="%s"]' % domainname)
Functions.click_js(
driver, '//*[@id="domainidtable"]/tbody/tr[1]/td[4]/input')
driver.find_element_by_xpath(
@ -142,8 +128,8 @@ def create_subscriber(driver, customername, domainname):
def delete_subscriber(driver, customername):
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((
By.XPATH, '//*[@id="main-nav"]//*[contains(text(),"Settings")]')))
Functions.step(
driver, '//*[@id="main-nav"]//*[contains(text(),"Settings")]')
driver.find_element_by_xpath(
'//*[@id="main-nav"]//*[contains(text(),"Settings")]').click()
driver.find_element_by_link_text('Customers').click()
@ -154,31 +140,26 @@ def delete_subscriber(driver, customername):
'#Customer_table tr > td.dataTables_empty')
Functions.fill_element(
driver, '//*[@id="Customer_table_filter"]//input', customername)
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((
By.XPATH, '//*[@id="Customer_table"]//tr[1]//td'
'[text()="%s"]' % customername)))
Functions.step(
driver, '//*[@id="Customer_table"]//tr[1]//td[text()="%s"]' % customername)
Functions.click_js(
driver, '//*[@id="Customer_table"]//tr[1]//td//a[contains(text(),'
' "Details")]')
driver, '//*[@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')
Functions.click_js(
driver, '//*[@id="subscribers_table"]//tr[1]//td//a[contains(text(), '
'"Terminate")]')
driver, '//*[@id="subscribers_table"]//tr[1]//td//a[contains(text(), "Terminate")]')
driver.find_element_by_xpath('//*[@id="dataConfirmOK"]').click()
def create_domain(driver, name=None):
if not name:
name = 'domain' + str(random.randint(1, 100000)) + 'test'
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((
By.XPATH, '//*[@id="main-nav"]//*[contains(text(),"Settings")]')))
Functions.step(driver, '//*[@id="main-nav"]//*[contains(text(),"Settings")]')
driver.find_element_by_xpath(
'//*[@id="main-nav"]//*[contains(text(),"Settings")]').click()
driver.find_element_by_link_text('Domains').click()
driver.find_element_by_link_text('Create Domain').click()
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((
By.XPATH, '//*[@id="reselleridtable"]//tr[1]/td[5]/input')))
Functions.step(driver, '//*[@id="reselleridtable"]//tr[1]/td[5]/input')
driver.find_element_by_xpath(
'//*[@id="reselleridtable"]//tr[1]/td[5]/input').click()
Functions.fill_element(driver, '//*[@id="domain"]', name)
@ -187,8 +168,7 @@ def create_domain(driver, name=None):
def delete_domain(driver, name):
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((
By.XPATH, '//*[@id="main-nav"]//*[contains(text(),"Settings")]')))
Functions.step(driver, '//*[@id="main-nav"]//*[contains(text(),"Settings")]')
driver.find_element_by_xpath(
'//*[@id="main-nav"]//*[contains(text(),"Settings")]').click()
driver.find_element_by_link_text('Domains').click()
@ -199,9 +179,8 @@ def delete_domain(driver, name):
'#Domain_table tr > td.dataTables_empty')
Functions.fill_element(
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)))
Functions.step(
driver, '//*[@id="Domain_table"]//tr[1]//td[text()="%s"]' % name)
Functions.click_js(
driver, '//*[@id="Domain_table"]//tr[1]//td//a[contains(text(),'
' "Delete")]')
driver, '//*[@id="Domain_table"]//tr[1]//td//a[contains(text(), "Delete")]')
driver.find_element_by_xpath('//*[@id="dataConfirmOK"]').click()

@ -1,7 +1,5 @@
import os
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
@ -44,10 +42,16 @@ def create_driver():
def wait_for_loading_screen(driver):
xpath = '//div[@class="q-loading animate-fade fullscreen column flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat text-white"]'
driver.implicitly_wait(1)
for i in range(1, 5):
WebDriverWait(driver, 10).until(EC.invisibility_of_element_located((
By.XPATH, '//div[@class="q-loading animate-fade fullscreen column '
'flex-center z-maxundefined"]/svg[@class="q-spinner q-spinner-mat '
'text-white"]')))
step(driver, xpath, inv=True)
driver.implicitly_wait(10)
def step(driver, xpath, wait=10, inv=False):
if inv:
ec = EC.invisibility_of_element_located
else:
ec = EC.element_to_be_clickable
WebDriverWait(driver, wait).until(ec((By.XPATH, xpath)))

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save