24
24
from selenium.webdriver.common.by import By
25
25
26
26
disabledSelect = {'name': 'no-select', 'values': ['Foo']}
27
+
disabledSingleSelect = {'name': 'single_disabled', 'values': ['Enabled', 'Disabled']}
28
+
disabledMultiSelect = {'name': 'multi_disabled', 'values': ['Enabled', 'Disabled']}
27
29
singleSelectValues1 = {'name': 'selectomatic', 'values': ['One', 'Two', 'Four', 'Still learning how to count, apparently']}
28
30
singleSelectValues2 = {'name': 'redirect', 'values': ['One', 'Two']}
29
31
singleSelectValuesWithSpaces = {'name': 'select_with_spaces', 'values': ['One', 'Two', 'Four', 'Still learning how to count, apparently']}
@@ -41,6 +43,13 @@ def test_select_by_index_single(driver, pages):
41
43
assert sel.first_selected_option.text == select['values'][x]
42
44
43
45
46
+
def test_raises_exception_select_by_index_single_disabled(driver, pages):
47
+
pages.load("formPage.html")
48
+
sel = Select(driver.find_element(By.NAME, disabledSingleSelect['name']))
49
+
with pytest.raises(NotImplementedError):
50
+
sel.select_by_index(1)
51
+
52
+
44
53
def test_select_by_value_single(driver, pages):
45
54
pages.load("formPage.html")
46
55
for select in [singleSelectValues1]:
@@ -50,6 +59,13 @@ def test_select_by_value_single(driver, pages):
50
59
assert sel.first_selected_option.text == select['values'][x]
51
60
52
61
62
+
def test_raises_exception_select_by_value_single_disabled(driver, pages):
63
+
pages.load("formPage.html")
64
+
sel = Select(driver.find_element(By.NAME, disabledSingleSelect['name']))
65
+
with pytest.raises(NotImplementedError):
66
+
sel.select_by_value(disabledSingleSelect['values'][1].lower())
67
+
68
+
53
69
def test_select_by_visible_text_single(driver, pages):
54
70
pages.load("formPage.html")
55
71
@@ -61,20 +77,11 @@ def test_select_by_visible_text_single(driver, pages):
61
77
assert sel.first_selected_option.text == select['values'][x]
62
78
63
79
64
-
# @pytest.mark.xfail_chrome(
65
-
# reason='https://bugs.chromium.org/p/chromedriver/issues/detail?id=822')
66
-
# @pytest.mark.xfail_chromiumedge(
67
-
# reason='https://bugs.chromium.org/p/chromedriver/issues/detail?id=822')
68
-
# @pytest.mark.xfail_safari
69
-
# def test_select_by_visible_text_should_normalize_spaces(driver, pages):
70
-
# pages.load("formPage.html")
71
-
72
-
# for select in [singleSelectValuesWithSpaces]:
73
-
# sel = Select(driver.find_element(By.NAME, select['name']))
74
-
# for x in range(len(select['values'])):
75
-
# print(select['values'][x])
76
-
# sel.select_by_visible_text(select['values'][x])
77
-
# assert sel.first_selected_option.text == select['values'][x]
80
+
def test_raises_exception_select_by_text_single_disabled(driver, pages):
81
+
pages.load("formPage.html")
82
+
sel = Select(driver.find_element(By.NAME, disabledSingleSelect['name']))
83
+
with pytest.raises(NotImplementedError):
84
+
sel.select_by_visible_text(disabledSingleSelect['values'][1])
78
85
79
86
80
87
def test_select_by_index_multiple(driver, pages):
@@ -91,6 +98,14 @@ def test_select_by_index_multiple(driver, pages):
91
98
assert selected[j].text == select['values'][j]
92
99
93
100
101
+
def test_raises_exception_select_by_index_multiple_disabled(driver, pages):
102
+
pages.load("formPage.html")
103
+
104
+
sel = Select(driver.find_element(By.NAME, disabledMultiSelect['name']))
105
+
with pytest.raises(NotImplementedError):
106
+
sel.select_by_index(1)
107
+
108
+
94
109
def test_select_by_value_multiple(driver, pages):
95
110
pages.load("formPage.html")
96
111
@@ -105,6 +120,14 @@ def test_select_by_value_multiple(driver, pages):
105
120
assert selected[j].text == select['values'][j]
106
121
107
122
123
+
def test_raises_exception_select_by_value_multiple_disabled(driver, pages):
124
+
pages.load("formPage.html")
125
+
126
+
sel = Select(driver.find_element(By.NAME, disabledMultiSelect['name']))
127
+
with pytest.raises(NotImplementedError):
128
+
sel.select_by_value(disabledMultiSelect['values'][1].lower())
129
+
130
+
108
131
def test_select_by_visible_text_multiple(driver, pages):
109
132
pages.load("formPage.html")
110
133
@@ -119,6 +142,14 @@ def test_select_by_visible_text_multiple(driver, pages):
119
142
assert selected[j].text == select['values'][j]
120
143
121
144
145
+
def test_raises_exception_select_by_text_multiple_disabled(driver, pages):
146
+
pages.load("formPage.html")
147
+
148
+
sel = Select(driver.find_element(By.NAME, disabledMultiSelect['name']))
149
+
with pytest.raises(NotImplementedError):
150
+
sel.select_by_visible_text(disabledMultiSelect['values'][1])
151
+
152
+
122
153
def test_deselect_all_single(driver, pages):
123
154
pages.load("formPage.html")
124
155
for select in [singleSelectValues1, singleSelectValues2]:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4