Skip to content

Commit 4d6d037

Browse files
committed
Adding __repr__ for wait object in [python] bindings
Moving tests to their own class more work to fix #588
1 parent a6f32f1 commit 4d6d037

File tree

3 files changed

+45
-8
lines changed

3 files changed

+45
-8
lines changed

py/selenium/webdriver/support/wait.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ def __init__(self, driver, timeout, poll_frequency=POLL_FREQUENCY, ignored_excep
5555
exceptions.append(ignored_exceptions)
5656
self._ignored_exceptions = tuple(exceptions)
5757

58+
def __repr__(self):
59+
return '<{0.__module__}.{0.__name__} (session="{1}")>'.format(
60+
type(self), self._driver.session_id)
61+
5862
def until(self, method, message=''):
5963
"""Calls the method provided with the driver as an argument until the \
6064
return value is not False."""

py/test/selenium/webdriver/common/element_attribute_tests.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,6 @@
2222

2323
class ElementAttributeTests(unittest.TestCase):
2424

25-
def testShouldImplementReprForWebElement(self):
26-
self._loadSimplePage()
27-
elem = self.driver.find_element_by_id("validImgTag")
28-
elem_repr = repr(elem)
29-
self.assertTrue( "WebElement" in elem_repr)
30-
self.assertTrue( "session=" in elem_repr)
31-
self.assertTrue( "element=" in elem_repr)
32-
3325
def testShouldReturnNullWhenGettingTheValueOfAnAttributeThatIsNotListed(self):
3426
self._loadSimplePage()
3527
head = self.driver.find_element_by_xpath("/html")
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Licensed to the Software Freedom Conservancy (SFC) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The SFC licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
import unittest
19+
from selenium.webdriver.support.wait import WebDriverWait
20+
21+
22+
class ClassReprTests(unittest.TestCase):
23+
24+
def testShouldImplementReprForWebDriver(self):
25+
driver_repr = repr(self.driver)
26+
self.assertTrue(type(self.driver).__name__ in driver_repr)
27+
self.assertTrue(self.driver.session_id in driver_repr)
28+
29+
def testShouldImplementReprForWebElement(self):
30+
self.driver.get(self.webserver.where_is('simpleTest.html'))
31+
elem = self.driver.find_element_by_id("validImgTag")
32+
elem_repr = repr(elem)
33+
self.assertTrue(type(elem).__name__ in elem_repr)
34+
self.assertTrue(self.driver.session_id in elem_repr)
35+
self.assertTrue(elem._id in elem_repr)
36+
37+
def testShouldImplementReprForWait(self):
38+
wait = WebDriverWait(self.driver, 30)
39+
wait_repr = repr(wait)
40+
self.assertTrue(type(wait).__name__ in wait_repr)
41+
self.assertTrue(self.driver.session_id in wait_repr)

0 commit comments

Comments
 (0)