diff --git a/airgun/entities/host.py b/airgun/entities/host.py index 126d97441..e724b55b8 100644 --- a/airgun/entities/host.py +++ b/airgun/entities/host.py @@ -70,6 +70,11 @@ def search(self, value): view = self.navigate_to(self, 'All') return view.search(value) + def reset_search(self): + """This function loads a HostsView and clears the searchbox.""" + view = HostsView(self.browser) + view.searchbox.clear() + def host_status(self, value): """Get Host status""" view = self.navigate_to(self, 'All') @@ -110,6 +115,12 @@ def delete(self, entity_name, cancel=False): view.flash.assert_no_error() view.flash.dismiss() + def read_hosts_after_search(self, entity_name): + """read_hosts_after_search""" + view = self.navigate_to(self, 'All') + view.search(entity_name) + return view.table.read() + def delete_interface(self, entity_name, interface_id): """Delete host network interface. @@ -249,10 +260,14 @@ def schedule_remote_job(self, entities_list, values, timeout=60, wait_for_result """ view = self._select_action('Schedule Remote Job', entities_list) view.fill(values) + sleep(2) view.submit.click() view.flash.assert_no_error() view.flash.dismiss() status_view = HostsJobInvocationStatusView(self.browser) + sleep(2) + self.browser.plugin.ensure_page_safe() + status_view.wait_displayed() if wait_for_results: status_view.wait_for_result(timeout=timeout) return status_view.read() diff --git a/airgun/entities/host_new.py b/airgun/entities/host_new.py index c1202e8d7..9536174f7 100644 --- a/airgun/entities/host_new.py +++ b/airgun/entities/host_new.py @@ -244,11 +244,12 @@ def remove_host_from_host_collection( def schedule_job(self, entity_name, values): """Schedule a remote execution on selected host""" view = self.navigate_to(self, 'NewDetails', entity_name=entity_name) + self.browser.plugin.ensure_page_safe() view.wait_displayed() + self.browser.wait_for_element(view.schedule_job, exception=False) view.schedule_job.fill('Schedule a job') view = JobInvocationCreateView(self.browser) self.browser.plugin.ensure_page_safe() - view.wait_displayed() view.fill(values) view.submit.click() diff --git a/airgun/entities/job_invocation.py b/airgun/entities/job_invocation.py index ecadb284f..fac4eae0d 100644 --- a/airgun/entities/job_invocation.py +++ b/airgun/entities/job_invocation.py @@ -21,6 +21,8 @@ def run(self, values): """Run specific job""" view = self.navigate_to(self, 'Run') view.fill(values) + view.submit.expander.click() + self.browser.wait_for_element(view.submit.submit, exception=False) view.submit.click() def search(self, value):