diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /testing/marionette/harness/marionette_harness/tests/unit/single_finger_functions.py | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'testing/marionette/harness/marionette_harness/tests/unit/single_finger_functions.py')
-rw-r--r-- | testing/marionette/harness/marionette_harness/tests/unit/single_finger_functions.py | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/testing/marionette/harness/marionette_harness/tests/unit/single_finger_functions.py b/testing/marionette/harness/marionette_harness/tests/unit/single_finger_functions.py new file mode 100644 index 000000000..c2daf9d54 --- /dev/null +++ b/testing/marionette/harness/marionette_harness/tests/unit/single_finger_functions.py @@ -0,0 +1,131 @@ +from marionette_driver.marionette import Actions +from marionette_driver.errors import TimeoutException +from marionette_driver.by import By + + +def wait_for_condition_else_raise(marionette, wait_for_condition, expected, script): + try: + wait_for_condition(lambda m: expected in m.execute_script(script)) + except TimeoutException as e: + raise TimeoutException("{0} got {1} instead of {2}".format( + e.message, marionette.execute_script(script), expected)) + +def press_release(marionette, times, wait_for_condition, expected): + testAction = marionette.absolute_url("testAction.html") + marionette.navigate(testAction) + action = Actions(marionette) + button = marionette.find_element(By.ID, "button1") + action.press(button).release() + # Insert wait between each press and release chain. + for _ in range(times-1): + action.wait(0.1) + action.press(button).release() + action.perform() + wait_for_condition_else_raise(marionette, wait_for_condition, expected, "return document.getElementById('button1').innerHTML;") + +def move_element(marionette, wait_for_condition, expected1, expected2): + testAction = marionette.absolute_url("testAction.html") + marionette.navigate(testAction) + ele = marionette.find_element(By.ID, "button1") + drop = marionette.find_element(By.ID, "button2") + action = Actions(marionette) + action.press(ele).move(drop).release() + action.perform() + wait_for_condition_else_raise(marionette, wait_for_condition, expected1, "return document.getElementById('button1').innerHTML;") + wait_for_condition_else_raise(marionette, wait_for_condition, expected2, "return document.getElementById('button2').innerHTML;") + +def move_element_offset(marionette, wait_for_condition, expected1, expected2): + testAction = marionette.absolute_url("testAction.html") + marionette.navigate(testAction) + ele = marionette.find_element(By.ID, "button1") + action = Actions(marionette) + action.press(ele).move_by_offset(0,150).move_by_offset(0, 150).release() + action.perform() + wait_for_condition_else_raise(marionette, wait_for_condition, expected1, "return document.getElementById('button1').innerHTML;") + wait_for_condition_else_raise(marionette, wait_for_condition, expected2, "return document.getElementById('button2').innerHTML;") + +def chain(marionette, wait_for_condition, expected1, expected2): + testAction = marionette.absolute_url("testAction.html") + marionette.navigate(testAction) + marionette.timeout.implicit = 15 + action = Actions(marionette) + button1 = marionette.find_element(By.ID, "button1") + action.press(button1).perform() + button2 = marionette.find_element(By.ID, "delayed") + wait_for_condition_else_raise(marionette, wait_for_condition, expected1, "return document.getElementById('button1').innerHTML;") + action.move(button2).release().perform() + wait_for_condition_else_raise(marionette, wait_for_condition, expected2, "return document.getElementById('delayed').innerHTML;") + +def chain_flick(marionette, wait_for_condition, expected1, expected2): + testAction = marionette.absolute_url("testAction.html") + marionette.navigate(testAction) + button = marionette.find_element(By.ID, "button1") + action = Actions(marionette) + action.flick(button, 0, 0, 0, 200).perform() + wait_for_condition_else_raise(marionette, wait_for_condition, expected1,"return document.getElementById('button1').innerHTML;") + wait_for_condition_else_raise(marionette, wait_for_condition, expected2,"return document.getElementById('buttonFlick').innerHTML;") + + +def wait(marionette, wait_for_condition, expected): + testAction = marionette.absolute_url("testAction.html") + marionette.navigate(testAction) + action = Actions(marionette) + button = marionette.find_element(By.ID, "button1") + action.press(button).wait().release().perform() + wait_for_condition_else_raise(marionette, wait_for_condition, expected, "return document.getElementById('button1').innerHTML;") + +def wait_with_value(marionette, wait_for_condition, expected): + testAction = marionette.absolute_url("testAction.html") + marionette.navigate(testAction) + button = marionette.find_element(By.ID, "button1") + action = Actions(marionette) + action.press(button).wait(0.01).release() + action.perform() + wait_for_condition_else_raise(marionette, wait_for_condition, expected, "return document.getElementById('button1').innerHTML;") + +def context_menu(marionette, wait_for_condition, expected1, expected2): + testAction = marionette.absolute_url("testAction.html") + marionette.navigate(testAction) + button = marionette.find_element(By.ID, "button1") + action = Actions(marionette) + action.press(button).wait(5).perform() + wait_for_condition_else_raise(marionette, wait_for_condition, expected1, "return document.getElementById('button1').innerHTML;") + action.release().perform() + wait_for_condition_else_raise(marionette, wait_for_condition, expected2, "return document.getElementById('button1').innerHTML;") + +def long_press_action(marionette, wait_for_condition, expected): + testAction = marionette.absolute_url("testAction.html") + marionette.navigate(testAction) + button = marionette.find_element(By.ID, "button1") + action = Actions(marionette) + action.long_press(button, 5).perform() + wait_for_condition_else_raise(marionette, wait_for_condition, expected, "return document.getElementById('button1').innerHTML;") + +def long_press_on_xy_action(marionette, wait_for_condition, expected): + testAction = marionette.absolute_url("testAction.html") + marionette.navigate(testAction) + html = marionette.find_element(By.TAG_NAME, "html") + button = marionette.find_element(By.ID, "button1") + action = Actions(marionette) + + # Press the center of the button with respect to html. + x = button.rect['x'] + button.rect['width'] / 2.0 + y = button.rect['y'] + button.rect['height'] / 2.0 + action.long_press(html, 5, x, y).perform() + wait_for_condition_else_raise(marionette, wait_for_condition, expected, "return document.getElementById('button1').innerHTML;") + +def single_tap(marionette, wait_for_condition, expected): + testAction = marionette.absolute_url("testAction.html") + marionette.navigate(testAction) + button = marionette.find_element(By.ID, "button1") + action = Actions(marionette) + action.tap(button).perform() + wait_for_condition_else_raise(marionette, wait_for_condition, expected, "return document.getElementById('button1').innerHTML;") + +def double_tap(marionette, wait_for_condition, expected): + testAction = marionette.absolute_url("testAction.html") + marionette.navigate(testAction) + button = marionette.find_element(By.ID, "button1") + action = Actions(marionette) + action.double_tap(button).perform() + wait_for_condition_else_raise(marionette, wait_for_condition, expected, "return document.getElementById('button1').innerHTML;") |