|
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