예제 #1
0
 def RunAction(self, tab):
   try:
     tab.ExecuteJavaScript('window.__loopMedia("%s", %i);' %
                           (self._selector, self._loop_count))
     if self._timeout_in_seconds > 0:
       self.WaitForEvent(tab, self._selector, 'loop', self._timeout_in_seconds)
   except exceptions.EvaluateException:
     raise page_action.PageActionFailed('Cannot loop media element(s) with '
                                        'selector = %s.' % self._selector)
예제 #2
0
 def HasEventCompletedOrError(self, tab, selector, event_name):
   if tab.EvaluateJavaScript(
       'window.__hasEventCompleted({{ selector }}, {{ event_name }});',
       selector=selector, event_name=event_name):
     return True
   error = tab.EvaluateJavaScript('window.__error')
   if error:
     raise page_action.PageActionFailed(
         'Detected media error while waiting for %s: %s' % (event_name, error))
   return False
예제 #3
0
 def RunAction(self, tab):
   try:
     tab.ExecuteJavaScript(
         'window.__seekMedia("%s", "%s", %i, "%s");' %
         (self._selector, self._seconds, self._log_time, self._label))
     if self._timeout_in_seconds > 0:
       self.WaitForEvent(tab, self._selector, 'seeked',
                         self._timeout_in_seconds)
   except exceptions.EvaluateException:
     raise page_action.PageActionFailed('Cannot seek media element(s) with '
                                        'selector = %s.' % self._selector)
예제 #4
0
 def RunAction(self, tab):
     try:
         tab.ExecuteJavaScript('window.__loadMediaAndAwait("%s", "%s");' %
                               (self._selector, self._event_to_await))
         if self._timeout_in_seconds > 0:
             self.WaitForEvent(tab, self._selector, self._event_to_await,
                               self._timeout_in_seconds)
     except exceptions.EvaluateException:
         raise page_action.PageActionFailed(
             'Failed waiting for event "%s" on '
             'elements with selector = %s.' %
             (self._event_to_await, self._selector))
예제 #5
0
 def RunAction(self, tab):
     try:
         tab.ExecuteJavaScript(
             'window.__loadMediaAndAwait({{ selector }}, {{ event }});',
             selector=self._selector,
             event=self._event_to_await)
         if self.timeout > 0:
             self.WaitForEvent(tab, self._selector, self._event_to_await,
                               self.timeout)
     except exceptions.EvaluateException:
         raise page_action.PageActionFailed(
             'Failed waiting for event "%s" on '
             'elements with selector = %s.' %
             (self._event_to_await, self._selector))
예제 #6
0
 def RunAction(self, tab):
   try:
     tab.ExecuteJavaScript('window.__playMedia("%s");' % self._selector)
     # Check if we need to wait for 'playing' event to fire.
     if self._playing_event_timeout_in_seconds > 0:
       self.WaitForEvent(tab, self._selector, 'playing',
                         self._playing_event_timeout_in_seconds)
     # Check if we need to wait for 'ended' event to fire.
     if self._ended_event_timeout_in_seconds > 0:
       self.WaitForEvent(tab, self._selector, 'ended',
                         self._ended_event_timeout_in_seconds)
   except exceptions.EvaluateException:
     raise page_action.PageActionFailed('Cannot play media element(s) with '
                                        'selector = %s.' % self._selector)
예제 #7
0
 def RunAction(self, tab):
   # TODO(catapult:#3028): Render in JavaScript method when supported by API.
   code = js_template.Render(
       'window.__loadMediaAndAwait({{ selector }}, {{ event }});',
       selector=self._selector, event=self._event_to_await)
   try:
     tab.ExecuteJavaScript(code)
     if self._timeout_in_seconds > 0:
       self.WaitForEvent(tab, self._selector, self._event_to_await,
                         self._timeout_in_seconds)
   except exceptions.EvaluateException:
     raise page_action.PageActionFailed('Failed waiting for event "%s" on '
                                        'elements with selector = %s.' %
                                        (self._event_to_await, self._selector))
예제 #8
0
 def RunAction(self, tab):
     try:
         tab.ExecuteJavaScript(
             'window.__seekMedia('
             '{{ selector }}, {{ seconds }}, {{ log_time }}, {{ label}});',
             selector=self._selector,
             seconds=str(self._seconds),
             log_time=self._log_time,
             label=self._label)
         if self.timeout > 0:
             self.WaitForEvent(tab, self._selector, 'seeked', self.timeout)
     except exceptions.EvaluateException:
         raise page_action.PageActionFailed(
             'Cannot seek media element(s) with '
             'selector = %s.' % self._selector)
예제 #9
0
파일: loop.py 프로젝트: ycy2012/wechatgame
 def RunAction(self, tab):
     # TODO(catapult:#3028): Render in JavaScript method when supported by API.
     code = js_template.Render(
         'window.__loopMedia({{ selector }}, {{ loop_count }});',
         selector=self._selector,
         loop_count=self._loop_count)
     try:
         tab.ExecuteJavaScript(code)
         if self._timeout_in_seconds > 0:
             self.WaitForEvent(tab, self._selector, 'loop',
                               self._timeout_in_seconds)
     except exceptions.EvaluateException:
         raise page_action.PageActionFailed(
             'Cannot loop media element(s) with '
             'selector = %s.' % self._selector)
예제 #10
0
파일: play.py 프로젝트: ycy2012/wechatgame
 def RunAction(self, tab):
     # TODO(catapult:#3028): Render in JavaScript method when supported by API.
     code = js_template.Render('window.__playMedia({{ selector }});',
                               selector=self._selector)
     try:
         tab.ExecuteJavaScript(code)
         # Check if we need to wait for 'playing' event to fire.
         if self._playing_event_timeout_in_seconds > 0:
             self.WaitForEvent(tab, self._selector, 'playing',
                               self._playing_event_timeout_in_seconds)
         # Check if we need to wait for 'ended' event to fire.
         if self._ended_event_timeout_in_seconds > 0:
             self.WaitForEvent(tab, self._selector, 'ended',
                               self._ended_event_timeout_in_seconds)
     except exceptions.EvaluateException:
         raise page_action.PageActionFailed(
             'Cannot play media element(s) with '
             'selector = %s.' % self._selector)
예제 #11
0
 def RunAction(self, tab):
     # TODO(catapult:#3028): Render in JavaScript method when supported by API.
     code = js_template.Render(
         'window.__seekMedia('
         '{{ selector }}, {{ seconds }}, {{ log_time }}, {{ label}});',
         selector=self._selector,
         seconds=str(
             self._seconds),  #  TODO: Is string convertion intended?
         log_time=self._log_time,
         label=self._label)
     try:
         # TODO(catapult:#3028): Fix interpolation of JavaScript values.
         tab.ExecuteJavaScript(code)
         if self._timeout_in_seconds > 0:
             self.WaitForEvent(tab, self._selector, 'seeked',
                               self._timeout_in_seconds)
     except exceptions.EvaluateException:
         raise page_action.PageActionFailed(
             'Cannot seek media element(s) with '
             'selector = %s.' % self._selector)