Merge "Refactor WebUI tests"
This commit is contained in:
commit
4172ff7c2f
|
@ -112,7 +112,8 @@ class UITestCase(testtools.TestCase):
|
|||
self.fill_field(by.By.ID, 'id_password', cfg.common.password)
|
||||
sign_in = self.elements.get('button', 'ButtonSubmit')
|
||||
self.driver.find_element_by_xpath(sign_in).click()
|
||||
self.driver.find_element_by_link_text('Murano').click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'Murano')).click()
|
||||
|
||||
def fill_field(self, by_find, field, value):
|
||||
self.driver.find_element(by=by_find, value=field).clear()
|
||||
|
@ -126,8 +127,8 @@ class UITestCase(testtools.TestCase):
|
|||
self.driver.find_element_by_id(
|
||||
'murano__action_CreateEnvironment').click()
|
||||
self.fill_field(by.By.ID, 'id_name', env_name)
|
||||
create = self.elements.get('button', 'InputSubmit')
|
||||
self.driver.find_element_by_xpath(create).click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'InputSubmit')).click()
|
||||
|
||||
def delete_environment(self, env_name):
|
||||
self.driver.find_element_by_link_text('Environments').click()
|
||||
|
@ -153,9 +154,12 @@ class UITestCase(testtools.TestCase):
|
|||
self.driver.find_element_by_id(
|
||||
"murano__row_{0}__action_{1}".format(element_id, action)).click()
|
||||
|
||||
def navigate_to(self, link):
|
||||
self.driver.find_element_by_link_text('Murano').click()
|
||||
self.driver.find_element_by_link_text('%s' % link).click()
|
||||
def go_to_submenu(self, link):
|
||||
self.driver.find_element_by_link_text('{0}'.format(link)).click()
|
||||
|
||||
def navigate_to(self, menu):
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', '{0}'.format(menu))).click()
|
||||
|
||||
def select_from_list(self, list_name, value):
|
||||
self.driver.find_element_by_xpath(
|
||||
|
@ -175,332 +179,213 @@ class UITestCase(testtools.TestCase):
|
|||
"murano__row_{0}__action_show".format(element_id)).click()
|
||||
|
||||
def create_demo_service(self, service_name):
|
||||
self.driver.find_element_by_id(
|
||||
'services__action_CreateService').click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('apps', 'Demo')).click()
|
||||
|
||||
self.select_from_list('service_choice-service', 'Demo Service')
|
||||
next_button = self.elements.get('button', 'Next')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_0-name', service_name)
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
self.fill_field(by.By.ID, 'id_demoService-0-name', service_name)
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
|
||||
self.select_from_list('demoService-1-osImage', self.demo_image)
|
||||
next_button = self.elements.get('button', 'Create')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.select_from_list('1-osImage', self.demo_image)
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
def create_linux_telnet(self, service_name):
|
||||
self.driver.find_element_by_id(
|
||||
'services__action_CreateService').click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('apps', 'Telnet')).click()
|
||||
|
||||
self.select_from_list('service_choice-service', 'Linux Telnet')
|
||||
next_button = self.elements.get('button', 'Next')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_0-name', service_name)
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
self.fill_field(by.By.ID, 'id_linuxTelnetService-0-name',
|
||||
service_name)
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
|
||||
self.select_from_list('linuxTelnetService-1-osImage',
|
||||
self.linux_image)
|
||||
self.select_from_list('linuxTelnetService-1-keyPair',
|
||||
self.keypair)
|
||||
next_button = self.elements.get('button', 'Create')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.select_from_list('1-osImage', self.linux_image)
|
||||
self.select_from_list('1-keyPair', self.keypair)
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'InputSubmit')).click()
|
||||
|
||||
def create_linux_apache(self, service_name):
|
||||
self.driver.find_element_by_id(
|
||||
'services__action_CreateService').click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('apps', 'Apache')).click()
|
||||
|
||||
self.select_from_list('service_choice-service', 'Linux Apache')
|
||||
next_button = self.elements.get('button', 'Next')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
|
||||
self.fill_field(by.By.ID, 'id_linuxApacheService-0-name', service_name)
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.select_from_list('linuxApacheService-1-osImage',
|
||||
self.linux_image)
|
||||
self.select_from_list('linuxApacheService-1-keyPair',
|
||||
self.keypair)
|
||||
next_button = self.elements.get('button', 'Create')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_0-name', service_name)
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
self.select_from_list('1-osImage', self.linux_image)
|
||||
self.select_from_list('1-keyPair', self.keypair)
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'InputSubmit')).click()
|
||||
|
||||
def create_ad_service(self, service_name):
|
||||
ad = 'id_activeDirectory-0'
|
||||
self.fill_field(by.By.ID, 'id_0-name', service_name)
|
||||
self.fill_field(by.By.ID, 'id_0-adminPassword', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-adminPassword-clone', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-recoveryPassword', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-recoveryPassword-clone', 'P@ssw0rd')
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
self.fill_field(by.By.ID, '{0}-name'.format(ad), service_name)
|
||||
self.fill_field(by.By.ID, '{0}-adminPassword'.format(ad), 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-adminPassword-clone'.format(ad),
|
||||
'P@ssw0rd')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-recoveryPassword'.format(ad),
|
||||
'P@ssw0rd')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-recoveryPassword-clone'.format(ad),
|
||||
'P@ssw0rd')
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
|
||||
self.select_from_list('activeDirectory-1-osImage', self.windows_image)
|
||||
next_button = self.elements.get('button', 'Create')
|
||||
self.select_from_list('1-osImage', self.windows_image)
|
||||
next_button = self.elements.get('button', 'InputSubmit')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
|
||||
def create_iis_service(self, service_name):
|
||||
iis = 'id_webServer-0'
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('apps', 'IIS')).click()
|
||||
|
||||
self.fill_field(by.By.ID, '{0}-name'.format(iis), service_name)
|
||||
self.fill_field(by.By.ID, '{0}-adminPassword'.format(iis), 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-adminPassword-clone'.format(iis),
|
||||
'P@ssw0rd')
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_0-name', service_name)
|
||||
self.fill_field(by.By.ID, 'id_0-adminPassword', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-adminPassword-clone', 'P@ssw0rd')
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
self.select_from_list('webServer-1-osImage', self.windows_image)
|
||||
next_button = self.elements.get('button', 'Create')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.select_from_list('1-osImage', self.windows_image)
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'InputSubmit')).click()
|
||||
|
||||
def create_asp_service(self, service_name):
|
||||
self.driver.find_element_by_id(
|
||||
'services__action_CreateService').click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('apps', 'ASP')).click()
|
||||
|
||||
self.select_from_list('service_choice-service', 'ASP.NET Application')
|
||||
next_button = self.elements.get('button', 'Next')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_0-name', service_name)
|
||||
self.fill_field(by.By.ID, 'id_0-adminPassword', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-adminPassword-clone', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-repository', self.asp_git_repository)
|
||||
|
||||
asp = 'id_aspNetApp-0'
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
self.fill_field(by.By.ID, '{0}-name'.format(asp), service_name)
|
||||
self.fill_field(by.By.ID, '{0}-adminPassword'.format(asp), 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-adminPassword-clone'.format(asp),
|
||||
'P@ssw0rd')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-repository'.format(asp),
|
||||
self.asp_git_repository)
|
||||
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
|
||||
self.select_from_list('aspNetApp-1-osImage', self.windows_image)
|
||||
next_button = self.elements.get('button', 'Create')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.select_from_list('1-osImage', self.windows_image)
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'InputSubmit')).click()
|
||||
|
||||
def create_iisfarm_service(self, service_name):
|
||||
self.driver.find_element_by_id(
|
||||
'services__action_CreateService').click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('apps', 'IISFarm')).click()
|
||||
|
||||
self.select_from_list('service_choice-service',
|
||||
'Internet Information Services Web Farm')
|
||||
next_button = self.elements.get('button', 'Next')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_0-name', service_name)
|
||||
self.fill_field(by.By.ID, 'id_0-adminPassword', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-adminPassword-clone', 'P@ssw0rd')
|
||||
|
||||
iis_farm = 'id_webServerFarm-0'
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
self.fill_field(by.By.ID, '{0}-name'.format(iis_farm), service_name)
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-adminPassword'.format(iis_farm),
|
||||
'P@ssw0rd')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-adminPassword-clone'.format(iis_farm),
|
||||
'P@ssw0rd')
|
||||
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
|
||||
self.select_from_list('webServerFarm-1-osImage', self.windows_image)
|
||||
next_button = self.elements.get('button', 'Create')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.select_from_list('1-osImage', self.windows_image)
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'InputSubmit')).click()
|
||||
|
||||
def create_aspfarm_service(self, service_name):
|
||||
self.driver.find_element_by_id(
|
||||
'services__action_CreateService').click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('apps', 'ASPFarm')).click()
|
||||
|
||||
self.select_from_list(
|
||||
'service_choice-service', 'ASP.NET Application Web Farm')
|
||||
next_button = self.elements.get('button', 'Next')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_0-name', service_name)
|
||||
self.fill_field(by.By.ID, 'id_0-adminPassword', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-adminPassword-clone', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-repository', self.asp_git_repository)
|
||||
|
||||
asp_farm = 'id_aspNetAppFarm-0'
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
self.fill_field(by.By.ID, '{0}-name'.format(asp_farm), service_name)
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-adminPassword'.format(asp_farm),
|
||||
'P@ssw0rd')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-adminPassword-clone'.format(asp_farm),
|
||||
'P@ssw0rd')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-repository'.format(asp_farm),
|
||||
self.asp_git_repository)
|
||||
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
|
||||
self.select_from_list('aspNetAppFarm-1-osImage', self.windows_image)
|
||||
next_button = self.elements.get('button', 'Create')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.select_from_list('1-osImage', self.windows_image)
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'InputSubmit')).click()
|
||||
|
||||
def create_mssql_service(self, service_name):
|
||||
self.driver.find_element_by_id(
|
||||
'services__action_CreateService').click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('apps', 'MSSQL')).click()
|
||||
|
||||
self.select_from_list('service_choice-service', 'MS SQL Server')
|
||||
next_button = self.elements.get('button', 'Next')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_0-name', service_name)
|
||||
self.fill_field(by.By.ID, 'id_0-adminPassword', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-adminPassword-clone', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-saPassword', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-saPassword-clone', 'P@ssw0rd')
|
||||
|
||||
mssql = 'id_msSqlServer-0'
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
self.fill_field(by.By.ID, '{0}-name'.format(mssql), service_name)
|
||||
self.fill_field(by.By.ID, '{0}-adminPassword'.format(mssql), 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-adminPassword-clone'.format(mssql),
|
||||
'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, '{0}-saPassword'.format(mssql), 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-saPassword-clone'.format(mssql),
|
||||
'P@ssw0rd')
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
|
||||
self.select_from_list('msSqlServer-1-osImage', self.windows_image)
|
||||
next_button = self.elements.get('button', 'Create')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.select_from_list('1-osImage', self.windows_image)
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'InputSubmit')).click()
|
||||
|
||||
def create_sql_cluster_service(self, service_name, domain_name):
|
||||
self.driver.find_element_by_id(
|
||||
'services__action_CreateService').click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('apps', 'SQL_cluster')).click()
|
||||
|
||||
self.select_from_list('service_choice-service',
|
||||
'MS SQL Server Cluster')
|
||||
next_button = self.elements.get('button', 'Next')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_0-name', service_name)
|
||||
self.fill_field(by.By.ID, 'id_0-adminPassword', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-adminPassword-clone', 'P@ssw0rd')
|
||||
|
||||
sql_cluster = 'id_msSqlClusterServer'
|
||||
self.select_from_list('id_0-domain', domain_name)
|
||||
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-0-name'.format(sql_cluster),
|
||||
service_name)
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-0-adminPassword'.format(sql_cluster),
|
||||
'P@ssw0rd')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-0-adminPassword-clone'.format(sql_cluster),
|
||||
'P@ssw0rd')
|
||||
self.select_from_list('msSqlClusterServer-0-domain', domain_name)
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-0-saPassword'.format(sql_cluster),
|
||||
'P@ssw0rd')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-0-saPassword-clone'.format(sql_cluster),
|
||||
'P@ssw0rd')
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_0-saPassword', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-saPassword-clone', 'P@ssw0rd')
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-1-clusterIp'.format(sql_cluster),
|
||||
'1.1.1.1')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-1-clusterName'.format(sql_cluster),
|
||||
'cluster')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-1-agGroupName'.format(sql_cluster),
|
||||
'ag-name')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-1-agListenerName'.format(sql_cluster),
|
||||
'listener_name')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-1-agListenerIP'.format(sql_cluster),
|
||||
'listener_name')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-1-sqlServiceUserName'.format(sql_cluster),
|
||||
'admin')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-1-sqlServicePassword'.format(sql_cluster),
|
||||
'P@ssw0rd')
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-1-sqlServicePassword-clone'.format(sql_cluster),
|
||||
'P@ssw0rd')
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_1-clusterIp', '1.1.1.1')
|
||||
self.fill_field(by.By.ID, 'id_1-clusterName', 'cluster')
|
||||
self.fill_field(by.By.ID, 'id_1-agGroupName', 'ag-name')
|
||||
self.fill_field(by.By.ID, 'id_1-agListenerName', 'listener_name')
|
||||
self.fill_field(by.By.ID, 'id_1-agListenerIP', 'listener_name')
|
||||
self.fill_field(by.By.ID, 'id_1-sqlServiceUserName', 'admin')
|
||||
self.fill_field(by.By.ID, 'id_1-sqlServicePassword', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_1-sqlServicePassword-clone', 'P@ssw0rd')
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
cluster_ip = self.get_env_subnet()
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-1-clusterIp'.format(sql_cluster),
|
||||
cluster_ip)
|
||||
self.fill_field(by.By.ID, 'id_1-clusterIp', cluster_ip)
|
||||
listener_ip = self.get_env_subnet()
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-1-agListenerIP'.format(sql_cluster),
|
||||
listener_ip)
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_1-agListenerIP', listener_ip)
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-2-databases'.format(sql_cluster),
|
||||
'testbase')
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_2-databases', 'testbase')
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
self.select_from_list('msSqlClusterServer-3-osImage',
|
||||
self.windows_image)
|
||||
next_button = self.elements.get('button', 'Create')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.select_from_list('3-osImage', self.windows_image)
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
def create_tomcat_service(self, service_name, database):
|
||||
self.driver.find_element_by_id(
|
||||
'services__action_CreateService').click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('apps', 'Tomcat')).click()
|
||||
|
||||
self.select_from_list('service_choice-service', 'Tomcat')
|
||||
next_button = self.elements.get('button', 'Next')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_0-name', service_name)
|
||||
self.fill_field(by.By.ID, 'id_0-repository', self.tomcat_repository)
|
||||
|
||||
tomcat = 'id_tomcat-0'
|
||||
self.select_from_list('id_0-psqlDatabase', database)
|
||||
|
||||
self.fill_field(by.By.ID, '{0}-name'.format(tomcat), service_name)
|
||||
self.fill_field(by.By.ID,
|
||||
'{0}-repository'.format(tomcat),
|
||||
self.tomcat_repository)
|
||||
self.select_from_list('tomcat-0-psqlDatabase', database)
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
self.select_from_list('tomcat-1-osImage', self.linux_image)
|
||||
self.select_from_list('1-osImage', self.linux_image)
|
||||
|
||||
next_button = self.elements.get('button', 'Create')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'InputSubmit')).click()
|
||||
|
||||
def create_postgreSQL_service(self, service_name):
|
||||
self.driver.find_element_by_id(
|
||||
'services__action_CreateService').click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('apps', 'postgreSQL')).click()
|
||||
|
||||
self.select_from_list('service_choice-service', 'PostgreSQL')
|
||||
next_button = self.elements.get('button', 'Next')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.fill_field(by.By.ID, 'id_0-name', service_name)
|
||||
self.fill_field(by.By.ID, 'id_0-database', 'psql-base')
|
||||
self.fill_field(by.By.ID, 'id_0-username', 'admin')
|
||||
self.fill_field(by.By.ID, 'id_0-password', 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, 'id_0-password-clone', 'P@ssw0rd')
|
||||
|
||||
psql = 'id_postgreSql-0'
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
self.fill_field(by.By.ID, '{0}-name'.format(psql), service_name)
|
||||
self.fill_field(by.By.ID, '{0}-database'.format(psql), 'psql-base')
|
||||
self.fill_field(by.By.ID, '{0}-username'.format(psql), 'admin')
|
||||
self.fill_field(by.By.ID, '{0}-password'.format(psql), 'P@ssw0rd')
|
||||
self.fill_field(by.By.ID, '{0}-password-clone'.format(psql), 'P@ssw0rd')
|
||||
self.select_from_list('1-osImage', self.linux_image)
|
||||
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'InputSubmit')).click()
|
||||
|
||||
self.select_from_list('postgreSql-1-osImage', self.linux_image)
|
||||
|
||||
next_button = self.elements.get('button', 'Create')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
|
||||
def get_element_id(self, element_name):
|
||||
path = self.driver.find_element_by_link_text(
|
||||
element_name).get_attribute("href")
|
||||
return path.split('/')[-2]
|
||||
def get_element_id(self, el_name):
|
||||
path = self.driver.find_element_by_xpath(
|
||||
".//*[@data-display='{0}']".format(el_name)).get_attribute("id")
|
||||
return path.split('__')[-1]
|
||||
|
||||
def delete_service(self, service_name):
|
||||
service_id = self.get_element_id(service_name)
|
||||
|
@ -516,8 +401,8 @@ class UITestCase(testtools.TestCase):
|
|||
return '10.0.{0}.{1}'.format(subnet, num)
|
||||
|
||||
def check_that_error_message_is_correct(self, error_message, num):
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
time.sleep(3)
|
||||
appeared_text = self.driver.find_element_by_xpath(
|
||||
"(.//div[@class = 'control-group form-field clearfix error'][%d])"
|
||||
|
@ -530,8 +415,8 @@ class UITestCase(testtools.TestCase):
|
|||
return False
|
||||
|
||||
def check_that_alert_message_is_appeared(self, error_message):
|
||||
next_button = self.elements.get('button', 'Next2')
|
||||
self.driver.find_element_by_xpath(next_button).click()
|
||||
self.driver.find_element_by_xpath(
|
||||
self.elements.get('button', 'ButtonSubmit')).click()
|
||||
|
||||
xpath = ".//*[@id='create_service_form']/div[2]/input[2]"
|
||||
WebDriverWait(self.driver, 10).until(lambda s: s.find_element(
|
||||
|
@ -546,52 +431,32 @@ class UITestCase(testtools.TestCase):
|
|||
else:
|
||||
return False
|
||||
|
||||
def click_on_service_catalog_action(self, action):
|
||||
def click_on_package_action(self, action):
|
||||
self.driver.find_element_by_xpath(
|
||||
".//*[@id='service_catalog__action_{0}']".format(action)).click()
|
||||
".//*[@id='packages__action_{0}']".format(action)).click()
|
||||
|
||||
def compose_trivial_service(self, name):
|
||||
self.click_on_service_catalog_action(action='compose_service')
|
||||
|
||||
self.fill_field(by.By.ID, 'id_service_display_name', name)
|
||||
self.fill_field(by.By.ID,
|
||||
'id_full_service_name',
|
||||
'{0}Service'.format(name))
|
||||
self.fill_field(by.By.ID, 'id_author', cfg.common.user)
|
||||
self.fill_field(by.By.ID, 'id_description', 'New Service')
|
||||
|
||||
self.driver.find_element_by_link_text('UI Files').click()
|
||||
self.select_and_click_element('ui##Demo.yaml')
|
||||
self.driver.find_element_by_link_text('Workflows').click()
|
||||
self.driver.find_element_by_xpath(
|
||||
".//*[@name = 'workflows@@workflows##Demo.xml@@selected']").click()
|
||||
self.driver.find_element_by_link_text('Heat Templates').click()
|
||||
self.driver.find_element_by_xpath(
|
||||
".//*[@name = 'heat@@heat##Demo.template@@selected']").click()
|
||||
|
||||
submit_button = self.elements.get('button', 'InputSubmit')
|
||||
self.driver.find_element_by_xpath(submit_button).click()
|
||||
|
||||
def select_action_for_service(self, service, action):
|
||||
def select_action_for_package(self, package, action):
|
||||
time.sleep(2)
|
||||
package_id = self.get_element_id(package)
|
||||
if action == 'more':
|
||||
self.driver.find_element_by_xpath(
|
||||
".//*[@id='service_catalog__row__{0}']/td[7]/div/a[2]".
|
||||
format(service)).click()
|
||||
".//*[@id='packages__row__{0}']/td[6]/div/a[2]".
|
||||
format(package_id)).click()
|
||||
WebDriverWait(self.driver, 10).until(lambda s: s.find_element(
|
||||
by.By.XPATH,
|
||||
".//*[@id='service_catalog__row_{0}__action_manage_service']".
|
||||
format(service)).is_displayed())
|
||||
".//*[@id='packages__row_{0}__action_download_package']".
|
||||
format(package_id)).is_displayed())
|
||||
else:
|
||||
self.driver.find_element_by_xpath(
|
||||
".//*[@id='service_catalog__row_{0}__action_{1}']".
|
||||
format(service, action)).click()
|
||||
".//*[@id='packages__row_{0}__action_{1}']".
|
||||
format(package_id, action)).click()
|
||||
|
||||
def check_service_parameter(self, page, service, column, value):
|
||||
def check_package_parameter(self, package, column, value):
|
||||
package_id = self.get_element_id(package)
|
||||
|
||||
result = self.driver.find_element_by_xpath(
|
||||
".//*[@id='{0}__row__{1}']/td[{2}]".
|
||||
format(page, service, column)).text
|
||||
".//*[@id='packages__row__{0}']/td[{1}]".
|
||||
format(package_id, column)).text
|
||||
if result == value:
|
||||
return True
|
||||
else:
|
||||
|
@ -640,3 +505,7 @@ class UITestCase(testtools.TestCase):
|
|||
self.select_action_for_environment(env_name, 'show_deployments')
|
||||
|
||||
self.assertEqual('Successful', status, 'Deploy finished with errors')
|
||||
|
||||
def select_and_click_action_for_app(self, action, app):
|
||||
self.driver.find_element_by_xpath(
|
||||
"//*[@href='/murano/catalog/{0}/{1}']".format(action, app)).click()
|
||||
|
|
|
@ -4,9 +4,9 @@ InputSubmit=//input[@type='submit']
|
|||
ConfirmDeletion=.//*[@id='modal_wrapper']/div/div[3]/a[1]
|
||||
More=/html/body/div/div[2]/div[3]/form/table/tbody/tr/td[4]/div/a[2]
|
||||
Next=//*[@id="create_service_form"]/strong/strong/div/button
|
||||
Next2=/html/body/div[3]/div/form/div[2]/input[2]
|
||||
Create=/html/body/div[3]/div/form/div[2]/input[2]
|
||||
|
||||
Murano=//*[@id="main_content"]/div[2]/div/dl/dt[3]/div
|
||||
Deployment=//*[@id="main_content"]/div[2]/div/dl/dd[3]/div[1]/h4/div
|
||||
Manage=//*[@id="main_content"]/div[2]/div/dl/dd[3]/div[2]/h4/div
|
||||
[apps]
|
||||
AD=.//*[@id='main_content']/div[3]/div[1]/div[1]/div/div[2]/a[1]
|
||||
IIS=.//*[@id='main_content']/div[3]/div[1]/div[3]/div/div[2]/a[1]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[common]
|
||||
horizon_url = http://127.0.0.1/horizon
|
||||
murano_url = http://127.0.0.1:8082/v1
|
||||
murano_url = http://127.0.0.1:8082
|
||||
user = WebTestUser
|
||||
password = swordfish
|
||||
tenant = WebTestProject
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue