mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Selenium - more robust inline searching for published histories grid.
Refactor recent search improvement for workflow management into a method that can be shared with published histories grid. Should address the transient failure test here: https://jenkins.galaxyproject.org/job/selenium/521/artifact/521-test-errors/test_history_grid_search_standard2017092120151506039303/stacktrace.txt
This commit is contained in:
@@ -223,12 +223,27 @@ class NavigatesGalaxy(HasDriver):
|
||||
raise self.prepend_timeout_message(e, message)
|
||||
return history_item_selector_state
|
||||
|
||||
def published_grid_search_for(self, search_term=None):
|
||||
return self._inline_search_for(
|
||||
'#input-free-text-search-filter',
|
||||
search_term,
|
||||
)
|
||||
|
||||
def get_logged_in_user(self):
|
||||
return self.api_get("users/current")
|
||||
|
||||
def is_logged_in(self):
|
||||
return "email" in self.get_logged_in_user()
|
||||
|
||||
@retry_during_transitions
|
||||
def _inline_search_for(self, selector, search_term=None):
|
||||
search_box = self.wait_for_and_click_selector(selector)
|
||||
search_box.clear()
|
||||
if search_term is not None:
|
||||
search_box.send_keys(search_term)
|
||||
self.send_enter(search_box)
|
||||
return search_box
|
||||
|
||||
def _get_random_name(self, prefix=None, suffix=None, len=10):
|
||||
return '%s%s%s' % (
|
||||
prefix or '',
|
||||
@@ -502,6 +517,12 @@ class NavigatesGalaxy(HasDriver):
|
||||
def workflow_index_click_search(self):
|
||||
return self.wait_for_and_click_selector("input.search-wf")
|
||||
|
||||
def workflow_index_search_for(self, search_term=None):
|
||||
return self._inline_search_for(
|
||||
"input.search-wf",
|
||||
search_term,
|
||||
)
|
||||
|
||||
def workflow_index_click_import(self):
|
||||
self.wait_for_and_click_selector(self.test_data["selectors"]["workflows"]["import_button"])
|
||||
|
||||
|
||||
@@ -22,17 +22,11 @@ class HistoryGridTestCase(SharedStateSeleniumTestCase):
|
||||
def test_history_grid_search_standard(self):
|
||||
self.navigate_to_published_histories_page()
|
||||
|
||||
input_selector = '#input-free-text-search-filter'
|
||||
search_input = self.wait_for_selector(input_selector)
|
||||
search_input.send_keys(self.history1_name)
|
||||
self.send_enter(search_input)
|
||||
|
||||
self.published_grid_search_for(self.history1_name)
|
||||
self.assert_grid_histories_are([self.history1_name])
|
||||
|
||||
self.unset_filter('free-text-search', self.history1_name)
|
||||
search_input = self.wait_for_selector(input_selector)
|
||||
search_input.send_keys(self.history4_name)
|
||||
self.send_enter(search_input)
|
||||
self.published_grid_search_for(self.history4_name)
|
||||
|
||||
self.assert_grid_histories_are(['No Items'])
|
||||
|
||||
|
||||
@@ -74,13 +74,13 @@ class WorkflowManagementTestCase(SeleniumTestCase):
|
||||
self.workflow_index_rename("searchforthis")
|
||||
self._assert_showing_n_workflows(1)
|
||||
|
||||
self._click_and_search("doesnotmatch")
|
||||
self.workflow_index_search_for("doesnotmatch")
|
||||
self._assert_showing_n_workflows(0)
|
||||
|
||||
self._click_and_search()
|
||||
self.workflow_index_search_for()
|
||||
self._assert_showing_n_workflows(1)
|
||||
|
||||
self._click_and_search("searchforthis")
|
||||
self.workflow_index_search_for("searchforthis")
|
||||
self._assert_showing_n_workflows(1)
|
||||
|
||||
@selenium_test
|
||||
@@ -103,16 +103,6 @@ class WorkflowManagementTestCase(SeleniumTestCase):
|
||||
self.workflow_index_open()
|
||||
assert_published_column_text_is("Yes")
|
||||
|
||||
@retry_during_transitions
|
||||
def _click_and_search(self, search_term=None):
|
||||
# Allow default search_term of None to just clear search
|
||||
search_box = self.workflow_index_click_search()
|
||||
search_box.clear()
|
||||
if search_term is not None:
|
||||
search_box.send_keys(search_term)
|
||||
self.send_enter(search_box)
|
||||
return search_box
|
||||
|
||||
@retry_assertion_during_transitions
|
||||
def _assert_showing_n_workflows(self, n):
|
||||
self.assertEqual(len(self.workflow_index_table_elements()), n)
|
||||
|
||||
Reference in New Issue
Block a user