48 lines
1.7 KiB
Python
48 lines
1.7 KiB
Python
# Copyright 2019 The Chromium OS 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 autotest_lib.client.bin import test, utils
|
|
from autotest_lib.client.common_lib.cros import chrome, enrollment
|
|
from telemetry.core import exceptions
|
|
|
|
# Id of the Infinite Painter app.
|
|
_INFINITE_PAINTER_APP_ID = 'afihfgfghkmdmggakhkgnfhlikhdpima'
|
|
|
|
def _launch_arc_app(autotest_ext, app_id):
|
|
try:
|
|
autotest_ext.ExecuteJavaScript('''
|
|
chrome.autotestPrivate.launchArcApp(
|
|
'%s', /* app_id */
|
|
'%s', /* intent */
|
|
function(app_launched) {
|
|
window.__app_launched = app_launched;
|
|
});
|
|
''' % (app_id, 'intent'))
|
|
return autotest_ext.EvaluateJavaScript('window.__app_launched')
|
|
except exceptions.EvaluateException as e:
|
|
pass
|
|
return False
|
|
|
|
class enterprise_OnlineDemoModeEnrollment(test.test):
|
|
"""Enrolls to online demo mode."""
|
|
version = 1
|
|
|
|
|
|
def run_once(self):
|
|
"""Starts online demo mode enrollment. Waits for active session to start
|
|
and launch an arc app.
|
|
"""
|
|
with chrome.Chrome(
|
|
auto_login=False,
|
|
disable_gaia_services=False,
|
|
autotest_ext=True,
|
|
extra_browser_args='--force-devtools-available') as cr:
|
|
enrollment.OnlineDemoMode(cr.browser)
|
|
utils.poll_for_condition(
|
|
condition=lambda: _launch_arc_app(cr.autotest_ext,
|
|
_INFINITE_PAINTER_APP_ID),
|
|
desc='Launching the app %s' %
|
|
_INFINITE_PAINTER_APP_ID,
|
|
timeout=300,
|
|
sleep_interval=1) |