Skip to content

Commit

Permalink
Removing autousable property and updating testcases
Browse files Browse the repository at this point in the history
  • Loading branch information
vaibhavsahni009 committed Sep 16, 2023
1 parent 6ca85e6 commit badd4fa
Showing 1 changed file with 35 additions and 7 deletions.
42 changes: 35 additions & 7 deletions examples/sleep_before_wait_starts.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
from selene import browser
from selene.core.wait import Wait

SLEEP_TIME = 1.0
DEFAULT_SLEEP_TIME = 1.0
CUSTOM_SLEEP_TIME = 5.0


def sleep_before_wait(wait: Wait, sleep_time=SLEEP_TIME):
def sleep_before_wait(wait: Wait, sleep_time=DEFAULT_SLEEP_TIME):
def sleep_before_wait_decorator(for_):
def decorated(fn):
time.sleep(sleep_time)
Expand All @@ -22,25 +23,52 @@ def decorated(fn):
return sleep_before_wait_decorator


@pytest.fixture(scope='function', autouse=True)
def browser_management():
@pytest.fixture(scope='function')
def browser_management_with_default_sleep():
browser.config._wait_decorator = sleep_before_wait

yield


def test_sleep_via__wait_decorator():
@pytest.fixture(scope='function')
def browser_management_with_custom_sleep():
def custom_sleep_decorator(fn):
return sleep_before_wait(fn, sleep_time=CUSTOM_SLEEP_TIME)

browser.config._wait_decorator = custom_sleep_decorator

yield


def test_sleep_via__wait_decorator(browser_management_with_default_sleep):
"""
Waits 1 second each before typing and pressing enter
So the difference between epoch time should be equal to or more that 2
"""

browser.open('http://todomvc.com/examples/emberjs/')
for _ in range(2):
browser.element('#new-todo').type(f'{time.time()}').press_enter()
todo_items = browser.all('#todo-list>li')
initial_epoch_time = float(todo_items.first().text)
final_epoch_time = float(todo_items.second().text)

assert final_epoch_time - initial_epoch_time >= 2 * SLEEP_TIME
assert final_epoch_time - initial_epoch_time >= 2 * DEFAULT_SLEEP_TIME


def test_sleep_via_wait_decorator_with_custom_time(
browser_management_with_custom_sleep,
):
"""
Waits 0.5 second each before typing and pressing enter
So the difference between epoch time should be equal to or more that 1
"""
browser.open('http://todomvc.com/examples/emberjs/')
for _ in range(2):
browser.element('#new-todo').type(f'{time.time()}').press_enter()
todo_items = browser.all('#todo-list>li').sliced(2)
initial_epoch_time = float(todo_items.first().text)
final_epoch_time = float(todo_items.second().text)

assert final_epoch_time - initial_epoch_time >= 2 * CUSTOM_SLEEP_TIME

0 comments on commit badd4fa

Please sign in to comment.