def testPlayWaitForPlayTimeout(self): """Tests that wait_for_playing timeouts if video does not play.""" action = play.PlayAction(selector='#video_1', playing_event_timeout_in_seconds=5) action.WillRunAction(self._tab) self._tab.EvaluateJavaScript( 'document.getElementById("video_1").src = ""') self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertRaises(util.TimeoutException, action.RunAction, self._tab)
def testPlayWaitForEndedTimeout(self): """Tests that action raises exception if timeout is reached.""" action = play.PlayAction(selector='#video_1', ended_event_timeout_in_seconds=0.1) action.WillRunAction(self._tab) # Assert video not playing before running action. self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_ENDED_CHECK)) self.assertRaises(util.TimeoutException, action.RunAction, self._tab) # Assert video did not end. self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_ENDED_CHECK))
def testPlayWithoutWaitForEnded(self): """Tests that wait_for_ended waits for video to end.""" action = play.PlayAction(selector='#video_1', ended_event_timeout_in_seconds=0) action.WillRunAction(self._tab) # Assert video not playing before running action. self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_ENDED_CHECK)) action.RunAction(self._tab) # Assert video did not end. self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_ENDED_CHECK))
def testPlayWithoutWaitForEnded(self): """Tests that wait_for_ended waits for video to end.""" data = {'selector': '#video_1', 'wait_for_ended': False} action = play.PlayAction(data) action.WillRunAction(None, self._tab) # Assert video not playing before running action. self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_ENDED_CHECK)) action.RunAction(None, self._tab, None) # Assert video did not end. self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_ENDED_CHECK))
def testPlayWithNoSelector(self): """Tests that with no selector Play action plays first video element.""" action = play.PlayAction(playing_event_timeout_in_seconds=5) action.WillRunAction(self._tab) # Both videos not playing before running action. self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertFalse(self._tab.EvaluateJavaScript(AUDIO_1_PLAYING_CHECK)) action.RunAction(self._tab) # Assert only first video has played. self.assertTrue(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertFalse(self._tab.EvaluateJavaScript(AUDIO_1_PLAYING_CHECK))
def testPlayWaitForPlayTimeout(self): """Tests that wait_for_playing timeouts if video does not play.""" data = {'selector': '#video_1', 'wait_for_playing': True, 'wait_timeout': 1} action = play.PlayAction(data) action.WillRunAction(None, self._tab) self._tab.EvaluateJavaScript('document.getElementById("video_1").src = ""') self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertRaises(util.TimeoutException, action.RunAction, None, self._tab, None)
def testPlayWithAllSelector(self): """Tests that Play action plays all video elements with selector='all'.""" action = play.PlayAction(selector='all', playing_event_timeout_in_seconds=5) action.WillRunAction(self._tab) # Both videos not playing before running action. self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertFalse(self._tab.EvaluateJavaScript(AUDIO_1_PLAYING_CHECK)) action.RunAction(self._tab) # Assert all media elements played. self.assertTrue(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertTrue(self._tab.EvaluateJavaScript(AUDIO_1_PLAYING_CHECK))
def testPlayWithVideoSelector(self): """Tests that Play action plays video element matching selector.""" action = play.PlayAction(selector='#video_1', playing_event_timeout_in_seconds=5) action.WillRunAction(self._tab) # Both videos not playing before running action. self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertFalse(self._tab.EvaluateJavaScript(AUDIO_1_PLAYING_CHECK)) action.RunAction(self._tab) # Assert only video matching selector has played. self.assertTrue(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertFalse(self._tab.EvaluateJavaScript(AUDIO_1_PLAYING_CHECK))
def testPlayWithAllSelector(self): """Tests that Play action plays all video elements with selector='all'.""" data = {'selector': 'all', 'wait_for_playing': True} action = play.PlayAction(data) action.WillRunAction(None, self._tab) # Both videos not playing before running action. self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertFalse(self._tab.EvaluateJavaScript(AUDIO_1_PLAYING_CHECK)) action.RunAction(None, self._tab, None) # Assert all media elements played. self.assertTrue(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertTrue(self._tab.EvaluateJavaScript(AUDIO_1_PLAYING_CHECK))
def testPlayWithVideoSelector(self): """Tests that Play action plays video element matching selector.""" data = {'selector': '#video_1', 'wait_for_playing': True} action = play.PlayAction(data) action.WillRunAction(None, self._tab) # Both videos not playing before running action. self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertFalse(self._tab.EvaluateJavaScript(AUDIO_1_PLAYING_CHECK)) action.RunAction(None, self._tab, None) # Assert only video matching selector has played. self.assertTrue(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertFalse(self._tab.EvaluateJavaScript(AUDIO_1_PLAYING_CHECK))
def testPlayWithNoSelector(self): """Tests that with no selector Play action plays first video element.""" data = {'wait_for_playing': True} action = play.PlayAction(data) action.WillRunAction(None, self._tab) # Both videos not playing before running action. self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertFalse(self._tab.EvaluateJavaScript(AUDIO_1_PLAYING_CHECK)) action.RunAction(None, self._tab, None) # Assert only first video has played. self.assertTrue(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertFalse(self._tab.EvaluateJavaScript(AUDIO_1_PLAYING_CHECK))
def testPlayWaitForEndedTimeout(self): """Tests that action raises exception if timeout is reached.""" data = {'selector': '#video_1', 'wait_for_ended': True, 'wait_timeout': 1} action = play.PlayAction(data) action.WillRunAction(None, self._tab) # Assert video not playing before running action. self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_PLAYING_CHECK)) self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_ENDED_CHECK)) self.assertRaises(util.TimeoutException, action.RunAction, None, self._tab, None) # Assert video did not end. self.assertFalse(self._tab.EvaluateJavaScript(VIDEO_1_ENDED_CHECK))