1
1
import pytest
2
+ from selenium .common .exceptions import TimeoutException
2
3
from selenium .webdriver import Firefox
3
4
from selenium .webdriver .support import expected_conditions as EC
4
5
from selenium .webdriver .support .ui import WebDriverWait
5
- from selenium .common .exceptions import TimeoutException
6
6
7
7
from modules .browser_object import Navigation
8
8
9
9
ADDONS_BASE_URL = "https://addons.mozilla.org/en-US/firefox/addon/"
10
- AWESOME_BAR_SELECTOR = "addon-suggestion"
11
- WAIT_TIMEOUT = 10
12
10
13
11
14
12
@pytest .fixture ()
15
13
def test_case ():
16
14
return "2234714"
17
15
18
16
17
+ @pytest .fixture ()
18
+ def add_to_prefs_list ():
19
+ return [
20
+ ("browser.urlbar.suggest.addons" , True ),
21
+ ("browser.urlbar.addons.featureGate" , True ),
22
+ ]
23
+
24
+
19
25
def test_addon_suggestion_based_on_search_input (driver : Firefox ):
20
26
"""
21
27
C2234714 - Verify that the address bar suggests relevant add-ons based on search input.
@@ -32,16 +38,17 @@ def test_addon_suggestion_based_on_search_input(driver: Firefox):
32
38
33
39
nav = Navigation (driver )
34
40
nav .set_awesome_bar ()
35
- WebDriverWait (driver , WAIT_TIMEOUT ).until (lambda d : True )
36
41
37
42
for input_text , addon_name in input_to_addon_name .items ():
38
43
nav .type_in_awesome_bar (input_text )
39
44
try :
40
- nav .element_visible (AWESOME_BAR_SELECTOR )
45
+ nav .element_visible ("addon-suggestion" )
41
46
except TimeoutException :
42
- raise AssertionError (f"Addon suggestion not visible for input: '{ input_text } '" )
47
+ raise AssertionError (
48
+ f"Addon suggestion not visible for input: '{ input_text } '"
49
+ )
43
50
44
- nav .select_element_in_nav (AWESOME_BAR_SELECTOR )
51
+ nav .select_element_in_nav ("addon-suggestion" )
45
52
46
53
expected_url = f"{ ADDONS_BASE_URL } { addon_name } /"
47
54
nav .expect_in_content (EC .url_contains (expected_url ))
0 commit comments