Allow telemetry runner to call lacros chrome

BUG=1233676
TEST=test_that

Change-Id: I95f77f820f67cfea5e8dfa463b3f95efc53905ed
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/3628854
Reviewed-by: Jae Hoon Kim <kimjae@chromium.org>
Tested-by: Xinan Lin <linxinan@chromium.org>
Reviewed-by: Derek Beckett <dbeckett@chromium.org>
Commit-Queue: Xinan Lin <linxinan@chromium.org>
diff --git a/server/cros/telemetry_runner.py b/server/cros/telemetry_runner.py
index a4a6077..06981fe 100644
--- a/server/cros/telemetry_runner.py
+++ b/server/cros/telemetry_runner.py
@@ -82,12 +82,16 @@
     Factory class while determining the correct TelemetryRunner subclass.
     """
 
-    def get_runner(self, host, local=False, telemetry_on_dut=True):
+    def get_runner(self,
+                   host,
+                   local=False,
+                   telemetry_on_dut=True,
+                   is_lacros=False):
         """Method to determine which TelemetryRunner subclass to use."""
         if local:
             return LocalTelemetryRunner(host, telemetry_on_dut)
         else:
-            return DroneTelemetryRunner(host, telemetry_on_dut)
+            return DroneTelemetryRunner(host, telemetry_on_dut, is_lacros)
 
 
 class TelemetryRunner(six.with_metaclass(abc.ABCMeta, object)):
@@ -98,7 +102,7 @@
     output to the caller.
     """
 
-    def __init__(self, host, telemetry_on_dut=True):
+    def __init__(self, host, telemetry_on_dut=True, is_lacros=False):
         """Initializes this telemetry runner instance.
 
         If telemetry is not installed for this build, it will be.
@@ -107,6 +111,9 @@
         @param telemetry_on_dut: If set, telemetry itself (the test harness)
                                  will run on dut.
                                  It decides browser=[system|cros-chrome]
+        @param is_lacros: If true, run telemetry on lacros chrome, by defining
+                          browser=lacros-chrome. It is only valid for remote
+                          test mode.
         """
         self._host = host
         self._telemetry_path = None
@@ -114,6 +121,7 @@
         self._setup_telemetry()
         self._telemetry_on_dut = telemetry_on_dut
         self._benchmark_deps = None
+        self._is_lacros = is_lacros
         logging.debug('Telemetry Path: %s', self._telemetry_path)
 
     def __enter__(self):
@@ -165,10 +173,11 @@
                     '--browser=system',
             ])
         else:
+            browser = 'lacros-chrome' if self._is_lacros else 'cros-chrome'
             telemetry_cmd.extend([
                     sys.executable,
                     script,
-                    '--browser=cros-chrome',
+                    '--browser=%s' % browser,
                     '--output-format=%s' % output_format,
                     '--output-dir=%s' % output_dir,
                     '--remote=%s' % self._host.hostname,