| Index: chrome/test/pyautolib/pyauto.py
|
| diff --git a/chrome/test/pyautolib/pyauto.py b/chrome/test/pyautolib/pyauto.py
|
| index 793dd95b33db6998dca35c275dd44bb104e626b8..63ad68455e9bb582c482959cd80cf9745206f13c 100755
|
| --- a/chrome/test/pyautolib/pyauto.py
|
| +++ b/chrome/test/pyautolib/pyauto.py
|
| @@ -2798,6 +2798,92 @@ class PyUITest(pyautolib.PyUITestBase, unittest.TestCase):
|
| return self._GetResultFromJSONRequest(cmd_dict, windex=windex,
|
| timeout=timeout)
|
|
|
| + def AddDomRaisedEventObserver(self, event_name=''):
|
| + """Adds a DomRaisedEventObserver associated with the AutomationEventQueue.
|
| +
|
| + Args:
|
| + event_name: The raised event name to watch for. By default all raised
|
| + events are observed.
|
| +
|
| + Returns:
|
| + The id of the created observer, which can be used with GetNextEvent(id)
|
| + and RemoveEventObserver(id).
|
| +
|
| + Raises:
|
| + pyauto_errors.JSONInterfaceError if the automation call returns an error.
|
| + """
|
| + # TODO(craigdh): Add documentation for raising an event once it has been
|
| + # implemented.
|
| + cmd_dict = {
|
| + 'command': 'AddDomRaisedEventObserver',
|
| + 'event_name': event_name,
|
| + }
|
| + return self._GetResultFromJSONRequest(cmd_dict, windex=None)['observer_id']
|
| +
|
| + def GetNextEvent(self, observer_id=-1, blocking=True, timeout=-1):
|
| + """Waits for an observed event to occur.
|
| +
|
| + The returned event is removed from the Event Queue. If there is already a
|
| + matching event in the queue it is returned immediately, otherwise the call
|
| + blocks until a matching event occurs. If blocking is disabled and no
|
| + matching event is in the queue this function will immediately return None.
|
| +
|
| + Args:
|
| + observer_id: The id of the observer to wait for, matches any event by
|
| + default.
|
| + blocking: If True waits until there is a matching event in the queue,
|
| + if False and there is no event waiting in the queue returns None
|
| + immediately.
|
| + timeout: Time to wait for a matching event, defaults to the default
|
| + automation timeout.
|
| +
|
| + Returns:
|
| + Event response dictionary, or None if blocking is disabled and there is no
|
| + matching event in the queue.
|
| + SAMPLE:
|
| + { 'observer_id': 1,
|
| + 'name': 'login completed',
|
| + 'type': 'raised_event'}
|
| +
|
| + Raises:
|
| + pyauto_errors.JSONInterfaceError if the automation call returns an error.
|
| + """
|
| + cmd_dict = {
|
| + 'command': 'GetNextEvent',
|
| + 'observer_id' : observer_id,
|
| + 'blocking' : blocking,
|
| + }
|
| + return self._GetResultFromJSONRequest(cmd_dict, windex=None,
|
| + timeout=timeout)
|
| +
|
| + def RemoveEventObserver(self, observer_id):
|
| + """Removes an Event Observer from the AutomationEventQueue.
|
| +
|
| + Expects a valid observer_id.
|
| +
|
| + Args:
|
| + observer_id: The id of the observer to remove.
|
| +
|
| + Raises:
|
| + pyauto_errors.JSONInterfaceError if the automation call returns an error.
|
| + """
|
| + cmd_dict = {
|
| + 'command': 'RemoveEventObserver',
|
| + 'observer_id' : observer_id,
|
| + }
|
| + return self._GetResultFromJSONRequest(cmd_dict, windex=None)
|
| +
|
| + def ClearEventQueue(self):
|
| + """Removes all events currently in the AutomationEventQueue.
|
| +
|
| + Raises:
|
| + pyauto_errors.JSONInterfaceError if the automation call returns an error.
|
| + """
|
| + cmd_dict = {
|
| + 'command': 'ClearEventQueue',
|
| + }
|
| + return self._GetResultFromJSONRequest(cmd_dict, windex=None)
|
| +
|
| def ExecuteJavascript(self, js, tab_index=0, windex=0, frame_xpath=''):
|
| """Executes a script in the specified frame of a tab.
|
|
|
|
|