Skip to content

Commit 1d9f3e7

Browse files
Hani YacoubHani Yacoub
authored andcommitted
first implementation
1 parent f95867a commit 1d9f3e7

File tree

3 files changed

+90
-1
lines changed

3 files changed

+90
-1
lines changed

modules/data/about_prefs.components.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,5 +133,17 @@
133133
"selectorData": "#addresses option",
134134
"strategy": "css",
135135
"groups": []
136+
},
137+
138+
"firefox-suggest-nonsponsored": {
139+
"selectorData": "firefoxSuggestNonsponsored",
140+
"strategy": "id",
141+
"groups": []
142+
},
143+
144+
"firefox-suggest-sponsored": {
145+
"selectorData": "firefoxSuggestSponsored",
146+
"strategy": "id",
147+
"groups": []
136148
}
137149
}

modules/data/navigation.components.json

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,5 +146,17 @@
146146
"groups": [
147147
"doNotCache"
148148
]
149+
},
150+
151+
"firefox-suggestion": {
152+
"selectorData": "urlbarView-row-body-description",
153+
"strategy": "class",
154+
"groups": []
155+
},
156+
157+
"firefox-suggest": {
158+
"selectorData": "div.urlbarView-row[label=\"Firefox Suggest\"] > span.urlbarView-row-inner",
159+
"strategy": "css",
160+
"groups": []
149161
}
150-
}
162+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
2+
import time
3+
4+
import pytest
5+
from selenium.common import NoSuchElementException
6+
from selenium.webdriver import Firefox
7+
8+
from modules.browser_object_navigation import Navigation
9+
from modules.browser_object_tabbar import TabBar
10+
from modules.page_object_about_newtab import AboutNewtab
11+
from modules.page_object_about_prefs import AboutPrefs
12+
from modules.util import BrowserActions
13+
14+
15+
@pytest.fixture()
16+
def add_prefs():
17+
return [
18+
("browser.search.region", "US"),
19+
]
20+
21+
22+
def test_preferences_all_toggles_enabled(driver: Firefox):
23+
"""
24+
C1618400: Preferences - All toggles buttons Enabled
25+
"""
26+
# instantiate objects
27+
nav = Navigation(driver).open()
28+
about_prefs = AboutPrefs(driver, category="search").open()
29+
u = BrowserActions(driver)
30+
tabs = TabBar(driver)
31+
32+
# Check if toggles are enabled
33+
nonsponsored_checkbox = about_prefs.get_element("firefox-suggest-nonsponsored")
34+
assert nonsponsored_checkbox.is_selected(), f"Checkbox with selector '{nonsponsored_checkbox}' is not checked"
35+
sponsors_checkbox = about_prefs.get_element("firefox-suggest-sponsored")
36+
assert sponsors_checkbox.is_selected(), f"Checkbox with selector '{sponsors_checkbox}' is not checked"
37+
38+
# Check if sponsored suggestion is displayed
39+
tabs.new_tab_by_button()
40+
tabs.switch_tab()
41+
time.sleep(20)
42+
u.search("iphone", with_enter=False)
43+
time.sleep(5)
44+
with (driver.context(driver.CONTEXT_CHROME)):
45+
firefox_suggest = nav.get_element("firefox-suggestion")
46+
# .get_attribute("Sponsored")
47+
# sponsored = firefox_suggest.get_attribute("Sponsored")
48+
# expected_attribute = "Sponsored"
49+
assert firefox_suggest.is_displayed()
50+
# sponsored = firefox_suggest.get_attribute("Sponsored")
51+
# assert firefox_suggest.is_displayed()
52+
53+
# Check if a non-sponsored suggestion is displayed
54+
nav.clear_awesome_bar()
55+
time.sleep(20)
56+
u.search("wikipedia", with_enter=False)
57+
# nav.type_in_awesome_bar("wikipedia")
58+
time.sleep(20)
59+
try:
60+
with (driver.context(driver.CONTEXT_CHROME)):
61+
firefox_suggest = nav.get_element("firefox-suggestion")
62+
is_displayed = firefox_suggest.is_displayed()
63+
except NoSuchElementException:
64+
is_displayed = False
65+
assert not is_displayed, f"Element with XPath {firefox_suggest} is displayed, but it should not be."

0 commit comments

Comments
 (0)