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 random
from functions import Functions
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
@ -43,10 +45,80 @@ def logout_panel(driver):
'//*[@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(
'//*[@id="main-nav"]//*[contains(text(),"Settings")]').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.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()
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]'))
@ -79,10 +151,30 @@ def create_subscriber(driver):
driver.find_element_by_xpath('//*[@id="save"]').click()
def delete_subscriber(driver):
def delete_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]'))

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

Loading…
Cancel
Save