Skip to content

Commit

Permalink
Merge pull request #98 from neetjn/issue-96-neetjn
Browse files Browse the repository at this point in the history
Issue 96
  • Loading branch information
neetjn committed Apr 15, 2018
2 parents b976521 + 627c23d commit e057ae4
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 3 deletions.
4 changes: 2 additions & 2 deletions pyscc/element.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
from pyscc.resource import Resource


ELEMENTS_STALE_WAIT_TIME = 3
ELEMENTS_STALE_WAIT_TIME = 5


# pylint: disable=too-many-public-methods
Expand Down Expand Up @@ -445,7 +445,7 @@ def __find_elements(self):

def __wait_elements_not_stale(self, timeout):
# pylint: disable=line-too-long
self.controller.wait(timeout, condition=lambda: [element.text for element in self.get()])
self.controller.wait(timeout, condition=lambda: [self.controller.js.get_property(element, 'outerHTML') for element in self.get()])

def fmt(self, **kwargs):
"""
Expand Down
12 changes: 12 additions & 0 deletions tests/test_component_elements.py
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,11 @@ def test_elements_wrapper_text(self):
"""test elements wrapper text aggregation"""
self.app.wait(timeout=1) # wait for transitions
self.assertEqual(len(self.tasks.text()), 3)
start = datetime.datetime.now()
self.assertEqual(len(self.tasks.text(check_stale_element=True)), 3)
# make sure the stale element check isn't taking maximum time
# assume each check should take no longer than 1 second
self.assertTrue(datetime.datetime.now() - start < datetime.timedelta(seconds=3))
for task in self.tasks.text():
self.assertIn('2017', task)
for task in self.tasks.text(raw=True):
Expand All @@ -214,7 +218,11 @@ def test_elements_wrapper_attributes(self):
self.assertEqual(len(attributes), 3)
for attr in attributes:
self.assertEqual(attr, 'barfoo')
start = datetime.datetime.now()
self.assertEqual(len(self.tasks.get_attribute('foobar', check_stale_element=True)), 3)
# make sure the stale element check isn't taking maximum time
# assume each check should take no longer than 1 second
self.assertTrue(datetime.datetime.now() - start < datetime.timedelta(seconds=3))

def test_elements_wrapper_properties(self):
"""test elements wrapper property aggregation and specification"""
Expand All @@ -225,4 +233,8 @@ def test_elements_wrapper_properties(self):
self.assertEqual(len(properties), 3)
for prop in properties:
self.assertEqual(prop, 'barfoo')
start = datetime.datetime.now()
self.assertEqual(len(self.tasks.get_property('foobar', check_stale_element=True)), 3)
# make sure the stale element check isn't taking maximum time
# assume each check should take no longer than 1 second
self.assertTrue(datetime.datetime.now() - start < datetime.timedelta(seconds=3))
2 changes: 1 addition & 1 deletion tests/test_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def setUp(self):

def test_service_controller(self):
"""test service has reference to controller"""
self.assertEqual(hasattr(self.tasks_service), 'controller')
self.assertTrue(hasattr(self.tasks_service, 'controller'))
self.assertIsInstance(self.tasks_service.controller, Controller)
self.assertEqual(self.tasks_service.controller, self.app)

Expand Down

0 comments on commit e057ae4

Please sign in to comment.