Index: tools/telemetry/telemetry/android_browser_backend.py |
diff --git a/tools/telemetry/telemetry/android_browser_backend.py b/tools/telemetry/telemetry/android_browser_backend.py |
index 04e8f1ceb291cb333c32408e59139e0851bb0a7d..07c26cac235e47f6f831c5b507d492cc004f176a 100644 |
--- a/tools/telemetry/telemetry/android_browser_backend.py |
+++ b/tools/telemetry/telemetry/android_browser_backend.py |
@@ -5,6 +5,7 @@ import json |
import logging |
import os |
import subprocess |
+import sys |
import tempfile |
from telemetry import adb_commands |
@@ -29,7 +30,7 @@ class AndroidBrowserBackend(browser_backend.BrowserBackend): |
self._devtools_remote_port = devtools_remote_port |
# Kill old browser. |
- self._adb.KillAll(self._package) |
+ self._adb.CloseApplication(self._package) |
self._adb.KillAll('device_forwarder') |
self._adb.Forward('tcp:%d' % self._port, self._devtools_remote_port) |
@@ -65,7 +66,7 @@ class AndroidBrowserBackend(browser_backend.BrowserBackend): |
self._adb.Push(f.name, cmdline_file) |
# Force devtools protocol on, if not already done. |
- if not is_content_shell: |
+ if not is_content_shell and self._adb.IsRootEnabled(): |
# Make sure we can find the apps' prefs file |
app_data_dir = '/data/data/%s' % self._package |
prefs_file = (app_data_dir + |
@@ -110,6 +111,13 @@ class AndroidBrowserBackend(browser_backend.BrowserBackend): |
try: |
self._WaitForBrowserToComeUp() |
self._PostBrowserStartupInitialization() |
+ except browser_gone_exception.BrowserGoneException: |
+ logging.critical('Failed to connect to browser.') |
+ if not self._adb.IsRootEnabled(): |
+ logging.critical( |
+ 'Ensure web debugging is enabled in Chrome at ' |
+ '"Settings > Developer tools > Enable USB Web debugging".') |
+ sys.exit(1) |
except: |
import traceback |
traceback.print_exc() |
@@ -128,7 +136,7 @@ class AndroidBrowserBackend(browser_backend.BrowserBackend): |
super(AndroidBrowserBackend, self).Close() |
self._adb.RunShellCommand('rm %s' % self._cmdline_file) |
- self._adb.KillAll(self._package) |
+ self._adb.CloseApplication(self._package) |
def IsBrowserRunning(self): |
pids = self._adb.ExtractPid(self._package) |