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)
 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_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):
   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)