|
15 | 15 | # specific language governing permissions and limitations |
16 | 16 | # under the License. |
17 | 17 |
|
18 | | - |
19 | 18 | import unittest |
20 | | -from selenium.common.exceptions import NoSuchElementException |
21 | | -from selenium.common.exceptions import InvalidSelectorException |
22 | | -from selenium.webdriver.common.by import By |
| 19 | + |
| 20 | +import pytest |
| 21 | +from selenium.common.exceptions import ( |
| 22 | + WebDriverException, |
| 23 | + NoSuchElementException) |
| 24 | + |
23 | 25 |
|
24 | 26 | class ChildrenFindingTests(unittest.TestCase): |
25 | 27 |
|
@@ -156,77 +158,19 @@ def test_should_be_able_to_find_multiple_elements_by_css_selector(self): |
156 | 158 | '*[name="selectomatic"]') |
157 | 159 | self.assertEqual(2, len(elements)) |
158 | 160 |
|
159 | | - def test_should_throw_an_error_if_user_passes_in_integer(self): |
160 | | - self._load_page("nestedElements") |
161 | | - element = self.driver.find_element_by_name("form2") |
162 | | - try: |
163 | | - element.find_element(By.ID, 333333) |
164 | | - self.fail("_should have thrown _web_driver Exception") |
165 | | - except InvalidSelectorException: |
166 | | - pass #_this is expected |
167 | | - |
168 | | - def test_should_throw_an_error_if_user_passes_in_tuple(self): |
169 | | - self._load_page("nestedElements") |
170 | | - element = self.driver.find_element_by_name("form2") |
171 | | - try: |
172 | | - element.find_element((By.ID, 333333)) |
173 | | - self.fail("_should have thrown _web_driver Exception") |
174 | | - except InvalidSelectorException: |
175 | | - pass #_this is expected |
176 | | - |
177 | | - def test_should_throw_an_error_if_user_passes_inNone(self): |
178 | | - self._load_page("nestedElements") |
179 | | - element = self.driver.find_element_by_name("form2") |
180 | | - try: |
181 | | - element.find_element(By.ID, None) |
182 | | - self.fail("_should have thrown _web_driver Exception") |
183 | | - except InvalidSelectorException: |
184 | | - pass #_this is expected |
185 | | - |
186 | 161 | def test_should_throw_an_error_if_user_passes_in_invalid_by(self): |
187 | 162 | self._load_page("nestedElements") |
188 | 163 | element = self.driver.find_element_by_name("form2") |
189 | | - try: |
190 | | - element.find_element("css", "body") |
191 | | - self.fail("_should have thrown _web_driver Exception") |
192 | | - except InvalidSelectorException: |
193 | | - pass #_this is expected |
194 | | - |
195 | | - def test_should_throw_an_error_if_user_passes_in_integer_when_find_elements(self): |
196 | | - self._load_page("nestedElements") |
197 | | - element = self.driver.find_element_by_name("form2") |
198 | | - try: |
199 | | - element.find_elements(By.ID, 333333) |
200 | | - self.fail("_should have thrown _web_driver Exception") |
201 | | - except InvalidSelectorException: |
202 | | - pass #_this is expected |
203 | | - |
204 | | - def test_should_throw_an_error_if_user_passes_in_tuple_when_find_elements(self): |
205 | | - self._load_page("nestedElements") |
206 | | - element = self.driver.find_element_by_name("form2") |
207 | | - try: |
208 | | - element.find_elements((By.ID, 333333)) |
209 | | - self.fail("_should have thrown _web_driver Exception") |
210 | | - except InvalidSelectorException: |
211 | | - pass #_this is expected |
212 | | - |
213 | | - def test_should_throw_an_error_if_user_passes_inNone_when_find_elements(self): |
214 | | - self._load_page("nestedElements") |
215 | | - element = self.driver.find_element_by_name("form2") |
216 | | - try: |
217 | | - element.find_elements(By.ID, None) |
218 | | - self.fail("should have thrown webdriver Exception") |
219 | | - except InvalidSelectorException: |
220 | | - pass #_this is expected |
| 164 | + with pytest.raises(WebDriverException) as excinfo: |
| 165 | + element.find_element("foo", "bar") |
| 166 | + assert 'Unsupported locator strategy: foo' in str(excinfo.value) |
221 | 167 |
|
222 | 168 | def test_should_throw_an_error_if_user_passes_in_invalid_by_when_find_elements(self): |
223 | 169 | self._load_page("nestedElements") |
224 | 170 | element = self.driver.find_element_by_name("form2") |
225 | | - try: |
226 | | - element.find_elements("css", "body") |
227 | | - self.fail("Should have thrown WebDriver Exception") |
228 | | - except InvalidSelectorException: |
229 | | - pass #_this is expected |
| 171 | + with pytest.raises(WebDriverException) as excinfo: |
| 172 | + element.find_elements("foo", "bar") |
| 173 | + assert 'Unsupported locator strategy: foo' in str(excinfo.value) |
230 | 174 |
|
231 | 175 | def _page_url(self, name): |
232 | 176 | return self.webserver.where_is(name + '.html') |
|
0 commit comments