From aa44af4e095af301310a9b796e36ec477f37e246 Mon Sep 17 00:00:00 2001 From: John Chilton Date: Thu, 16 Oct 2025 09:14:20 -0400 Subject: [PATCH] Mark all the untested tests as Selenium only - we love a checklist. --- lib/galaxy_test/selenium/test_admin_app.py | 8 +++ .../selenium/test_archive_explorer.py | 3 ++ .../selenium/test_change_password.py | 4 ++ .../selenium/test_collection_builders.py | 9 ++++ .../selenium/test_collection_edit.py | 7 +++ .../selenium/test_custom_builds.py | 3 ++ lib/galaxy_test/selenium/test_custom_tools.py | 3 ++ lib/galaxy_test/selenium/test_dataset_edit.py | 2 + .../selenium/test_histories_list.py | 13 +++++ .../selenium/test_histories_published.py | 8 +++ .../selenium/test_history_multi_view.py | 2 + .../selenium/test_history_panel.py | 7 +++ .../test_history_panel_collections.py | 10 ++++ .../selenium/test_history_sharing.py | 2 + .../selenium/test_history_storage.py | 3 ++ .../selenium/test_invocation_grid.py | 2 + .../selenium/test_library_contents.py | 4 ++ .../selenium/test_library_landing.py | 5 ++ .../selenium/test_library_to_collections.py | 5 ++ .../selenium/test_personal_information.py | 5 ++ lib/galaxy_test/selenium/test_registration.py | 2 + lib/galaxy_test/selenium/test_stock_tours.py | 5 ++ lib/galaxy_test/selenium/test_tool_form.py | 19 +++++++ .../selenium/test_tutorial_mode.py | 2 + lib/galaxy_test/selenium/test_uploads.py | 24 +++++++++ .../selenium/test_visualizations.py | 4 ++ .../selenium/test_workflow_editor.py | 52 +++++++++++++++++++ .../selenium/test_workflow_management.py | 14 +++++ .../selenium/test_workflow_rerun.py | 2 + lib/galaxy_test/selenium/test_workflow_run.py | 25 +++++++++ .../selenium/test_workflow_sharing.py | 3 ++ 31 files changed, 257 insertions(+) diff --git a/lib/galaxy_test/selenium/test_admin_app.py b/lib/galaxy_test/selenium/test_admin_app.py index 8b48eac653b..33d210a32b8 100644 --- a/lib/galaxy_test/selenium/test_admin_app.py +++ b/lib/galaxy_test/selenium/test_admin_app.py @@ -1,6 +1,7 @@ from galaxy_test.base.decorators import requires_admin from galaxy_test.base.populators import flakey from .framework import ( + selenium_only, selenium_test, SeleniumTestCase, ) @@ -9,6 +10,7 @@ from .framework import ( class TestAdminApp(SeleniumTestCase): run_as_admin = True + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @requires_admin def test_html_allowlist(self): @@ -37,6 +39,7 @@ class TestAdminApp(SeleniumTestCase): self.sleep_for(self.wait_types.UX_RENDER) self.screenshot("admin_allowlist_converter_sanitized") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @flakey @requires_admin @@ -100,6 +103,7 @@ class TestAdminApp(SeleniumTestCase): self.sleep_for(self.wait_types.UX_TRANSITION) self.screenshot("admin_toolshed_repo_uninstalled") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @requires_admin def test_admin_dependencies_display(self): @@ -122,6 +126,7 @@ class TestAdminApp(SeleniumTestCase): admin_component.manage_dependencies.unused_paths.wait_for_visible() self.screenshot("admin_dependencies_unused") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @requires_admin def test_admin_jobs_display(self): @@ -150,6 +155,7 @@ class TestAdminApp(SeleniumTestCase): # And confirm that it has toggled back to what it was. assert lock_label.wait_for_text() == original_label + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @requires_admin def test_admin_server_display(self): @@ -178,6 +184,7 @@ class TestAdminApp(SeleniumTestCase): assert title_element.text == "Local Data" self.screenshot("admin_local_data") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @requires_admin def test_admin_user_display(self): @@ -204,6 +211,7 @@ class TestAdminApp(SeleniumTestCase): admin_component.roles_grid.wait_for_visible() self.screenshot("admin_roles") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @requires_admin def test_admin_data_manager(self): diff --git a/lib/galaxy_test/selenium/test_archive_explorer.py b/lib/galaxy_test/selenium/test_archive_explorer.py index d210053229b..24a7dfd95c7 100644 --- a/lib/galaxy_test/selenium/test_archive_explorer.py +++ b/lib/galaxy_test/selenium/test_archive_explorer.py @@ -2,6 +2,7 @@ from selenium.webdriver.common.by import By from galaxy.util.unittest_utils import skip_if_github_down from .framework import ( + selenium_only, selenium_test, SeleniumTestCase, UsesHistoryItemAssertions, @@ -13,6 +14,7 @@ REMOTE_ZIP_URL = ( class TestArchiveExplorer(SeleniumTestCase, UsesHistoryItemAssertions): + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_import_from_local_zip(self): self.login() @@ -41,6 +43,7 @@ class TestArchiveExplorer(SeleniumTestCase, UsesHistoryItemAssertions): self.start_importing_files() self.expect_history_item_to_be_imported(hid=1, name="README.txt") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @skip_if_github_down def test_import_from_remote_zip(self): diff --git a/lib/galaxy_test/selenium/test_change_password.py b/lib/galaxy_test/selenium/test_change_password.py index 8ab3e9f8e31..eedd345dc72 100644 --- a/lib/galaxy_test/selenium/test_change_password.py +++ b/lib/galaxy_test/selenium/test_change_password.py @@ -1,10 +1,14 @@ from .framework import ( + selenium_only, selenium_test, SeleniumTestCase, ) class TestChangePassword(SeleniumTestCase): + @selenium_only( + "Not yet migrated to support Playwright backend - playwright._impl._errors.Error: Page.goto: net::ERR_ABORTED at http://localhost:8081/" + ) @selenium_test def test_change_password(self): self.home() diff --git a/lib/galaxy_test/selenium/test_collection_builders.py b/lib/galaxy_test/selenium/test_collection_builders.py index 7164d4ea9aa..54705f98ca4 100644 --- a/lib/galaxy_test/selenium/test_collection_builders.py +++ b/lib/galaxy_test/selenium/test_collection_builders.py @@ -1,5 +1,6 @@ from .framework import ( managed_history, + selenium_only, selenium_test, SeleniumTestCase, ) @@ -8,6 +9,7 @@ from .framework import ( class TestCollectionBuilders(SeleniumTestCase): ensure_registered = True + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_build_list_simple_hidden(self): @@ -19,6 +21,7 @@ class TestCollectionBuilders(SeleniumTestCase): self.collection_builder_create() self._wait_for_hid_visible(3) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_build_list_and_show_items(self): @@ -31,6 +34,7 @@ class TestCollectionBuilders(SeleniumTestCase): self.collection_builder_create() self._wait_for_hid_visible(3) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_build_paired_list_auto_matched(self): @@ -53,6 +57,7 @@ class TestCollectionBuilders(SeleniumTestCase): self._wait_for_hid_visible(3) self._wait_for_hid_visible(4) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_build_paired_list_manual_matched(self): @@ -80,6 +85,7 @@ class TestCollectionBuilders(SeleniumTestCase): self._wait_for_hid_visible(3) self._wait_for_hid_visible(4) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_build_paired_unpaired_list(self): @@ -98,6 +104,7 @@ class TestCollectionBuilders(SeleniumTestCase): self.collection_builder_create() self._wait_for_hid_visible(7) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_build_list_of_lists(self): @@ -120,6 +127,7 @@ class TestCollectionBuilders(SeleniumTestCase): self.collection_builder_create() self._wait_for_hid_visible(9) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_build_paired_list_show_original(self): @@ -147,6 +155,7 @@ class TestCollectionBuilders(SeleniumTestCase): self._wait_for_hid_visible(3) self._wait_for_hid_visible(4) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_build_simple_list_via_rules_hidden(self): diff --git a/lib/galaxy_test/selenium/test_collection_edit.py b/lib/galaxy_test/selenium/test_collection_edit.py index 658f04bee6c..5824e77c811 100644 --- a/lib/galaxy_test/selenium/test_collection_edit.py +++ b/lib/galaxy_test/selenium/test_collection_edit.py @@ -1,5 +1,6 @@ from .framework import ( managed_history, + selenium_only, selenium_test, SeleniumTestCase, ) @@ -8,6 +9,9 @@ from .framework import ( class TestCollectionEdit(SeleniumTestCase): ensure_registered = True + @selenium_only( + "Not yet migrated to support Playwright backend - Timeout waiting on CSS selector [.collection-edit-change-datatype-nav] to become clickable." + ) @selenium_test @managed_history def test_change_dbkey_simple_list(self): @@ -25,6 +29,9 @@ class TestCollectionEdit(SeleniumTestCase): self.navigate_to_database_tab() self.check_current_data_value(dataNew) + @selenium_only( + "Not yet migrated to support Playwright backend - Timeout waiting on CSS selector [.collection-edit-change-datatype-nav] to become clickable." + ) @selenium_test @managed_history def test_change_datatype_simple_list(self): diff --git a/lib/galaxy_test/selenium/test_custom_builds.py b/lib/galaxy_test/selenium/test_custom_builds.py index 3085020d0af..cd6df88cc41 100644 --- a/lib/galaxy_test/selenium/test_custom_builds.py +++ b/lib/galaxy_test/selenium/test_custom_builds.py @@ -2,6 +2,7 @@ from selenium.webdriver.common.by import By from .framework import ( retry_assertion_during_transitions, + selenium_only, selenium_test, SharedStateSeleniumTestCase, ) @@ -14,6 +15,7 @@ class TestCustomBuilds(SharedStateSeleniumTestCase): build_key1: str build_key2: str + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_build_add(self): self._login() @@ -21,6 +23,7 @@ class TestCustomBuilds(SharedStateSeleniumTestCase): self.add_custom_build(self.build_name1, self.build_key1) self.assert_custom_builds_in_grid([self.build_name1]) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_build_delete(self): self._login() diff --git a/lib/galaxy_test/selenium/test_custom_tools.py b/lib/galaxy_test/selenium/test_custom_tools.py index 52d6e04f698..4556587f1f4 100644 --- a/lib/galaxy_test/selenium/test_custom_tools.py +++ b/lib/galaxy_test/selenium/test_custom_tools.py @@ -6,6 +6,7 @@ from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys from .framework import ( + selenium_only, selenium_test, SeleniumTestCase, ) @@ -18,6 +19,7 @@ class TestCustomTools(SeleniumTestCase): """Skip accessibility checks for custom tools tests due to Monaco editor issues.""" pass + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_create_custom_tool(self): """Test creating a new custom tool through the UI.""" @@ -26,6 +28,7 @@ class TestCustomTools(SeleniumTestCase): assert tool_uuid, "Tool UUID should be returned after saving." self.components.custom_tools.tool_link(tool_uuid=tool_uuid).wait_for_clickable() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_run_custom_tool(self): test_path = self.get_filename("1.fasta") diff --git a/lib/galaxy_test/selenium/test_dataset_edit.py b/lib/galaxy_test/selenium/test_dataset_edit.py index b6da177f42b..08b226c7dbf 100644 --- a/lib/galaxy_test/selenium/test_dataset_edit.py +++ b/lib/galaxy_test/selenium/test_dataset_edit.py @@ -1,6 +1,7 @@ from galaxy.selenium.axe_results import FORMS_VIOLATIONS from .framework import ( managed_history, + selenium_only, selenium_test, SeleniumTestCase, ) @@ -66,6 +67,7 @@ class TestHistoryPanel(SeleniumTestCase): assert annotation_component.wait_for_value() == TEST_ANNOTATION assert info_component.wait_for_value() == TEST_INFO + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_history_dataset_auto_detect_datatype(self): diff --git a/lib/galaxy_test/selenium/test_histories_list.py b/lib/galaxy_test/selenium/test_histories_list.py index 0d0c6e190d0..5fb0fc19ba6 100644 --- a/lib/galaxy_test/selenium/test_histories_list.py +++ b/lib/galaxy_test/selenium/test_histories_list.py @@ -2,18 +2,21 @@ from selenium.webdriver.common.by import By from .framework import ( retry_assertion_during_transitions, + selenium_only, selenium_test, SharedStateSeleniumTestCase, ) class TestSavedHistories(SharedStateSeleniumTestCase): + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_histories_list(self): self._login() self.navigate_to_histories_page() self.assert_histories_in_list([self.history2_name, self.history3_name]) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_history_switch(self): self._login() @@ -28,6 +31,7 @@ class TestSavedHistories(SharedStateSeleniumTestCase): assert_history_name_switched() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_history_view(self): self._login() @@ -36,6 +40,7 @@ class TestSavedHistories(SharedStateSeleniumTestCase): history_name = self.wait_for_selector("[data-description='name display']") assert history_name.text == self.history2_name + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_history_publish(self): self._login() @@ -52,6 +57,7 @@ class TestSavedHistories(SharedStateSeleniumTestCase): self.assert_histories_in_list([self.history2_name]) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_rename_history(self): self._login() @@ -70,6 +76,7 @@ class TestSavedHistories(SharedStateSeleniumTestCase): self.assert_histories_in_list([self.history1_name, self.history2_name, self.history3_name]) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_delete_and_undelete_history(self): self._login() @@ -94,6 +101,7 @@ class TestSavedHistories(SharedStateSeleniumTestCase): self.assert_histories_in_list([self.history2_name]) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_permanently_delete_history(self): self._login() @@ -114,6 +122,7 @@ class TestSavedHistories(SharedStateSeleniumTestCase): self.assert_histories_in_list([self.history4_name]) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_delete_and_undelete_multiple_histories(self): self._login() @@ -142,6 +151,7 @@ class TestSavedHistories(SharedStateSeleniumTestCase): self.components.histories.reset_input.wait_for_and_click() self.assert_histories_in_list([self.history2_name, self.history3_name]) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_sort_by_name(self): self._login() @@ -164,6 +174,7 @@ class TestSavedHistories(SharedStateSeleniumTestCase): assert actual_histories == expected_histories + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_standard_search(self): self._login() @@ -174,6 +185,7 @@ class TestSavedHistories(SharedStateSeleniumTestCase): self.components.histories.search_input.wait_for_and_send_keys(self.history4_name) self.assert_histories_sorted_in_list([]) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_advanced_search(self): self._login() @@ -214,6 +226,7 @@ class TestSavedHistories(SharedStateSeleniumTestCase): self.sleep_for(self.wait_types.UX_RENDER) return self.components.histories.history_cards.all() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_tags(self): self._login() diff --git a/lib/galaxy_test/selenium/test_histories_published.py b/lib/galaxy_test/selenium/test_histories_published.py index c7fae0074dd..bf4915b9342 100644 --- a/lib/galaxy_test/selenium/test_histories_published.py +++ b/lib/galaxy_test/selenium/test_histories_published.py @@ -2,12 +2,14 @@ from selenium.webdriver.common.by import By from .framework import ( retry_assertion_during_transitions, + selenium_only, selenium_test, SharedStateSeleniumTestCase, ) class TestPublishedHistories(SharedStateSeleniumTestCase): + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_published_histories(self): self._login() @@ -15,6 +17,7 @@ class TestPublishedHistories(SharedStateSeleniumTestCase): expected_history_names = self.get_published_history_names_from_server() self.assert_histories_present(expected_history_names) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_published_histories_sort_by_name(self): self._login() @@ -27,6 +30,7 @@ class TestPublishedHistories(SharedStateSeleniumTestCase): sorted_histories = self.get_published_history_names_from_server(sort_by="name") self.assert_histories_present(sorted_histories, sort_by_matters=True) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_published_histories_sort_by_last_update(self): self._login() @@ -38,6 +42,7 @@ class TestPublishedHistories(SharedStateSeleniumTestCase): expected_history_names = self.get_published_history_names_from_server(sort_by="update_time") self.assert_histories_present(expected_history_names, sort_by_matters=True) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_published_histories_tag_click(self): self._login() @@ -58,6 +63,7 @@ class TestPublishedHistories(SharedStateSeleniumTestCase): self.assert_histories_present([self.history3_name, self.history1_name]) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_published_histories_username_filter(self): self._login() @@ -66,6 +72,7 @@ class TestPublishedHistories(SharedStateSeleniumTestCase): self.components.published_histories.search_input.wait_for_and_send_keys(f"user:{username}") self.assert_histories_present([self.history2_name]) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_published_histories_search_standard(self): self._login() @@ -73,6 +80,7 @@ class TestPublishedHistories(SharedStateSeleniumTestCase): self.components.published_histories.search_input.wait_for_and_send_keys(self.history1_name) self.assert_histories_present([self.history1_name]) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_published_histories_search_advanced(self): self._login() diff --git a/lib/galaxy_test/selenium/test_history_multi_view.py b/lib/galaxy_test/selenium/test_history_multi_view.py index 1e1522ba8f7..7b7e273ccc2 100644 --- a/lib/galaxy_test/selenium/test_history_multi_view.py +++ b/lib/galaxy_test/selenium/test_history_multi_view.py @@ -2,6 +2,7 @@ from seletools.actions import drag_and_drop from .framework import ( managed_history, + selenium_only, selenium_test, SeleniumTestCase, ) @@ -35,6 +36,7 @@ class TestHistoryMultiView(SeleniumTestCase): dataset_selector.wait_for_and_click() self.screenshot("multi_history_list_list") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_list_list_copy(self): diff --git a/lib/galaxy_test/selenium/test_history_panel.py b/lib/galaxy_test/selenium/test_history_panel.py index 2a19aad88f8..d0a93fefab0 100644 --- a/lib/galaxy_test/selenium/test_history_panel.py +++ b/lib/galaxy_test/selenium/test_history_panel.py @@ -1,6 +1,7 @@ from galaxy.selenium.navigates_galaxy import edit_details from .framework import ( retry_assertion_during_transitions, + selenium_only, selenium_test, SeleniumTestCase, ) @@ -15,6 +16,7 @@ HISTORY_PANEL_VIOLATION_EXCEPTIONS = ["heading-order", "label"] class TestHistoryPanel(SeleniumTestCase): ensure_registered = True + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_history_panel_landing_state(self): self.assert_initial_history_panel_state_correct() @@ -25,11 +27,13 @@ class TestHistoryPanel(SeleniumTestCase): toggle = editor.toggle toggle.wait_for_visible() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_history_panel_rename(self): self.history_panel_rename(NEW_HISTORY_NAME) self.assert_name_changed() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_history_rename_cancel_with_escape(self): editable_text_input_element = self.history_panel_name_input() @@ -48,6 +52,7 @@ class TestHistoryPanel(SeleniumTestCase): history_editor.annotation_input.wait_for_clickable() history_editor.tags_input.wait_for_clickable() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_history_panel_annotations_change(self): history_panel = self.components.history_panel @@ -86,6 +91,7 @@ class TestHistoryPanel(SeleniumTestCase): is_equal=True, ) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_history_panel_tags_change(self): def create_tags(size): @@ -150,6 +156,7 @@ class TestHistoryPanel(SeleniumTestCase): close_btn.click() self.sleep_for(self.wait_types.UX_RENDER) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_refresh_preserves_state(self): self.perform_upload(self.get_filename("1.txt")) diff --git a/lib/galaxy_test/selenium/test_history_panel_collections.py b/lib/galaxy_test/selenium/test_history_panel_collections.py index 1b9f82200f6..723957b4b42 100644 --- a/lib/galaxy_test/selenium/test_history_panel_collections.py +++ b/lib/galaxy_test/selenium/test_history_panel_collections.py @@ -5,6 +5,7 @@ from galaxy_test.base.api_asserts import assert_status_code_is from galaxy_test.base.populators import flakey from .framework import ( retry_assertion_during_transitions, + selenium_only, selenium_test, SeleniumTestCase, ) @@ -13,6 +14,7 @@ from .framework import ( class TestHistoryPanelCollections(SeleniumTestCase): ensure_registered = True + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_mapping_collection_states_terminal(self): history_id = self.current_history_id() @@ -68,6 +70,7 @@ class TestHistoryPanelCollections(SeleniumTestCase): for job in running_response.json()["jobs"]: self.dataset_populator.cancel_job(job["id"]) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_output_collection_states_terminal(self): history_id = self.current_history_id() @@ -123,6 +126,7 @@ class TestHistoryPanelCollections(SeleniumTestCase): for job in payload["jobs"]: self.dataset_populator.cancel_job(job["id"]) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_collection_job_details(self): ok_collection_hid, failed_collection_hid = self._generate_ok_and_failed_collections() @@ -141,6 +145,7 @@ class TestHistoryPanelCollections(SeleniumTestCase): self.screenshot("history_panel_collections_job_details_failed") assert int(tool_exit_code_component.text) > 0 + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_back_to_history_button(self): input_collection = self._populated_paired_and_wait_for_it() @@ -158,6 +163,7 @@ class TestHistoryPanelCollections(SeleniumTestCase): back.wait_for_and_click() self.sleep_for(WAIT_TYPES.UX_RENDER) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_rename_collection(self): input_collection = self._populated_paired_and_wait_for_it() @@ -176,6 +182,7 @@ class TestHistoryPanelCollections(SeleniumTestCase): assert_name_changed() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_name_tags_display(self): # Test setting a name tag and viewing it from the outer history panel. @@ -193,6 +200,7 @@ class TestHistoryPanelCollections(SeleniumTestCase): assert nametags == ["#moo"] self.screenshot("history_panel_collection_with_nametag") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_paired_display(self): input_collection = self._populated_paired_and_wait_for_it() @@ -230,6 +238,7 @@ class TestHistoryPanelCollections(SeleniumTestCase): check_four_datasets_shown() self.screenshot("history_panel_collection_view_list") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_list_paired_display(self): history_id = self.current_history_id() @@ -240,6 +249,7 @@ class TestHistoryPanelCollections(SeleniumTestCase): self.history_panel_expand_collection(collection_hid) self.screenshot("history_panel_collection_view_list_paired") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_list_list_display(self): history_id = self.current_history_id() diff --git a/lib/galaxy_test/selenium/test_history_sharing.py b/lib/galaxy_test/selenium/test_history_sharing.py index 6035216b113..9fd168525db 100644 --- a/lib/galaxy_test/selenium/test_history_sharing.py +++ b/lib/galaxy_test/selenium/test_history_sharing.py @@ -1,4 +1,5 @@ from .framework import ( + selenium_only, selenium_test, SeleniumTestCase, ) @@ -134,6 +135,7 @@ class TestHistorySharing(SeleniumTestCase): class TestHistoryRequiresLoginSelenium(SeleniumTestCase): ensure_registered = True + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_share_history_login_redirect(self): user_email = self.get_user_email() diff --git a/lib/galaxy_test/selenium/test_history_storage.py b/lib/galaxy_test/selenium/test_history_storage.py index cb542294404..90e0cb090e9 100644 --- a/lib/galaxy_test/selenium/test_history_storage.py +++ b/lib/galaxy_test/selenium/test_history_storage.py @@ -1,5 +1,6 @@ from .framework import ( managed_history, + selenium_only, selenium_test, SeleniumTestCase, ) @@ -29,6 +30,7 @@ UPLOAD_DATA_3 = { class TestHistoryStorage(SeleniumTestCase): ensure_registered = True + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_history_storage_accessibility(self): @@ -55,6 +57,7 @@ class TestHistoryStorage(SeleniumTestCase): self.screenshot("storage_dashboard_manage_explore_usage_landing") self.assert_baseline_accessibility() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_delete_dataset_from_storage_view(self): diff --git a/lib/galaxy_test/selenium/test_invocation_grid.py b/lib/galaxy_test/selenium/test_invocation_grid.py index 48c17d2e447..0fe5bc9d198 100644 --- a/lib/galaxy_test/selenium/test_invocation_grid.py +++ b/lib/galaxy_test/selenium/test_invocation_grid.py @@ -1,6 +1,7 @@ from galaxy_test.base.workflow_fixtures import WORKFLOW_RENAME_ON_INPUT from .framework import ( retry_assertion_during_transitions, + selenium_only, selenium_test, SeleniumTestCase, TestsGalaxyPagers, @@ -10,6 +11,7 @@ from .framework import ( class TestInvocationGridSelenium(SeleniumTestCase, TestsGalaxyPagers): ensure_registered = True + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_grid(self): gx_selenium_context = self diff --git a/lib/galaxy_test/selenium/test_library_contents.py b/lib/galaxy_test/selenium/test_library_contents.py index 4a7789b63a0..1e46269ab9f 100644 --- a/lib/galaxy_test/selenium/test_library_contents.py +++ b/lib/galaxy_test/selenium/test_library_contents.py @@ -6,6 +6,7 @@ from galaxy_test.base.decorators import ( ) from .framework import ( retry_during_transitions, + selenium_only, selenium_test, SeleniumTestCase, UsesLibraryAssertions, @@ -57,6 +58,7 @@ class TestLibraryContents(SeleniumTestCase, UsesLibraryAssertions): shrinked_description = long_description[0:40] assert shrinked_description == self.components.libraries.folder.description_field_shrinked.wait_for_text() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @requires_admin @requires_new_library @@ -99,6 +101,7 @@ class TestLibraryContents(SeleniumTestCase, UsesLibraryAssertions): expected_filename = "selected_dataset_files.zip" assert expected_filename in folder_files + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @requires_admin @requires_new_library @@ -122,6 +125,7 @@ class TestLibraryContents(SeleniumTestCase, UsesLibraryAssertions): # Fine test locally but the upload doesn't work in Docker compose. I'd think # Galaxy must be running so that test-data/1.txt would work but it just doesn't # for some reason. https://jenkins.galaxyproject.org/job/jmchilton-selenium/79/artifact/79-test-errors/test_import_dataset_from_path2017100413221507137721/ + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @requires_admin @requires_new_library diff --git a/lib/galaxy_test/selenium/test_library_landing.py b/lib/galaxy_test/selenium/test_library_landing.py index 013f75a5455..51b305bdd71 100644 --- a/lib/galaxy_test/selenium/test_library_landing.py +++ b/lib/galaxy_test/selenium/test_library_landing.py @@ -1,5 +1,6 @@ from .framework import ( retry_assertion_during_transitions, + selenium_only, selenium_test, SeleniumTestCase, ) @@ -13,6 +14,7 @@ class TestLibraryLanding(SeleniumTestCase): self.admin_login() self.libraries_open() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_create_new_close(self): num_displayed_libraries = self._num_displayed_libraries() @@ -23,6 +25,7 @@ class TestLibraryLanding(SeleniumTestCase): self.wait_for_overlays_cleared() assert self._num_displayed_libraries() == num_displayed_libraries + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_create_new(self): name = self._get_random_name(prefix="testcreatenew") @@ -33,6 +36,7 @@ class TestLibraryLanding(SeleniumTestCase): self._search_for_only_with_name(name) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_rename(self): name = self._get_random_name(prefix="testprerename") @@ -52,6 +56,7 @@ class TestLibraryLanding(SeleniumTestCase): self._search_for_only_with_name(new_name) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_sorting(self): # Throw in another library to ensure filtering is working... diff --git a/lib/galaxy_test/selenium/test_library_to_collections.py b/lib/galaxy_test/selenium/test_library_to_collections.py index 1bc878557f7..c06b6ea7c34 100644 --- a/lib/galaxy_test/selenium/test_library_to_collections.py +++ b/lib/galaxy_test/selenium/test_library_to_collections.py @@ -1,5 +1,6 @@ from galaxy_test.base.decorators import requires_admin from .framework import ( + selenium_only, selenium_test, SeleniumTestCase, UsesLibraryAssertions, @@ -19,21 +20,25 @@ class TestLibraryToCollections(SeleniumTestCase, UsesLibraryAssertions): def test_library_collection_export(self): self.collection_export() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @requires_admin def test_library_pair_export_new_history(self): self.collection_export(is_new_history=True, collection_option="paired") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @requires_admin def test_library_pair_export(self): self.collection_export(collection_option="paired") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @requires_admin def test_export_pairs_list_new_history(self): self.list_of_pairs_export(is_new_history=True) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @requires_admin def test_export_pairs_list(self): diff --git a/lib/galaxy_test/selenium/test_personal_information.py b/lib/galaxy_test/selenium/test_personal_information.py index 74fdcb7e99b..962812219f3 100644 --- a/lib/galaxy_test/selenium/test_personal_information.py +++ b/lib/galaxy_test/selenium/test_personal_information.py @@ -1,10 +1,14 @@ from galaxy_test.selenium.framework import ( + selenium_only, selenium_test, SeleniumTestCase, ) class TestManageInformation(SeleniumTestCase): + @selenium_only( + "Not yet migrated to support Playwright backend - AttributeError: 'PlaywrightElement' object has no attribute 'get_property'" + ) @selenium_test def test_api_key(self): """ @@ -141,6 +145,7 @@ class TestManageInformation(SeleniumTestCase): class TestDeleteCurrentAccount(SeleniumTestCase): + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_delete_account(self): email = self._get_random_email() diff --git a/lib/galaxy_test/selenium/test_registration.py b/lib/galaxy_test/selenium/test_registration.py index 564e910e540..50e8cf91471 100644 --- a/lib/galaxy_test/selenium/test_registration.py +++ b/lib/galaxy_test/selenium/test_registration.py @@ -1,10 +1,12 @@ from .framework import ( + selenium_only, selenium_test, SeleniumTestCase, ) class TestRegistration(SeleniumTestCase): + @selenium_only("title abstraction not yet implemented") @selenium_test def test_landing(self): # loading galaxy homepage diff --git a/lib/galaxy_test/selenium/test_stock_tours.py b/lib/galaxy_test/selenium/test_stock_tours.py index 9cb47e11a17..0bbf6c63831 100644 --- a/lib/galaxy_test/selenium/test_stock_tours.py +++ b/lib/galaxy_test/selenium/test_stock_tours.py @@ -2,6 +2,7 @@ import os from galaxy.util import galaxy_root_path from .framework import ( + selenium_only, selenium_test, SeleniumTestCase, TIMEOUT_MULTIPLIER, @@ -11,6 +12,7 @@ STOCK_TOURS_DIRECTORY = os.path.join(galaxy_root_path, "config", "plugins", "tou class TestStockToursTestCase(SeleniumTestCase): + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_core_galaxy_ui(self): sleep_on_steps = { @@ -24,6 +26,7 @@ class TestStockToursTestCase(SeleniumTestCase): tour_callback=TourCallback(self), ) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_core_windows(self): self.run_tour( @@ -31,6 +34,7 @@ class TestStockToursTestCase(SeleniumTestCase): tour_callback=TourCallback(self), ) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_core_history(self): self.run_tour( @@ -38,6 +42,7 @@ class TestStockToursTestCase(SeleniumTestCase): tour_callback=TourCallback(self), ) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_core_deferred(self): self.run_tour( diff --git a/lib/galaxy_test/selenium/test_tool_form.py b/lib/galaxy_test/selenium/test_tool_form.py index 93248b17206..234897d4404 100644 --- a/lib/galaxy_test/selenium/test_tool_form.py +++ b/lib/galaxy_test/selenium/test_tool_form.py @@ -17,6 +17,7 @@ from galaxy_test.base.populators import ( from .framework import ( managed_history, retry_assertion_during_transitions, + selenium_only, selenium_test, SeleniumTestCase, UsesHistoryItemAssertions, @@ -24,6 +25,7 @@ from .framework import ( class TestToolForm(SeleniumTestCase, UsesHistoryItemAssertions): + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_run_tool_verify_contents_by_peek(self): self._run_environment_test_tool() @@ -32,12 +34,14 @@ class TestToolForm(SeleniumTestCase, UsesHistoryItemAssertions): self.history_panel_click_item_title(hid=1) self.assert_item_peek_includes(1, "42") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_run_tool_verify_dataset_details(self): self._run_environment_test_tool() self.history_panel_wait_for_hid_ok(1) self._check_dataset_details_for_inttest_value(1) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_verify_dataset_details_tables(self): self._run_environment_test_tool() @@ -73,6 +77,7 @@ class TestToolForm(SeleniumTestCase, UsesHistoryItemAssertions): generic_item.find_element(By.CSS_SELECTOR, "[title='Run Job Again']").click() self.components.tool_form.execute.wait_for_visible() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_drilldown_tool(self): self._open_drilldown_test_tool() @@ -112,6 +117,7 @@ class TestToolForm(SeleniumTestCase, UsesHistoryItemAssertions): return key_value_pairs + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_repeat_reordering(self): self.home() @@ -148,6 +154,7 @@ class TestToolForm(SeleniumTestCase, UsesHistoryItemAssertions): assert details == ["texttest", "Text C", "texttest", "Text B", "texttest", "Text A"] + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_rerun(self): self._run_environment_test_tool() @@ -169,6 +176,7 @@ class TestToolForm(SeleniumTestCase, UsesHistoryItemAssertions): self.history_panel_wait_for_hid_ok(2) self._check_dataset_details_for_inttest_value(2) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_rerun_with_non_latest_version(self): version = "0.1+galaxy6" @@ -183,6 +191,7 @@ class TestToolForm(SeleniumTestCase, UsesHistoryItemAssertions): return raise Exception("Tool version does not match job version") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_rerun_deleted_dataset(self): # upload a first dataset that should not become selected on re-run @@ -227,6 +236,7 @@ class TestToolForm(SeleniumTestCase, UsesHistoryItemAssertions): ) assert error_col.text == "Parameter 'col': an invalid option ('3') was selected (valid options: 1)" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_rerun_dataset_collection_element(self): # upload a first dataset that should not become selected on re-run @@ -284,6 +294,7 @@ class TestToolForm(SeleniumTestCase, UsesHistoryItemAssertions): assert latest_hda["hid"] == 3 assert latest_hda["name"] == "Select first on dataset 1" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_bibtex_rendering(self): self.home() @@ -338,6 +349,7 @@ class TestToolForm(SeleniumTestCase, UsesHistoryItemAssertions): class TestLoggedInToolForm(SeleniumTestCase): ensure_registered = True + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_dataset_state_filtering(self): # upload an ok (HID 1) and a discarded (HID 2) dataset and run a tool @@ -365,26 +377,31 @@ class TestLoggedInToolForm(SeleniumTestCase): assert latest_hda["hid"] == 3 assert latest_hda["name"] == "Select first on dataset 1" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_run_apply_rules_1(self): self._apply_rules_and_check(rules_test_data.EXAMPLE_1) self.screenshot("tool_apply_rules_example_1_final") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_run_apply_rules_2(self): self._apply_rules_and_check(rules_test_data.EXAMPLE_2) self.screenshot("tool_apply_rules_example_2_final") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_run_apply_rules_3(self): self._apply_rules_and_check(rules_test_data.EXAMPLE_3) self.screenshot("tool_apply_rules_example_3_final") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_run_apply_rules_4(self): self._apply_rules_and_check(rules_test_data.EXAMPLE_4) self.screenshot("tool_apply_rules_example_4_final") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_run_apply_rules_paired_unpaired_flatten(self): self._apply_rules_and_check(rules_test_data.EXAMPLE_FLATTEN_PAIRED_OR_UNPAIRED) @@ -396,11 +413,13 @@ class TestLoggedInToolForm(SeleniumTestCase): self._apply_rules_and_check(rules_test_data.EXAMPLE_CREATE_PAIRED_OR_UNPAIRED_COLLECTION) self.screenshot("tool_apply_rules_example_flatten_paired_unpaired_final") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_run_apply_rules_flatten_with_indices(self): self._apply_rules_and_check(rules_test_data.EXAMPLE_FLATTEN_USING_INDICES) self.screenshot("tool_apply_rules_example_flatten_with_indices_final") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history @skip_if_github_down diff --git a/lib/galaxy_test/selenium/test_tutorial_mode.py b/lib/galaxy_test/selenium/test_tutorial_mode.py index be32724be92..6654d63b18c 100644 --- a/lib/galaxy_test/selenium/test_tutorial_mode.py +++ b/lib/galaxy_test/selenium/test_tutorial_mode.py @@ -3,12 +3,14 @@ from unittest import SkipTest import pytest from .framework import ( + selenium_only, selenium_test, SeleniumTestCase, ) class TestTutorialMode(SeleniumTestCase): + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @pytest.mark.gtn_screenshot def test_activate_tutorial_mode(self): diff --git a/lib/galaxy_test/selenium/test_uploads.py b/lib/galaxy_test/selenium/test_uploads.py index 5e14992ece1..34a11761c77 100644 --- a/lib/galaxy_test/selenium/test_uploads.py +++ b/lib/galaxy_test/selenium/test_uploads.py @@ -3,6 +3,7 @@ import os import pytest from .framework import ( + selenium_only, selenium_test, SeleniumTestCase, UsesHistoryItemAssertions, @@ -10,6 +11,7 @@ from .framework import ( class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_file(self): self.perform_upload(self.get_filename("1.sam")) @@ -21,6 +23,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): self.history_panel_click_item_title(hid=1, wait=True) self.assert_item_summary_includes(1, "28 lines") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_pasted_content(self): pasted_content = "this is pasted" @@ -30,6 +33,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): history_count = len(self.history_contents()) assert history_count == 1, f"Incorrect number of items in history - expected 1, found {history_count}" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_pasted_url_content(self): pasted_content = "https://raw.githubusercontent.com/galaxyproject/galaxy/dev/LICENSE.txt" @@ -39,6 +43,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): history_count = len(self.history_contents()) assert history_count == 1, f"Incorrect number of items in history - expected 1, found {history_count}" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_composite_dataset_pasted_data(self): paste_content = ["a", "b", "c"] @@ -58,6 +63,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): for data in paste_content: assert f'"paste_content":"{data}"' in request_json + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_simplest(self): self.perform_upload(self.get_filename("1.sam")) @@ -74,6 +80,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): self.history_panel_click_item_title(hid=1, wait=True) self.assert_item_dbkey_displayed_as(1, "?") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_specify_ext(self): self.perform_upload(self.get_filename("1.sam"), ext="txt") @@ -83,6 +90,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): assert hda["name"] == "1.sam" assert hda["extension"] == "txt", hda + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_specify_genome(self): self.perform_upload(self.get_filename("1.sam"), genome="hg18") @@ -91,6 +99,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): self.history_panel_click_item_title(hid=1, wait=True) self.assert_item_dbkey_displayed_as(1, "hg18") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_specify_ext_all(self): self.perform_upload(self.get_filename("1.sam"), ext_all="txt") @@ -100,6 +109,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): assert hda["name"] == "1.sam" assert hda["extension"] == "txt", hda + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_specify_genome_all(self): self.perform_upload(self.get_filename("1.sam"), genome_all="hg18") @@ -108,6 +118,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): self.history_panel_click_item_title(hid=1, wait=True) self.assert_item_dbkey_displayed_as(1, "hg18") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_deferred(self): self.perform_upload_of_pasted_content( @@ -118,6 +129,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): self.history_panel_click_item_title(hid=hid, wait=True) self.screenshot("history_panel_dataset_deferred") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_list(self): self.upload_list([self.get_filename("1.tabular")], name="Test List") @@ -130,6 +142,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): # Make sure source item is hidden when the collection is created. self.history_panel_wait_for_hid_hidden(1) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_pair(self): self.upload_list([self.get_filename("1.tabular"), self.get_filename("2.tabular")], name="Test Pair") @@ -145,6 +158,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): self.history_panel_wait_for_hid_hidden(3) self.history_panel_wait_for_hid_hidden(4) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_pair_specify_extension(self): self.upload_list( @@ -161,6 +175,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): assert hda["name"] == "1.tabular" assert hda["extension"] == "txt", hda + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_paired_list(self): self.upload_paired_list( @@ -177,6 +192,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): self.history_panel_wait_for_hid_hidden(3) self.history_panel_wait_for_hid_hidden(4) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_upload_modal_retains_content(self): self.home() @@ -207,6 +223,7 @@ class TestUploads(SeleniumTestCase, UsesHistoryItemAssertions): self.wait_for_selector_visible("#upload-row-1.upload-success") self.wait_for_selector_visible("#upload-row-2.upload-init") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @pytest.mark.gtn_screenshot @pytest.mark.local @@ -251,6 +268,7 @@ PRJDA60709 SAMD00016382 DRX000480 ftp.sra.ebi.ac.uk/vol1/fastq/DRR000/DRR0 # self.history_panel_wait_for_hid_ok(6) # self.screenshot("rules_example_1_6_download_complete") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @pytest.mark.gtn_screenshot @pytest.mark.local @@ -278,6 +296,7 @@ PRJDA60709 SAMD00016382 DRX000480 ftp.sra.ebi.ac.uk/vol1/fastq/DRR000/DRR0 # self.history_panel_wait_for_hid_ok(2) # self.screenshot("rules_example_2_5_download_complete") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @pytest.mark.gtn_screenshot @pytest.mark.local @@ -316,6 +335,7 @@ PRJDA60709 SAMD00016382 DRX000480 ftp.sra.ebi.ac.uk/vol1/fastq/DRR000/DRR0 self.rule_builder_set_collection_name("PRJDB3920") self.screenshot("rules_example_3_14_paired_identifier_set") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @pytest.mark.gtn_screenshot @pytest.mark.local @@ -353,6 +373,7 @@ PRJDA60709 SAMD00016382 DRX000480 ftp.sra.ebi.ac.uk/vol1/fastq/DRR000/DRR0 rule_builder.main_button_ok.wait_for_and_click() rule_builder.view_source.wait_for_visible() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @pytest.mark.gtn_screenshot @pytest.mark.local @@ -388,6 +409,7 @@ PRJDA60709 SAMD00016382 DRX000480 ftp.sra.ebi.ac.uk/vol1/fastq/DRR000/DRR0 self.rule_builder_set_mapping("collection-name", "E") self.screenshot("rules_example_5_9_mapping") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @pytest.mark.gtn_screenshot @pytest.mark.local @@ -424,6 +446,7 @@ PRJDA60709 SAMD00016382 DRX000480 ftp.sra.ebi.ac.uk/vol1/fastq/DRR000/DRR0 self.rule_builder_set_collection_name("PRJNA355367") self.screenshot("rules_example_6_7_named") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @pytest.mark.local def test_rules_deferred_datasets(self): @@ -467,6 +490,7 @@ PRJDA60709 SAMD00016382 DRX000480 ftp.sra.ebi.ac.uk/vol1/fastq/DRR000/DRR0 self.history_panel_wait_for_hid_deferred(6) self.screenshot("rules_deferred_datasets_8_download_complete") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @pytest.mark.local def test_rules_deferred_list(self): diff --git a/lib/galaxy_test/selenium/test_visualizations.py b/lib/galaxy_test/selenium/test_visualizations.py index 325acb824b5..1d415c7e7dd 100644 --- a/lib/galaxy_test/selenium/test_visualizations.py +++ b/lib/galaxy_test/selenium/test_visualizations.py @@ -4,6 +4,7 @@ from galaxy_test.base.populators import ( ) from .framework import ( managed_history, + selenium_only, selenium_test, SeleniumTestCase, ) @@ -30,6 +31,7 @@ class TestVisualizationsAnonymous(SeleniumTestCase): self.wait_for_selector("#image-annotate") self.screenshot("visualization_plugin_charts_image_annotate") + @selenium_only("Not yet migrated to support Playwright backend - need to implement shadow DOM absractions") @selenium_test @skip_without_visualization_plugin("tabulator") def test_charts_tabulator(self): @@ -44,6 +46,7 @@ class TestVisualizationsAnonymous(SeleniumTestCase): self.wait_for_selector(".tabulator-table") self.screenshot("visualization_plugin_tabulator_landing") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @skip_without_visualization_plugin("h5web") def test_charts_h5web(self): @@ -61,6 +64,7 @@ class TestVisualizationsAnonymous(SeleniumTestCase): class TestVisualizations(SeleniumTestCase): ensure_registered = True + @selenium_only("Not yet migrated to support Playwright backend - need to implement shadow DOM absractions") @selenium_test @managed_history @skip_without_visualization_plugin("igv") diff --git a/lib/galaxy_test/selenium/test_workflow_editor.py b/lib/galaxy_test/selenium/test_workflow_editor.py index e888918fd9b..bbbf30a3d6c 100644 --- a/lib/galaxy_test/selenium/test_workflow_editor.py +++ b/lib/galaxy_test/selenium/test_workflow_editor.py @@ -24,6 +24,7 @@ from galaxy_test.base.workflow_fixtures import ( from .framework import ( retry_assertion_during_transitions, RunsWorkflows, + selenium_only, selenium_test, SeleniumTestCase, ) @@ -53,6 +54,7 @@ CHIPSEQ_COLUMNS = [ class TestWorkflowEditor(SeleniumTestCase, RunsWorkflows): ensure_registered = True + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_basics(self): editor = self.components.workflow_editor @@ -75,6 +77,7 @@ class TestWorkflowEditor(SeleniumTestCase, RunsWorkflows): self.screenshot("workflow_editor_center_pane_maximized") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_edit_annotation(self): editor = self.components.workflow_editor @@ -91,6 +94,7 @@ class TestWorkflowEditor(SeleniumTestCase, RunsWorkflows): self.workflow_index_open_with_name(name) self.assert_wf_annotation_is(new_annotation) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_edit_name(self): name = self.create_and_wait_for_new_workflow_in_editor() @@ -102,6 +106,7 @@ class TestWorkflowEditor(SeleniumTestCase, RunsWorkflows): self.workflow_index_open_with_name(new_name) self.assert_wf_name_is(name) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_edit_license(self): editor = self.components.workflow_editor @@ -115,6 +120,7 @@ class TestWorkflowEditor(SeleniumTestCase, RunsWorkflows): self.workflow_index_open_with_name(name) assert "MIT" in self.workflow_editor_license_text() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_parameter_regex_validation(self): editor = self.components.workflow_editor @@ -144,6 +150,7 @@ class TestWorkflowEditor(SeleniumTestCase, RunsWorkflows): element = workflow_run.run_error.wait_for_present() assert "input must start with moocow" in element.text + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_int_parameter_minimum_validation(self): editor = self.components.workflow_editor @@ -170,6 +177,7 @@ class TestWorkflowEditor(SeleniumTestCase, RunsWorkflows): # in parameter validators assert "Value ('3') must fulfill (4 <= value <= +infinity)" in element.text, element.text + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_float_parameter_maximum_validation(self): editor = self.components.workflow_editor @@ -194,6 +202,7 @@ class TestWorkflowEditor(SeleniumTestCase, RunsWorkflows): # friendly. assert "Value ('3.2') must fulfill (-infinity <= value <= 3.14)" in element.text, element.text + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_optional_select_data_field(self): editor = self.components.workflow_editor @@ -222,6 +231,7 @@ class TestWorkflowEditor(SeleniumTestCase, RunsWorkflows): tool_state = json.loads(workflow["steps"]["0"]["tool_state"]) assert tool_state["select_single"] == "" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_data_input(self): editor = self.components.workflow_editor @@ -246,6 +256,7 @@ class TestWorkflowEditor(SeleniumTestCase, RunsWorkflows): data_input_node.wait_for_absent() self.screenshot("workflow_editor_data_input_deleted") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_collection_input(self): editor = self.components.workflow_editor @@ -271,6 +282,7 @@ class TestWorkflowEditor(SeleniumTestCase, RunsWorkflows): self.sleep_for(self.wait_types.UX_RENDER) self.screenshot("workflow_editor_data_collection_input_deleted") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_collection_input_sample_sheet_chipseq_example(self): editor = self.components.workflow_editor @@ -310,6 +322,7 @@ class TestWorkflowEditor(SeleniumTestCase, RunsWorkflows): assert control["type"] == "element_identifier" assert control["optional"] is True + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_data_column_input_editing(self): self.open_in_workflow_editor( @@ -341,6 +354,7 @@ steps: textarea_columns = columns.wait_for_visible() assert textarea_columns.get_attribute("value") == "4\n5\n6\n" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_integer_input(self): editor = self.components.workflow_editor @@ -366,6 +380,7 @@ steps: self.sleep_for(self.wait_types.UX_RENDER) self.screenshot("workflow_editor_parameter_input_deleted") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_non_data_connections(self): self.open_in_workflow_editor( @@ -421,6 +436,7 @@ steps: ) self.assert_connected("input_int#output", "tool_exec#inttest") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_non_data_map_over_carried_through(self): # Use auto_layout=false, which prevents placing any @@ -450,6 +466,8 @@ steps: self.workflow_editor_connect("text_input_step#out_file1", "collection_input#input1") self.assert_connected("text_input_step#out_file1", "collection_input#input1") + @selenium_only("Not yet migrated to support Playwright backend") + @selenium_test def test_connecting_display_in_upload_false_connections(self): self.open_in_workflow_editor( """ @@ -465,6 +483,7 @@ steps: self.workflow_editor_connect("step1#qname_input_sorted_bam_output", "step2#input5") self.assert_connected("step1#qname_input_sorted_bam_output", "step2#input5") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_existing_connections(self): self.open_in_workflow_editor(WORKFLOW_SIMPLE_CAT_TWICE) @@ -487,6 +506,7 @@ steps: ) self.assert_connected("input1#output", "first_cat#input1") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_reconnecting_nodes(self): name = self.open_in_workflow_editor(WORKFLOW_SIMPLE_CAT_TWICE) @@ -500,6 +520,7 @@ steps: self.workflow_index_open_with_name(name) self.assert_connected("input1#output", "first_cat#input1") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_editor_change_stack_inserting_inputs(self): editor = self.components.workflow_editor @@ -543,6 +564,7 @@ steps: editor.node.by_id(id=1).wait_for_present() editor.node.by_id(id=2).wait_for_present() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_editor_change_stack_set_attributes(self): editor = self.components.workflow_editor @@ -575,12 +597,14 @@ steps: self.assert_wf_annotation_is(annotation) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_rendering_output_collection_connections(self): self.open_in_workflow_editor(WORKFLOW_WITH_OUTPUT_COLLECTION) self.workflow_editor_maximize_center_pane() self.screenshot("workflow_editor_output_collections") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_simple_mapping_connections(self): self.open_in_workflow_editor(WORKFLOW_SIMPLE_MAPPING) @@ -594,12 +618,14 @@ steps: self.workflow_editor_connect("input1#output", "cat#input1") self.assert_input_mapped("cat#input1") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_rendering_simple_nested_workflow(self): self.open_in_workflow_editor(WORKFLOW_NESTED_SIMPLE) self.workflow_editor_maximize_center_pane() self.screenshot("workflow_editor_simple_nested") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_best_practices_input_label(self): editor = self.components.workflow_editor @@ -632,6 +658,7 @@ steps: assert_linting_input_metadata_okay() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_rendering_rules_workflow_1(self): self.open_in_workflow_editor(WORKFLOW_WITH_RULES_1) @@ -648,6 +675,7 @@ steps: self.assert_connected(rule_output, random_lines_input) self.assert_input_mapped(random_lines_input) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_rendering_rules_workflow_2(self): self.open_in_workflow_editor(WORKFLOW_WITH_RULES_2) @@ -696,6 +724,7 @@ steps: # to a list:list, so there should be no mapping anymore even after connected. self.assert_input_not_mapped(copy_list_input) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_save_as(self): name = self.workflow_upload_yaml_with_random_name(WORKFLOW_SIMPLE_CAT_TWICE) @@ -706,6 +735,7 @@ steps: self.components.workflow_editor.save_as_activity.wait_for_and_click() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_editor_tool_upgrade(self): workflow_populator = self.workflow_populator @@ -739,6 +769,7 @@ steps: workflow = self.workflow_populator.download_workflow(workflow_id) assert workflow["steps"]["0"]["tool_version"] == "0.1+galaxy6" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_editor_tool_upgrade_all_tools(self): editor = self.components.workflow_editor @@ -755,6 +786,7 @@ steps: version = node.get_attribute("data-version") assert version == "0.2" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_editor_tool_upgrade_message(self): workflow_populator = self.workflow_populator @@ -766,6 +798,7 @@ steps: self.components.workflow_editor.modal_button_continue.wait_for_and_click() self.assert_workflow_has_changes_and_save() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_editor_subworkflow_tool_upgrade_message(self): workflow_populator = self.workflow_populator @@ -803,6 +836,7 @@ steps: element.wait_for_and_send_keys(Keys.BACKSPACE) element.wait_for_and_send_keys(value) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_change_datatype(self): self.open_in_workflow_editor( @@ -840,6 +874,7 @@ steps: # Assert connection is valid self.assert_connected("create_2#out_file1", "checksum#input") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_change_datatype_post_job_action_lost_regression(self): self.open_in_workflow_editor( @@ -864,6 +899,7 @@ steps: node.wait_for_and_click() self.assert_connected("create_2#out_file1", "metadata_bam#input_bam") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_change_datatype_in_subworkflow(self): self.open_in_workflow_editor( @@ -898,6 +934,7 @@ steps: self.assert_connected("nested_workflow#workflow_output", "metadata_bam#input_bam") @pytest.mark.xfail + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_edit_subworkflow(self): self.open_in_workflow_editor( @@ -921,6 +958,7 @@ steps: node = editor.node._(label="create_2") node.wait_for_and_click() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_editor_duplicate_node(self): workflow_id = self.workflow_populator.upload_yaml_workflow(WORKFLOW_SIMPLE_CAT_TWICE) @@ -963,6 +1001,7 @@ steps: assert len(source_step["post_job_actions"]) == len(cloned_step["post_job_actions"]) == 4 assert source_step["post_job_actions"] == cloned_step["post_job_actions"] + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_editor_embed_workflow(self): self.setup_subworkflow() @@ -1005,6 +1044,7 @@ steps: assert subworkflow_step["input_connections"]["input1"]["input_subworkflow_step_id"] == 0 return child_workflow_name + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_editor_insert_steps(self): steps_to_insert = self.workflow_upload_yaml_with_random_name(WORKFLOW_SIMPLE_CAT_TWICE) @@ -1025,6 +1065,7 @@ steps: workflow = self.workflow_populator.download_workflow(workflow_id) return workflow + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_editor_create_conditional_step(self): editor = self.components.workflow_editor @@ -1084,6 +1125,8 @@ steps: # TODO: hook up best practice panel, disable save when "when" not connected # assert save_button.has_class("disabled") + @selenium_only("Not yet migrated to support Playwright backend") + @selenium_test def test_conditional_subworkflow_step(self): child_workflow_name = self.setup_subworkflow() editor = self.components.workflow_editor @@ -1108,6 +1151,7 @@ steps: Keys.ENTER ).perform() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_editor_invalid_tool_state(self): workflow_populator = self.workflow_populator @@ -1118,6 +1162,7 @@ steps: self.assert_modal_has_text("Using default: '1'") self.screenshot("workflow_editor_invalid_state") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_missing_tools(self): workflow_populator = self.workflow_populator @@ -1152,6 +1197,7 @@ steps: else: raise Exception(f"Could not tab to element containing '{accessible_name}' in aria-label") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_aria_connections_menu(self): self.open_in_workflow_editor( @@ -1192,6 +1238,7 @@ steps: output_connector.send_keys(Keys.SPACE) assert self.driver.switch_to.active_element.text == "No compatible input found in workflow" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_insert_input_handling(self): self.open_in_workflow_editor( @@ -1212,6 +1259,7 @@ steps: node.input_terminal(name="datasets_1|input").wait_for_present() self.assert_workflow_has_changes_and_save() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_workflow_output_handling(self): self.open_in_workflow_editor( @@ -1283,6 +1331,7 @@ steps: # should not show error editor.duplicate_label_error(output="out_file1").wait_for_absent() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_map_over_output_indicator(self): self.open_in_workflow_editor( @@ -1308,6 +1357,7 @@ steps: self.workflow_editor_destroy_connection("filter#how|filter_source") self.assert_node_output_is("filter#output_filtered", "list") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_editor_place_comments(self): editor = self.components.workflow_editor @@ -1439,6 +1489,7 @@ steps: editor.comment.freehand_comment.wait_for_absent() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_editor_snapping(self): editor = self.components.workflow_editor @@ -1474,6 +1525,7 @@ steps: assert top % 200 == 0 assert left % 200 == 0 + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_editor_selection(self): editor = self.components.workflow_editor diff --git a/lib/galaxy_test/selenium/test_workflow_management.py b/lib/galaxy_test/selenium/test_workflow_management.py index fcd1ddcdacd..91abef1fa8a 100644 --- a/lib/galaxy_test/selenium/test_workflow_management.py +++ b/lib/galaxy_test/selenium/test_workflow_management.py @@ -3,6 +3,7 @@ from selenium.webdriver.common.by import By from .framework import ( EXAMPLE_WORKFLOW_URL_1, retry_assertion_during_transitions, + selenium_only, selenium_test, SeleniumTestCase, TestsGalaxyPagers, @@ -13,6 +14,7 @@ from .framework import ( class TestWorkflowManagement(SeleniumTestCase, TestsGalaxyPagers, UsesWorkflowAssertions): ensure_registered = True + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_import_from_url(self): self.workflow_index_open() @@ -24,6 +26,7 @@ class TestWorkflowManagement(SeleniumTestCase, TestsGalaxyPagers, UsesWorkflowAs first_workflow_card = workflow_cards[0].find_element(By.CSS_SELECTOR, '[id^="g-card-title-"] a') assert "TestWorkflow1 (imported from URL)" in first_workflow_card.text, first_workflow_card.text + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_import_accessibility(self): self.workflow_index_open() @@ -37,6 +40,7 @@ class TestWorkflowManagement(SeleniumTestCase, TestsGalaxyPagers, UsesWorkflowAs # ditto - moderate violation relating to header ordering workflows.import_trs_id.assert_no_axe_violations_with_impact_of_at_least("serious") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_view(self): self.workflow_index_open() @@ -53,6 +57,7 @@ class TestWorkflowManagement(SeleniumTestCase, TestsGalaxyPagers, UsesWorkflowAs workflow_preview = self.components.workflows.workflow_preview_container.wait_for_visible() assert "TestWorkflow1" in workflow_preview.text + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_rename(self): self.workflow_index_open() @@ -66,6 +71,7 @@ class TestWorkflowManagement(SeleniumTestCase, TestsGalaxyPagers, UsesWorkflowAs check_name() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_workflow_index_accessibility(self): self.workflow_index_open() @@ -74,6 +80,7 @@ class TestWorkflowManagement(SeleniumTestCase, TestsGalaxyPagers, UsesWorkflowAs # this test will be more rigorous but test only a specific component. index_table.assert_no_axe_violations_with_impact_of_at_least("critical") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_download(self): self.workflow_index_open() @@ -82,6 +89,7 @@ class TestWorkflowManagement(SeleniumTestCase, TestsGalaxyPagers, UsesWorkflowAs # going through the motions though should catch a couple potential problems. self.components.workflows.download_button.wait_for_and_click() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_tagging(self): self.workflow_index_open() @@ -96,6 +104,7 @@ class TestWorkflowManagement(SeleniumTestCase, TestsGalaxyPagers, UsesWorkflowAs check_tags() self.screenshot("workflow_manage_tags") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_tag_filtering(self): self.workflow_index_open() @@ -127,6 +136,7 @@ class TestWorkflowManagement(SeleniumTestCase, TestsGalaxyPagers, UsesWorkflowAs self._assert_showing_n_workflows(4) self.workflow_index_search_for("MyTaG") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_index_search(self): self.workflow_index_open() @@ -144,6 +154,7 @@ class TestWorkflowManagement(SeleniumTestCase, TestsGalaxyPagers, UsesWorkflowAs self.workflow_index_search_for("searchforthis") self._assert_showing_n_workflows(1) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_index_search_filters(self): self.workflow_index_open() @@ -170,6 +181,7 @@ class TestWorkflowManagement(SeleniumTestCase, TestsGalaxyPagers, UsesWorkflowAs self.components.workflows.workflow_not_found_message.wait_for_visible() self.screenshot("workflow_manage_search_name_alias") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_index_advanced_search(self): self.workflow_index_open() @@ -199,6 +211,7 @@ class TestWorkflowManagement(SeleniumTestCase, TestsGalaxyPagers, UsesWorkflowAs assert curr_value == "tag:'mytag' tag:'DNEtag'", curr_value self.components.workflows.workflow_not_found_message.wait_for_visible() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_workflow_delete(self): self.workflow_index_open() @@ -211,6 +224,7 @@ class TestWorkflowManagement(SeleniumTestCase, TestsGalaxyPagers, UsesWorkflowAs self.workflow_index_open() self.components.workflows.workflows_list_empty.wait_for_visible() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_workflow_bookmark_filtering(self): self.workflow_index_open() diff --git a/lib/galaxy_test/selenium/test_workflow_rerun.py b/lib/galaxy_test/selenium/test_workflow_rerun.py index bd6e1731271..186f4ff5d92 100644 --- a/lib/galaxy_test/selenium/test_workflow_rerun.py +++ b/lib/galaxy_test/selenium/test_workflow_rerun.py @@ -3,6 +3,7 @@ from .framework import ( managed_history, retry_assertion_during_transitions, RunsWorkflows, + selenium_only, selenium_test, SeleniumTestCase, UsesHistoryItemAssertions, @@ -12,6 +13,7 @@ from .framework import ( class TestWorkflowRun(SeleniumTestCase, UsesHistoryItemAssertions, RunsWorkflows): ensure_registered = True + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_workflow_rerun(self): diff --git a/lib/galaxy_test/selenium/test_workflow_run.py b/lib/galaxy_test/selenium/test_workflow_run.py index d104614106c..793c26051b6 100644 --- a/lib/galaxy_test/selenium/test_workflow_run.py +++ b/lib/galaxy_test/selenium/test_workflow_run.py @@ -28,6 +28,7 @@ from galaxy_test.base.workflow_fixtures import ( from .framework import ( managed_history, RunsWorkflows, + selenium_only, selenium_test, SeleniumTestCase, UsesHistoryItemAssertions, @@ -38,6 +39,7 @@ from .test_workflow_editor import CHIPSEQ_COLUMNS class TestWorkflowRun(SeleniumTestCase, UsesHistoryItemAssertions, RunsWorkflows): ensure_registered = True + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_workflow_export_file_rocrate(self): @@ -63,6 +65,7 @@ class TestWorkflowRun(SeleniumTestCase, UsesHistoryItemAssertions, RunsWorkflows invocations.export_download_link.wait_for_present() self.screenshot("invocation_export_crate_download_ready") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_workflow_export_file_native(self): @@ -88,6 +91,7 @@ class TestWorkflowRun(SeleniumTestCase, UsesHistoryItemAssertions, RunsWorkflows invocations.export_download_link.wait_for_present() self.screenshot("invocation_export_native_download_ready") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_simple_execution(self): @@ -102,6 +106,7 @@ class TestWorkflowRun(SeleniumTestCase, UsesHistoryItemAssertions, RunsWorkflows self.assert_item_summary_includes(2, "2 sequences") self.screenshot("workflow_run_simple_complete") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_expanded_execution_of_simple_workflow(self): @@ -241,6 +246,7 @@ class TestWorkflowRun(SeleniumTestCase, UsesHistoryItemAssertions, RunsWorkflows sample_sheet.select_picker.wait_for_and_click() sample_sheet.select_item(item=control).wait_for_and_click() + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_collection_input_sample_sheet_chipseq_example_from_uris(self): @@ -311,6 +317,7 @@ SRR5681005\tinput\t\t contents == expected_contents ), f"Expected chipseq sample sheet table:\n{expected_contents}\nGot:\n{contents}" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_collection_input_sample_sheet_chipseq_example_from_list_pairs(self): @@ -373,6 +380,7 @@ SRR5681005\tinput\t\t self.workflow_run_submit() self._expect_chipseq_table(history_id, 51) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_runtime_parameters_simple(self): @@ -387,6 +395,7 @@ SRR5681005\tinput\t\t self._assert_has_3_lines_after_run(hid=2) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_runtime_parameters_simple_optional(self): @@ -410,6 +419,7 @@ steps: content = self.dataset_populator.get_history_dataset_content(history_id, hid=1) assert json.loads(content) == 3 + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_subworkflows_expanded(self): @@ -422,6 +432,7 @@ steps: self.components.workflow_run.subworkflow_step_icon.wait_for_and_click() self.screenshot("workflow_run_nested_open") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_subworkflow_runtime_parameters(self): @@ -438,6 +449,7 @@ steps: self._assert_has_3_lines_after_run(hid=2) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_replacement_parameters(self): @@ -455,6 +467,7 @@ steps: details = self.dataset_populator.get_history_dataset_details(history_id, hid=output_hid) assert details["name"] == "moocow suffix", details + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_step_parameter_inputs(self): @@ -491,6 +504,7 @@ steps: assert "12345" in content, content assert "chr6_hla_hap2" in content + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_replacement_parameters_on_subworkflows(self): @@ -508,6 +522,7 @@ steps: details = self.dataset_populator.get_history_dataset_details(history_id, hid=output_hid) assert details["name"] == "moocow suffix", details + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_execution_with_tool_upgrade(self): name = self.workflow_upload_yaml_with_random_name(WORKFLOW_WITH_OLD_TOOL_VERSION, exact_tools=True) @@ -517,6 +532,7 @@ steps: self.assert_message(self.components.workflow_run.warning, contains="tools which have changed") self.screenshot("workflow_run_tool_upgrade") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_run_form_safe_upgrade_handling(self): workflow_with_rules = yaml.safe_load(WORKFLOW_WITH_RULES_1) @@ -549,6 +565,7 @@ steps: content = self.dataset_populator.get_history_dataset_content(history_id, hid=7) assert "10.0\n30.0\n20.0\n40.0\n" == content + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_execution_with_text_default_value_connected_to_restricted_select(self): @@ -661,6 +678,7 @@ steps: {} invocation = self.workflow_populator.get_invocation(invocations[-1]["id"]) assert invocation["inputs"]["0"]["id"] == dataset["id"] + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_workflow_run_list_paired_or_unpaired_with_paired_list(self): @@ -682,6 +700,7 @@ steps: {} content = self.dataset_populator.get_history_dataset_content(history_id, hid=6) assert content.strip() == "forward content\nreverse content" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_workflow_run_list_paired_or_unpaired_with_flat_list(self): @@ -703,6 +722,7 @@ steps: {} content = self.dataset_populator.get_history_dataset_content(history_id, hid=6) assert content.strip() == "reverse content\nforward content" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_workflow_run_list_paired_or_unpaired_with_mixed_list(self): @@ -725,6 +745,7 @@ steps: {} content = self.dataset_populator.get_history_dataset_content(history_id, hid=8) assert content.strip() == "forward content\nreverse content\nunpaired content" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_upload_dataset_from_workflow_simple(self): @@ -739,6 +760,7 @@ steps: {} content = self.dataset_populator.get_history_dataset_content(history_id, hid=2) assert content.strip() == "hello world\nhello world" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_modal_upload_updates_form(self): @@ -771,6 +793,7 @@ steps: {} content = self.dataset_populator.get_history_dataset_content(history_id, hid=6) assert content.strip() == "hello world" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_upload_list_from_workflow_simple(self): @@ -785,6 +808,7 @@ steps: {} self.workflow_run_submit() self.history_panel_wait_for_hid_ok(6) + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_upload_list_paired_from_workflow(self): @@ -802,6 +826,7 @@ steps: {} content = self.dataset_populator.get_history_dataset_content(history_id, hid=7) assert content.strip() == "hello world\nhello world" + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test @managed_history def test_upload_list_paired_or_unpaired_from_workflow(self): diff --git a/lib/galaxy_test/selenium/test_workflow_sharing.py b/lib/galaxy_test/selenium/test_workflow_sharing.py index bd93e14f004..d7c27c8744d 100644 --- a/lib/galaxy_test/selenium/test_workflow_sharing.py +++ b/lib/galaxy_test/selenium/test_workflow_sharing.py @@ -1,5 +1,6 @@ from galaxy_test.base.workflow_fixtures import WORKFLOW_SIMPLE_CAT_TWICE from .framework import ( + selenium_only, selenium_test, SeleniumTestCase, UsesWorkflowAssertions, @@ -9,6 +10,7 @@ from .framework import ( class TestWorkflowSharingRedirect(SeleniumTestCase): ensure_registered = True + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_share_workflow_with_login_redirect(self): user_email = self.get_user_email() @@ -22,6 +24,7 @@ class TestWorkflowSharingRedirect(SeleniumTestCase): self.wait_for_logged_in() self.wait_for_selector(".make-accessible") + @selenium_only("Not yet migrated to support Playwright backend") @selenium_test def test_export_workflow_with_login_redirect(self): user_email = self.get_user_email()