summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2023-02-02 17:35:10 +0000
committerGerrit Code Review <review@openstack.org>2023-02-02 17:35:10 +0000
commit6d385a64e952fb553ce664637942f5f7bd89bd73 (patch)
tree63db22b4b2ac1c56e15a1cb70c02b2d5a28e6e9c
parentdc9bd9ed74665195eb23bbcafdf069014c3e8865 (diff)
parent25c107d710a03024243463be7e1d8404f1375232 (diff)
downloadhorizon-6d385a64e952fb553ce664637942f5f7bd89bd73.tar.gz
Merge "Fix delete image tests." into stable/zed
-rw-r--r--openstack_dashboard/test/integration_tests/basewebobject.py7
-rw-r--r--openstack_dashboard/test/integration_tests/pages/project/compute/imagespage.py10
2 files changed, 17 insertions, 0 deletions
diff --git a/openstack_dashboard/test/integration_tests/basewebobject.py b/openstack_dashboard/test/integration_tests/basewebobject.py
index aae87e910..f4207b0ce 100644
--- a/openstack_dashboard/test/integration_tests/basewebobject.py
+++ b/openstack_dashboard/test/integration_tests/basewebobject.py
@@ -152,6 +152,13 @@ class BaseWebObject(unittest.TestCase):
# it will raise the NoSuchElementException exception.
pass
+ def wait_until_element_is_visible(self, locator):
+ with self.waits_disabled():
+ try:
+ self._wait_till_element_visible(locator)
+ except Exceptions.NoSuchElementException:
+ pass
+
def wait_till_spinner_disappears(self):
def getter():
return self.driver.find_element(*self._spinner_locator)
diff --git a/openstack_dashboard/test/integration_tests/pages/project/compute/imagespage.py b/openstack_dashboard/test/integration_tests/pages/project/compute/imagespage.py
index 117c64b5c..6c1de478b 100644
--- a/openstack_dashboard/test/integration_tests/pages/project/compute/imagespage.py
+++ b/openstack_dashboard/test/integration_tests/pages/project/compute/imagespage.py
@@ -117,6 +117,14 @@ class ImagesPage(basepage.BaseNavigationPage):
'hz-magic-search-bar span.fa-search')
_search_option_locator = (by.By.CSS_SELECTOR,
'magic-search.form-control span.search-entry')
+ _search_name_locator_filled = (
+ by.By.XPATH,
+ "//*[@id='imageForm-name'][contains(@class,'ng-not-empty')]"
+ )
+ _search_checkbox_loaded = (
+ by.By.CSS_SELECTOR,
+ "td .themable-checkbox [type='checkbox'] + label[for*='Zactive']"
+ )
def __init__(self, driver, conf):
super().__init__(driver, conf)
@@ -134,6 +142,7 @@ class ImagesPage(basepage.BaseNavigationPage):
return self._get_element(*self._default_form_locator)
def _get_row_with_image_name(self, name):
+ self.wait_until_element_is_visible(self._search_checkbox_loaded)
return self.images_table.get_row(IMAGES_TABLE_NAME_COLUMN, name)
def create_image(self, name, description=None,
@@ -178,6 +187,7 @@ class ImagesPage(basepage.BaseNavigationPage):
visibility=None, protected=None):
row = self._get_row_with_image_name(name)
confirm_edit_images_form = self.images_table.edit_image(row)
+ self.wait_until_element_is_visible(self._search_name_locator_filled)
if new_name is not None:
confirm_edit_images_form.name.text = new_name