Skip to content

Commit 5e6b0c9

Browse files
committed
Fix python pause action implementation
fixes #4795
1 parent 8301ef7 commit 5e6b0c9

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

py/selenium/webdriver/common/action_chains.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -315,13 +315,12 @@ def move_to_element_with_offset(self, to_element, xoffset, yoffset):
315315
return self
316316

317317
def pause(self, seconds):
318+
""" Pause all inputs for the specified duration in seconds """
318319
if self._driver.w3c:
319-
self.w3c_actions.pointer_action.pause(self, seconds)
320-
self.w3c_actions.key_action.pause(self, seconds)
320+
self.w3c_actions.pointer_action.pause(seconds)
321+
self.w3c_actions.key_action.pause(seconds)
321322
else:
322-
self._actions.append(lambda: self._driver.execute(
323-
time.sleep(seconds)
324-
))
323+
self._actions.append(lambda: time.sleep(seconds))
325324
return self
326325

327326
def release(self, on_element=None):

py/test/selenium/webdriver/common/interactions_tests.py

+19
Original file line numberDiff line numberDiff line change
@@ -216,3 +216,22 @@ def testSendingKeysToActiveElementWithModifier(driver, pages):
216216

217217
def test_can_reset_interactions(driver, pages):
218218
ActionChains(driver).reset_actions()
219+
220+
221+
def test_can_pause(driver, pages):
222+
from time import time
223+
pages.load("javascriptPage.html")
224+
225+
pause_time = 2
226+
toClick = driver.find_element_by_id("clickField")
227+
toDoubleClick = driver.find_element_by_id("doubleClickField")
228+
229+
pause = ActionChains(driver).click(toClick).pause(pause_time).click(toDoubleClick)
230+
231+
start = time()
232+
pause.perform()
233+
end = time()
234+
235+
assert pause_time < end - start
236+
assert "Clicked" == toClick.get_attribute('value')
237+
assert "Clicked" == toDoubleClick.get_attribute('value')

0 commit comments

Comments
 (0)