aboutsummaryrefslogtreecommitdiff
path: root/catapult/telemetry/telemetry/internal/app/android_app.py
diff options
context:
space:
mode:
Diffstat (limited to 'catapult/telemetry/telemetry/internal/app/android_app.py')
-rw-r--r--catapult/telemetry/telemetry/internal/app/android_app.py42
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()