From 78897688a836a9bc0840d1c1e6a0270fd240d3dd Mon Sep 17 00:00:00 2001 From: Kirill Chernakov Date: Tue, 27 Aug 2024 16:03:37 +0400 Subject: [PATCH] fiix: update e2e tests for new dom structure --- tests/e2e_tests/test_end_to_end.py | 18 +++++++++--------- .../test_pushing_prometheus_alerts.py | 18 +++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/tests/e2e_tests/test_end_to_end.py b/tests/e2e_tests/test_end_to_end.py index e9e3a0fac..d6a09eb31 100644 --- a/tests/e2e_tests/test_end_to_end.py +++ b/tests/e2e_tests/test_end_to_end.py @@ -91,13 +91,13 @@ def test_providers_page_is_accessible(browser): ) browser.goto("http://localhost:3000/providers") # get the GCP Monitoring provider - browser.locator("div").filter( - has_text=re.compile(r"^GCP Monitoring alertConnect$") + browser.locator("button").filter( + has_text=re.compile(r"^GCP Monitoring alert$") ).first.click() browser.get_by_role("button", name="Cancel").click() # connect resend provider - browser.locator("div").filter( - has_text=re.compile(r"^resend messagingConnect$") + browser.locator("button").filter( + has_text=re.compile(r"^resend messaging$") ).first.click() browser.get_by_placeholder("Enter provider name").click() random_provider_name = "".join( @@ -106,14 +106,14 @@ def test_providers_page_is_accessible(browser): browser.get_by_placeholder("Enter provider name").fill(random_provider_name) browser.get_by_placeholder("Enter provider name").press("Tab") browser.get_by_placeholder("Enter api_key").fill("bla") - browser.get_by_role("button", name="Connect").click() + browser.get_by_role("button", name="Connect", exact=True).click() # wait a bit browser.wait_for_selector("text=Connected", timeout=15000) # make sure the provider is connected: - # find connected provider id label - id_label = browser.get_by_text(f"resend id: {random_provider_name}") - # click on parent div, the tile - id_label.locator('..').click() + # find and click the button containing the provider id in its nested elements + provider_button = browser.locator(f"button:has-text('{random_provider_name}')") + print(provider_button) + provider_button.click() except Exception: # Current file + test name for unique html and png dump. current_test_name = ( diff --git a/tests/e2e_tests/test_pushing_prometheus_alerts.py b/tests/e2e_tests/test_pushing_prometheus_alerts.py index 1812d2c08..8bf39f0cc 100644 --- a/tests/e2e_tests/test_pushing_prometheus_alerts.py +++ b/tests/e2e_tests/test_pushing_prometheus_alerts.py @@ -34,12 +34,12 @@ def test_pulling_prometheus_alerts_to_provider(browser): browser.get_by_placeholder("Filter providers...").click() browser.get_by_placeholder("Filter providers...").fill("prometheus") browser.get_by_placeholder("Filter providers...").press("Enter") - browser.get_by_text("Available Providers").hover() - browser.locator("div").filter( - has_text=re.compile(r"^prometheus dataalertConnect$") - ).nth(1).hover() + browser.get_by_text("Connect Provider").hover() + browser.locator("button").filter( + has_text=re.compile(r"^prometheus dataalert$") + ).first.hover() - browser.get_by_role("button", name="Connect").click() + browser.locator("button:has-text('prometheus')").click() browser.get_by_placeholder("Enter provider name").click() browser.get_by_placeholder("Enter provider name").fill(provider_name) browser.get_by_placeholder("Enter url").click() @@ -55,11 +55,11 @@ def test_pulling_prometheus_alerts_to_provider(browser): ) browser.mouse.wheel(1000, 10000) # Scroll down. - browser.get_by_role("button", name="Connect").click() + browser.get_by_role("button", name="Connect", exact=True).click() # Validate provider is created expect( - browser.locator("div") + browser.locator("button") .filter(has_text=re.compile(re.escape(provider_name))) .first ).to_be_visible() @@ -92,7 +92,7 @@ def test_pulling_prometheus_alerts_to_provider(browser): # Delete provider browser.get_by_role("link", name="Providers").click() - browser.locator("div").filter( + browser.locator("button").filter( has_text=re.compile(re.escape(provider_name)) ).first.hover() browser.locator(".tile-basis").first.click() @@ -101,7 +101,7 @@ def test_pulling_prometheus_alerts_to_provider(browser): # Assert provider was deleted expect( - browser.locator("div") + browser.locator("button") .filter(has_text=re.compile(re.escape(provider_name))) .first ).not_to_be_visible()