TT#70901 selenium: add create/delete_customer

- add functions create and delete_customer, so that you are guarenteed to
start with an empty customer with no subscribers
- edited tests to use those new functions

Change-Id: I853309645252cc2991e5afac6046f325c4d9620c
changes/41/36741/3
Nico Schedel 6 years ago
parent 499dbc0717
commit e3ff694d19

@ -1,4 +1,6 @@
import os import os
import random
from functions import Functions
from selenium import webdriver from selenium import webdriver
from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.action_chains import ActionChains
@ -43,18 +45,88 @@ def logout_panel(driver):
'//*[@id="top-nav"]/ul//a[contains(text(), "Logout")]').click() '//*[@id="top-nav"]/ul//a[contains(text(), "Logout")]').click()
def create_subscriber(driver): def create_customer(driver, name=None):
if not name:
name = 'customer' + str(random.randint(1, 100000)) + 'test'
driver.find_element_by_xpath( driver.find_element_by_xpath(
'//*[@id="main-nav"]//*[contains(text(),"Settings")]').click() '//*[@id="main-nav"]//*[contains(text(),"Settings")]').click()
driver.find_element_by_link_text('Customers').click() driver.find_element_by_link_text('Customers').click()
driver.find_element_by_link_text('Create Customer').click()
driver.execute_script(
"arguments[0].scrollIntoView();", driver.find_element_by_xpath(
'//*[@id="contactidtable"]//tr[1]//td/input'))
driver.find_element_by_xpath(
'//*[@id="contactidtable"]//tr[1]//td/input').click()
driver.execute_script(
"arguments[0].scrollIntoView();", driver.find_element_by_xpath(
'//*[@id="billing_profileidtable"]//tr[1]//td/input'))
driver.find_element_by_xpath(
'//*[@id="billing_profileidtable"]//tr[1]//td/input').click()
driver.execute_script(
"arguments[0].scrollIntoView();", driver.find_element_by_xpath(
'//*[@id="external_id"]'))
Functions.fill_element(
driver, '//*[@id="external_id"]', name)
driver.find_element_by_xpath('//*[@id="save"]').click()
return name
def delete_customer(driver, name):
driver.find_element_by_xpath(
'//*[@id="main-nav"]//*[contains(text(),"Settings")]').click()
driver.find_element_by_link_text('Customers').click()
Functions.fill_element(
driver, '//*[@id="Customer_table_filter"]//input',
'thisshouldnotexist')
driver.find_element_by_css_selector(
'#Customer_table tr > td.dataTables_empty')
Functions.fill_element(
driver, '//*[@id="Customer_table_filter"]//input', name)
driver.find_element_by_xpath(
'//*[@id="Customer_table"]//tr[1]//td//a[contains(text(), "Details")]')
hoverclick = ActionChains(driver) hoverclick = ActionChains(driver)
hoverclick.move_to_element(driver.find_element_by_xpath( hoverclick.move_to_element(driver.find_element_by_xpath(
'//*[@id="Customer_table"]//tr[1]')) '//*[@id="Customer_table"]//tr[1]'))
hoverclick.click(driver.find_element_by_xpath( hoverclick.click(driver.find_element_by_xpath(
'//*[@id="Customer_table"]//tr[1]//td//a[contains(text(), ' '//*[@id="Customer_table"]//tr[1]//td//a[contains(text(), '
'"Details")]') '"Terminate")]')
) )
hoverclick.perform() hoverclick.perform()
driver.find_element_by_xpath('//*[@id="dataConfirmOK"]').click()
def create_subscriber(driver, customername=None):
driver.find_element_by_xpath(
'//*[@id="main-nav"]//*[contains(text(),"Settings")]').click()
driver.find_element_by_link_text('Customers').click()
if customername:
Functions.fill_element(
driver, '//*[@id="Customer_table_filter"]//input',
'thisshouldnotexist')
driver.find_element_by_css_selector(
'#Customer_table tr > td.dataTables_empty')
Functions.fill_element(
driver, '//*[@id="Customer_table_filter"]//input', customername)
driver.find_element_by_xpath(
'//*[@id="Customer_table"]//tr[1]//td//a[contains'
'(text(), "Details")]')
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()
else:
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()
driver.find_element_by_link_text('Expand Groups').click() driver.find_element_by_link_text('Expand Groups').click()
driver.execute_script( driver.execute_script(
'arguments[0].scrollIntoView();', 'arguments[0].scrollIntoView();',
@ -79,18 +151,38 @@ def create_subscriber(driver):
driver.find_element_by_xpath('//*[@id="save"]').click() driver.find_element_by_xpath('//*[@id="save"]').click()
def delete_subscriber(driver): def delete_subscriber(driver, customername=None):
driver.find_element_by_xpath( driver.find_element_by_xpath(
'//*[@id="main-nav"]//*[contains(text(),"Settings")]').click() '//*[@id="main-nav"]//*[contains(text(),"Settings")]').click()
driver.find_element_by_link_text('Customers').click() driver.find_element_by_link_text('Customers').click()
hoverclick = ActionChains(driver) if customername:
hoverclick.move_to_element(driver.find_element_by_xpath( Functions.fill_element(
'//*[@id="Customer_table"]//tr[1]')) driver, '//*[@id="Customer_table_filter"]//input',
hoverclick.click(driver.find_element_by_xpath( 'thisshouldnotexist')
'//*[@id="Customer_table"]//tr[1]//td//a[contains(text(), ' driver.find_element_by_css_selector(
'"Details")]') '#Customer_table tr > td.dataTables_empty')
) Functions.fill_element(
hoverclick.perform() driver, '//*[@id="Customer_table_filter"]//input', customername)
driver.find_element_by_xpath(
'//*[@id="Customer_table"]//tr[1]//td//a[contains'
'(text(), "Details")]')
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()
else:
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()
driver.find_element_by_link_text('Expand Groups').click() driver.find_element_by_link_text('Expand Groups').click()
driver.execute_script( driver.execute_script(
'arguments[0].scrollIntoView();', 'arguments[0].scrollIntoView();',

@ -13,6 +13,7 @@ from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By from selenium.webdriver.common.by import By
domainname = "thistextwillbereplaced" domainname = "thistextwillbereplaced"
customername = "thistextwillalsobereplaced"
filename = 0 filename = 0
@ -29,13 +30,15 @@ class testrun(unittest.TestCase):
self.driver.set_page_load_timeout(10) self.driver.set_page_load_timeout(10)
self.longMessage = True self.longMessage = True
def test_a_create_subscriber(self): def test_a_preparation(self):
global domainname global domainname
global customername
global filename global filename
filename = "test_a_create_subscriber.png" filename = "test_a_preparation.png"
driver = self.driver driver = self.driver
Collections.login_panel(driver) Collections.login_panel(driver)
Collections.create_subscriber(self.driver) customername = Collections.create_customer(driver)
Collections.create_subscriber(driver, customername)
driver.find_element_by_link_text('Expand Groups').click() driver.find_element_by_link_text('Expand Groups').click()
domainname = driver.find_element_by_xpath( domainname = driver.find_element_by_xpath(
'//*[@id="subscribers_table"]//tr[1]/td[3]').text '//*[@id="subscribers_table"]//tr[1]/td[3]').text
@ -894,21 +897,19 @@ class testrun(unittest.TestCase):
"/login/subscriber/#/login", "Logout failed") "/login/subscriber/#/login", "Logout failed")
filename = 0 filename = 0
def test_z_delete_subscriber(self): def test_z_cleanup(self):
global domainname global domainname
global customername
global filename global filename
filename = "test_z_delete_subscriber.png" filename = "test_z_cleanup.png"
driver = self.driver driver = self.driver
Collections.login_panel(driver) Collections.login_panel(driver)
Collections.delete_subscriber(driver) Collections.delete_customer(driver, customername)
driver.find_element_by_link_text('Expand Groups').click() Functions.fill_element(
driver.execute_script( driver, '//*[@id="Customer_table_filter"]//input', customername)
'arguments[0].scrollIntoView();',
driver.find_element_by_link_text('Subscribers')
)
self.assertTrue(driver.find_element_by_css_selector( self.assertTrue(driver.find_element_by_css_selector(
'#subscribers_table tr > td.dataTables_empty').is_displayed(), '#Customer_table tr > td.dataTables_empty').is_displayed(),
"Subscriber has not been deleted") "Customer has not been deleted")
filename = 0 filename = 0
def tearDown(self): def tearDown(self):

Loading…
Cancel
Save