|
10 | 10 | from modules.util import Utilities
|
11 | 11 |
|
12 | 12 |
|
| 13 | +# Constants |
| 14 | +SEARCH_TERM = "festival" |
| 15 | +SEARCH_PROVIDER_PATH = '$..SEARCH_COUNTS.["google-b-1-d.urlbar"].sum' |
| 16 | +SEARCH_TAG_PATH = '$..["browser.search.content.urlbar"].["google:tagged:firefox-b-1-d"]' |
| 17 | +WAIT_AFTER_SEARCH = 5 |
| 18 | +WAIT_TELEMETRY_LOAD = 2 |
| 19 | + |
| 20 | +# Conditional skip for GitHub Actions on macOS |
| 21 | +MAC_GHA = environ.get("GITHUB_ACTIONS") == "true" and sys.platform.startswith("darwin") |
| 22 | + |
| 23 | + |
13 | 24 | @pytest.fixture()
|
14 | 25 | def test_case():
|
15 | 26 | return "1365026"
|
16 | 27 |
|
17 | 28 |
|
18 |
| -MAC_GHA = environ.get("GITHUB_ACTIONS") == "true" and sys.platform.startswith("darwin") |
19 |
| - |
20 |
| - |
21 |
| -@pytest.mark.skipif(MAC_GHA, reason="Test unstable in MacOS Github Actions") |
| 29 | +@pytest.mark.skipif(MAC_GHA, reason="Test unstable in macOS GitHub Actions") |
22 | 30 | def test_google_search_counts_us(driver: Firefox):
|
23 | 31 | """
|
24 |
| - C1365026, Test Google Search counts - urlbar US |
| 32 | + C1365026: Verify Google search counts in telemetry from the URL bar (US region). |
25 | 33 | """
|
26 |
| - # instantiate objects |
| 34 | + |
27 | 35 | nav = Navigation(driver)
|
28 |
| - nav.search("festival") |
29 |
| - sleep(5) |
30 |
| - u = Utilities() |
31 |
| - |
32 |
| - # Click on Raw JSON, switch tab and click on Raw Data |
33 |
| - about_telemetry = AboutTelemetry(driver).open() |
34 |
| - sleep(2) |
35 |
| - about_telemetry.get_element("category-raw").click() |
36 |
| - about_telemetry.switch_to_new_tab() |
37 |
| - about_telemetry.get_element("rawdata-tab").click() |
38 |
| - |
39 |
| - # Verify pings are recorded |
40 |
| - json_data = u.decode_url(driver) |
41 |
| - assert u.assert_json_value( |
42 |
| - json_data, '$..SEARCH_COUNTS.["google-b-1-d.urlbar"].sum', 1 |
43 |
| - ) |
44 |
| - assert u.assert_json_value( |
45 |
| - json_data, |
46 |
| - '$..["browser.search.content.urlbar"].["google:tagged:firefox-b-1-d"]', |
47 |
| - 1, |
48 |
| - ) |
| 36 | + nav.search(SEARCH_TERM) |
| 37 | + sleep(WAIT_AFTER_SEARCH) |
| 38 | + |
| 39 | + utils = Utilities() |
| 40 | + |
| 41 | + # === Open about:telemetry and navigate to raw JSON === |
| 42 | + telemetry = AboutTelemetry(driver).open() |
| 43 | + sleep(WAIT_TELEMETRY_LOAD) |
| 44 | + telemetry.get_element("category-raw").click() |
| 45 | + telemetry.switch_to_new_tab() |
| 46 | + telemetry.get_element("rawdata-tab").click() |
| 47 | + |
| 48 | + # === Decode telemetry and validate search provider data === |
| 49 | + json_data = utils.decode_url(driver) |
| 50 | + |
| 51 | + assert utils.assert_json_value( |
| 52 | + json_data, SEARCH_PROVIDER_PATH, 1 |
| 53 | + ), f"Expected 1 Google search in path: {SEARCH_PROVIDER_PATH}" |
| 54 | + |
| 55 | + assert utils.assert_json_value( |
| 56 | + json_data, SEARCH_TAG_PATH, 1 |
| 57 | + ), f"Expected 1 tagged Google search in path: {SEARCH_TAG_PATH}" |
0 commit comments