diff --git a/airgun/entities/contentview_new.py b/airgun/entities/contentview_new.py index f10e168a4..384ad0618 100644 --- a/airgun/entities/contentview_new.py +++ b/airgun/entities/contentview_new.py @@ -1,3 +1,4 @@ +from asyncio import wait_for import time from navmazing import NavigateToSibling @@ -52,6 +53,8 @@ def publish(self, entity_name, values=None, promote=False, lce=None): view.lce_selector.fill({lce: True}) view.next_button.click() view.finish_button.click() + wait_for(lambda: view.progressbar.is_displayed, timeout=10) + view.progressbar.wait_for_result() view = self.navigate_to(self, 'Edit', entity_name=entity_name) self.browser.plugin.ensure_page_safe(timeout='5s') view.wait_displayed() @@ -62,6 +65,7 @@ def add_content(self, entity_name, content_name): view = self.navigate_to(self, 'Edit', entity_name=entity_name) self.browser.plugin.ensure_page_safe(timeout='5s') view.wait_displayed() + wait_for(lambda: view.repositories.resources.is_displayed, timeout=10) view.repositories.resources.add(content_name) return view.repositories.resources.read() @@ -78,6 +82,9 @@ def add_cv(self, ccv_name, cv_name, always_update=False, version=None): view.version_select.item_select(version) view.submit_button.click() view = self.navigate_to(self, 'Edit', entity_name=ccv_name) + self.browser.plugin.ensure_page_safe(timeout='5s') + view.wait_displayed() + wait_for(lambda: view.content_views.resources.is_displayed, timeout=10) return view.content_views.resources.read() def read_cv(self, entity_name, version_name): @@ -99,7 +106,7 @@ def read_version_table(self, entity_name, version, tab_name, search_param=None): self.browser.plugin.ensure_page_safe(timeout='5s') view.wait_displayed() # This allows dynamic access to the proper table - getattr(view, tab_name).table.wait_displayed() + wait_for(lambda: getattr(view, tab_name).table.wait_displayed(), timeout=10) if search_param: getattr(view, tab_name).searchbox.search(search_param) return getattr(view, tab_name).table.read() diff --git a/airgun/views/contentview_new.py b/airgun/views/contentview_new.py index 12c955f2c..2d36608ed 100644 --- a/airgun/views/contentview_new.py +++ b/airgun/views/contentview_new.py @@ -48,6 +48,10 @@ class ContentViewAddResourcesView(NewAddRemoveResourcesView): }, ) + @property + def is_displayed(self): + return self.table.is_displayed + class AddContentViewModal(BaseLoggedInView): title = Text('.//div[@data-ouia-component-id="add-content-views"]')