def test_move_element(self): testTouch = self.marionette.absolute_url("testAction.html") self.marionette.navigate(testTouch) start = self.marionette.find_element("id", "mozLink") drop = self.marionette.find_element("id", "mozLinkPos") ele = self.marionette.find_element("id", "mozLinkCopy") multi_action = MultiActions(self.marionette) action1 = Actions(self.marionette) action2 = Actions(self.marionette) action1.press(start).move(drop).wait(3).release() action2.press(ele).wait().release() multi_action.add(action1).add(action2).perform() time.sleep(15) self.assertEqual( "Move", self.marionette.execute_script( "return document.getElementById('mozLink').innerHTML;")) self.assertEqual( "End", self.marionette.execute_script( "return document.getElementById('mozLinkPos').innerHTML;")) self.assertEqual( "End", self.marionette.execute_script( "return document.getElementById('mozLinkCopy').innerHTML;"))
def test_three_fingers(self): testTouch = self.marionette.absolute_url("testAction.html") self.marionette.navigate(testTouch) start_one = self.marionette.find_element("id", "mozLink") start_two = self.marionette.find_element("id", "mozLinkStart") drop_two = self.marionette.find_element("id", "mozLinkEnd") ele = self.marionette.find_element("id", "mozLinkCopy2") multi_action = MultiActions(self.marionette) action1 = Actions(self.marionette) action2 = Actions(self.marionette) action3 = Actions(self.marionette) action1.press(start_one).move_by_offset(0, 300).release() action2.press(ele).wait().wait(5).release() action3.press(start_two).move(drop_two).wait(2).release() multi_action.add(action1).add(action2).add(action3).perform() time.sleep(15) self.assertEqual( "Move", self.marionette.execute_script( "return document.getElementById('mozLink').innerHTML;")) self.assertEqual( "End", self.marionette.execute_script( "return document.getElementById('mozLinkPos').innerHTML;")) self.assertTrue( self.marionette.execute_script( "return document.getElementById('mozLinkCopy2').innerHTML >= 5000;" )) self.assertTrue( self.marionette.execute_script( "return document.getElementById('mozLinkEnd').innerHTML >= 5000;" ))
def pinch(marionette_session, element, x1, y1, x2, y2, x3, y3, x4, y4, duration=200): time = 0 time_increment = 10 if time_increment >= duration: time_increment = duration move_x1 = time_increment * 1.0 / duration * (x3 - x1) move_y1 = time_increment * 1.0 / duration * (y3 - y1) move_x2 = time_increment * 1.0 / duration * (x4 - x2) move_y2 = time_increment * 1.0 / duration * (y4 - y2) multiAction = MultiActions(marionette_session) action1 = Actions(marionette_session) action2 = Actions(marionette_session) action1.press(element, x1, y1) action2.press(element, x2, y2) while (time < duration): time += time_increment action1.move_by_offset(move_x1, move_y1).wait(time_increment / 1000) action2.move_by_offset(move_x2, move_y2).wait(time_increment / 1000) action1.release() action2.release() multiAction.add(action1).add(action2).perform()
def test_three_fingers(self): testAction = self.marionette.absolute_url("testAction.html") self.marionette.navigate(testAction) start_one = self.marionette.find_element("id", "button1") start_two = self.marionette.find_element("id", "button2") element1 = self.marionette.find_element("id", "button3") element2 = self.marionette.find_element("id", "button4") multi_action = MultiActions(self.marionette) action1 = Actions(self.marionette) action2 = Actions(self.marionette) action3 = Actions(self.marionette) action1.press(start_one).move_by_offset(0, 300).release() action2.press(element1).wait().wait(5).release() action3.press(element2).wait().wait().release() multi_action.add(action1).add(action2).add(action3).perform() expected = "button1-touchstart" self.wait_for_condition(lambda m: m.execute_script( "return document.getElementById('button1').innerHTML;") == expected ) self.assertEqual( "button2-touchmove-touchend", self.marionette.execute_script( "return document.getElementById('button2').innerHTML;")) button3_text = self.marionette.execute_script( "return document.getElementById('button3').innerHTML;") button4_text = self.marionette.execute_script( "return document.getElementById('button4').innerHTML;") self.assertIn("button3-touchstart-touchend", button3_text) self.assertIn("button4-touchstart-touchend", button4_text) self.assertTrue(int(button3_text.rsplit("-")[-1]) >= 5000) self.assertTrue(int(button4_text.rsplit("-")[-1]) >= 5000)
def pinch(marionette_session, element, x1, y1, x2, y2, x3, y3, x4, y4, duration=200): """ :param element: target :param x1, y1: 1st finger starting position relative to the target :param x3, y3: 1st finger ending position relative to the target :param x2, y2: 2nd finger starting position relative to the target :param x4, y4: 2nd finger ending position relative to the target :param duration: Amount of time in milliseconds to complete the pinch. """ time = 0 time_increment = 10 if time_increment >= duration: time_increment = duration move_x1 = time_increment * 1.0 / duration * (x3 - x1) move_y1 = time_increment * 1.0 / duration * (y3 - y1) move_x2 = time_increment * 1.0 / duration * (x4 - x2) move_y2 = time_increment * 1.0 / duration * (y4 - y2) multiAction = MultiActions(marionette_session) action1 = Actions(marionette_session) action2 = Actions(marionette_session) action1.press(element, x1, y1) action2.press(element, x2, y2) while time < duration: time += time_increment action1.move_by_offset(move_x1, move_y1).wait(time_increment / 1000) action2.move_by_offset(move_x2, move_y2).wait(time_increment / 1000) action1.release() action2.release() multiAction.add(action1).add(action2).perform()
def test_move_offset_element(self): testTouch = self.marionette.absolute_url("testAction.html") self.marionette.navigate(testTouch) start = self.marionette.find_element("id", "mozLink") ele = self.marionette.find_element("id", "mozLinkCopy") multi_action = MultiActions(self.marionette) action1 = Actions(self.marionette) action2 = Actions(self.marionette) action1.press(start).move_by_offset(0,300).wait().release() action2.press(ele).wait(5).release() multi_action.add(action1).add(action2).perform() time.sleep(15) self.assertEqual("Move", self.marionette.execute_script("return document.getElementById('mozLink').innerHTML;")) self.assertEqual("End", self.marionette.execute_script("return document.getElementById('mozLinkPos').innerHTML;")) self.assertEqual("End", self.marionette.execute_script("return document.getElementById('mozLinkCopy').innerHTML;"))
def test_move_offset_element(self): testAction = self.marionette.absolute_url("testAction.html") self.marionette.navigate(testAction) start = self.marionette.find_element("id", "button1") ele = self.marionette.find_element("id", "button3") multi_action = MultiActions(self.marionette) action1 = Actions(self.marionette) action2 = Actions(self.marionette) action1.press(start).move_by_offset(0,300).wait().release() action2.press(ele).wait(5).release() multi_action.add(action1).add(action2).perform() expected = "button1-touchstart" self.wait_for_condition(lambda m: m.execute_script("return document.getElementById('button1').innerHTML;") == expected) self.assertEqual("button2-touchmove-touchend", self.marionette.execute_script("return document.getElementById('button2').innerHTML;")) self.assertTrue("button3-touchstart-touchend" in self.marionette.execute_script("return document.getElementById('button3').innerHTML;"))
def test_three_fingers(self): testTouch = self.marionette.absolute_url("testAction.html") self.marionette.navigate(testTouch) start_one = self.marionette.find_element("id", "mozLink") start_two = self.marionette.find_element("id", "mozLinkStart") drop_two = self.marionette.find_element("id", "mozLinkEnd") ele = self.marionette.find_element("id", "mozLinkCopy2") multi_action = MultiActions(self.marionette) action1 = Actions(self.marionette) action2 = Actions(self.marionette) action3 = Actions(self.marionette) action1.press(start_one).move_by_offset(0,300).release() action2.press(ele).wait().wait(5).release() action3.press(start_two).move(drop_two).wait(2).release() multi_action.add(action1).add(action2).add(action3).perform() time.sleep(15) self.assertEqual("Move", self.marionette.execute_script("return document.getElementById('mozLink').innerHTML;")) self.assertEqual("End", self.marionette.execute_script("return document.getElementById('mozLinkPos').innerHTML;")) self.assertTrue(self.marionette.execute_script("return document.getElementById('mozLinkCopy2').innerHTML >= 5000;")) self.assertTrue(self.marionette.execute_script("return document.getElementById('mozLinkEnd').innerHTML >= 5000;"))
def pinch(marionette_session, element, x1, y1, x2, y2, x3, y3, x4, y4, duration=200): time = 0 time_increment = 10 if time_increment >= duration: time_increment = duration move_x1 = time_increment*1.0/duration * (x3 - x1) move_y1 = time_increment*1.0/duration * (y3 - y1) move_x2 = time_increment*1.0/duration * (x4 - x2) move_y2 = time_increment*1.0/duration * (y4 - y2) multiAction = MultiActions(marionette_session) action1 = Actions(marionette_session) action2 = Actions(marionette_session) action1.press(element, x1, y1) action2.press(element, x2, y2) while (time < duration): time += time_increment action1.move_by_offset(move_x1, move_y1).wait(time_increment/1000) action2.move_by_offset(move_x2, move_y2).wait(time_increment/1000) action1.release() action2.release() multiAction.add(action1).add(action2).perform()
def pinch(marionette_session, element, x1, y1, x2, y2, x3, y3, x4, y4, duration=200): """ :param element: target :param x1, y1: 1st finger starting position relative to the target :param x3, y3: 1st finger ending position relative to the target :param x2, y2: 2nd finger starting position relative to the target :param x4, y4: 2nd finger ending position relative to the target :param duration: Amount of time in milliseconds to complete the pinch. """ time = 0 time_increment = 10 if time_increment >= duration: time_increment = duration move_x1 = time_increment * 1.0 / duration * (x3 - x1) move_y1 = time_increment * 1.0 / duration * (y3 - y1) move_x2 = time_increment * 1.0 / duration * (x4 - x2) move_y2 = time_increment * 1.0 / duration * (y4 - y2) multiAction = MultiActions(marionette_session) action1 = Actions(marionette_session) action2 = Actions(marionette_session) action1.press(element, x1, y1) action2.press(element, x2, y2) while (time < duration): time += time_increment action1.move_by_offset(move_x1, move_y1).wait(time_increment / 1000) action2.move_by_offset(move_x2, move_y2).wait(time_increment / 1000) action1.release() action2.release() multiAction.add(action1).add(action2).perform()
def test_three_fingers(self): testAction = self.marionette.absolute_url("testAction.html") self.marionette.navigate(testAction) start_one = self.marionette.find_element("id", "button1") start_two = self.marionette.find_element("id", "button2") element1 = self.marionette.find_element("id", "button3") element2 = self.marionette.find_element("id", "button4") multi_action = MultiActions(self.marionette) action1 = Actions(self.marionette) action2 = Actions(self.marionette) action3 = Actions(self.marionette) action1.press(start_one).move_by_offset(0,300).release() action2.press(element1).wait().wait(5).release() action3.press(element2).wait().wait().release() multi_action.add(action1).add(action2).add(action3).perform() expected = "button1-touchstart" self.wait_for_condition(lambda m: m.execute_script("return document.getElementById('button1').innerHTML;") == expected) self.assertEqual("button2-touchmove-touchend", self.marionette.execute_script("return document.getElementById('button2').innerHTML;")) button3_text = self.marionette.execute_script("return document.getElementById('button3').innerHTML;") button4_text = self.marionette.execute_script("return document.getElementById('button4').innerHTML;") self.assertTrue("button3-touchstart-touchend" in button3_text) self.assertTrue("button4-touchstart-touchend" in button4_text) self.assertTrue(int(button3_text.rsplit("-")[-1]) >= 5000) self.assertTrue(int(button4_text.rsplit("-")[-1]) >= 5000)