Bug 867573 - fix broken MarionetteTouchMixin, add test, r=dburns

This commit is contained in:
Malini Das 2013-05-01 11:41:57 -04:00
parent d5d3e207b9
commit 75a00a9120
4 changed files with 48 additions and 4 deletions

View File

@ -5,7 +5,7 @@
import os
from errors import ElementNotVisibleException
from marionette import Actions
from gestures import pinch
import gestures
"""
Adds touch support in Marionette
"""
@ -36,9 +36,9 @@ class MarionetteTouchMixin(object):
def flick(self, element, x1, y1, x2, y2, duration=200):
self.check_element(element)
action = Actions(self.marionette)
action = Actions(self)
action.flick(element, x1, y1, x2, y2, duration).perform()
def pinch(self, element, x1, y1, x2, y2, x3, y3, x4, y4, duration = 200):
self.check_element(element)
pinch(element, x1, y1, x2, y2, x3, y3, x4, y4, duration)
gestures.pinch(self, element, x1, y1, x2, y2, x3, y3, x4, y4, duration)

View File

@ -0,0 +1,40 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import time
from marionette_test import MarionetteTestCase
from marionette import Marionette
from marionette_touch import MarionetteTouchMixin
class TestTouchMixin(MarionetteTestCase):
def setUp(self):
super(TestTouchMixin, self).setUp()
self.marionette.__class__ = type('Marionette', (Marionette, MarionetteTouchMixin), {})
self.marionette.setup_touch()
def test_tap(self):
testTouch = self.marionette.absolute_url("testAction.html")
self.marionette.navigate(testTouch)
button = self.marionette.find_element("id", "mozLinkCopy")
self.marionette.tap(button)
time.sleep(10)
self.assertEqual("End", self.marionette.execute_script("return document.getElementById('mozLinkCopy').innerHTML;"))
def test_dbtap(self):
testTouch = self.marionette.absolute_url("testAction.html")
self.marionette.navigate(testTouch)
button = self.marionette.find_element("id", "mozMouse")
self.marionette.double_tap(button)
time.sleep(10)
self.assertEqual("TouchEnd2", self.marionette.execute_script("return document.getElementById('mozMouse').innerHTML;"))
def test_flick(self):
testTouch = self.marionette.absolute_url("testAction.html")
self.marionette.navigate(testTouch)
button = self.marionette.find_element("id", "mozLinkScrollStart")
self.marionette.flick(button, 0, 0, 0, -250)
time.sleep(15)
self.assertEqual("End", self.marionette.execute_script("return document.getElementById('mozLinkScroll').innerHTML;"))
self.assertEqual("Start", self.marionette.execute_script("return document.getElementById('mozLinkScrollStart').innerHTML;"))

View File

@ -55,6 +55,10 @@ b2g = true
browser = false
unagi = true
[test_marionette_touch.py]
b2g = true
browser = false
[test_single_finger.py]
b2g = true
browser = false

View File

@ -1,7 +1,7 @@
import os
from setuptools import setup, find_packages
version = '0.5.26'
version = '0.5.27'
# get documentation from the README
try: