diff options
author | Zuul <zuul@review.opendev.org> | 2023-02-02 17:35:10 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2023-02-02 17:35:10 +0000 |
commit | 6d385a64e952fb553ce664637942f5f7bd89bd73 (patch) | |
tree | 63db22b4b2ac1c56e15a1cb70c02b2d5a28e6e9c | |
parent | dc9bd9ed74665195eb23bbcafdf069014c3e8865 (diff) | |
parent | 25c107d710a03024243463be7e1d8404f1375232 (diff) | |
download | horizon-6d385a64e952fb553ce664637942f5f7bd89bd73.tar.gz |
Merge "Fix delete image tests." into stable/zed
-rw-r--r-- | openstack_dashboard/test/integration_tests/basewebobject.py | 7 | ||||
-rw-r--r-- | openstack_dashboard/test/integration_tests/pages/project/compute/imagespage.py | 10 |
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 |