diff options
Diffstat (limited to 'catapult/telemetry/telemetry/internal/app/android_app.py')
-rw-r--r-- | catapult/telemetry/telemetry/internal/app/android_app.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/catapult/telemetry/telemetry/internal/app/android_app.py b/catapult/telemetry/telemetry/internal/app/android_app.py new file mode 100644 index 00000000..0cee256f --- /dev/null +++ b/catapult/telemetry/telemetry/internal/app/android_app.py @@ -0,0 +1,42 @@ +# Copyright 2012 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +from telemetry.internal import app + + +class AndroidApp(app.App): + """A running android app instance that can be controlled in a limited way. + + Be sure to clean up after yourself by calling Close() when you are done with + the app. Or better yet: + with possible_android_app.Create(options) as android_app: + ... do all your operations on android_app here + """ + def __init__(self, app_backend, platform_backend): + super(AndroidApp, self).__init__(app_backend=app_backend, + platform_backend=platform_backend) + self._app_backend.Start() + + @property + def ui(self): + """Returns an AppUi object to interact with the app's UI. + + See devil.android.app_ui for the documentation of the API provided. + """ + return self._app_backend.GetAppUi() + + def Close(self): + self._app_backend.Close() + + def GetProcesses(self): + """Returns the current set of processes belonging to this app.""" + return self._app_backend.GetProcesses() + + def GetProcess(self, subprocess_name): + """Returns the process with the specified subprocess name.""" + return self._app_backend.GetProcess(subprocess_name) + + def GetWebViews(self): + """Returns the set of all WebViews belonging to all processes of the app.""" + return self._app_backend.GetWebViews() |