Commit 9cf5e003 authored by Xiang Ji's avatar Xiang Ji Committed by Commit Bot

Add enterprise E2E test for UserDataDir policy

Change-Id: I1ad39a83c27a6535cd18c846f6bee8d40f45ab52
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1705634
Commit-Queue: Xiang Ji <jxiang@google.com>
Reviewed-by: default avatarJulian Pastarmov <pastarmovj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#682803}
parent ee3a9b5a
......@@ -15,6 +15,7 @@ from extension_blacklist.extension_blacklist import *
from extension_forcelist.extension_forcelist import *
from extension_whitelist.extension_whitelist import *
from bookmarkbar_enabled.bookmarkbar_enabled import *
from user_data_dir.user_data_dir import *
# TODO(mbinette): Fix TranslateEnabledTest on LUCI bots.
# from translate_enabled.translate_enabled import *
from youtube_restrict.youtube_restrict import *
# Copyright 2019 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.
import logging
import os
from chrome_ent_test.ent_tests import ChromeEnterpriseTestCase
from chrome_ent_test.infra.core import environment, before_all, test
@environment(file="../policy_test.asset.textpb")
class UserDataDirTest(ChromeEnterpriseTestCase):
"""Test the UserDataDir
https://cloud.google.com/docs/chrome-enterprise/policies/?policy=UserDataDir.
"""
@before_all
def setup(self):
self.InstallChrome('client2012')
self.InstallWebDriver('client2012')
@test
def test_user_data_dir(self):
user_data_dir = r'C:\Temp\Browser\Google\Chrome\UserData'
self.SetPolicy('win2012-dc', r'UserDataDir', user_data_dir, 'String')
self.RunCommand('client2012', 'gpupdate /force')
logging.info('Updated User data dir to: ' + user_data_dir)
local_dir = os.path.dirname(os.path.abspath(__file__))
args = ['--user_data_dir', user_data_dir]
output = self.RunWebDriverTest(
'client2012', os.path.join(local_dir, 'user_data_dir_webdriver.py'),
args)
# Verify user data dir not exsiting before chrome launch
self.assertIn('User data before running chrome is False', output)
# Verify policy in chrome://policy page
self.assertIn('UserDataDir', output)
self.assertIn(user_data_dir, output)
# Verify profile path in chrome:// version
self.assertIn("Profile path is " + user_data_dir, output)
# Verify user data dir folder creation
self.assertIn('User data dir creation is True', output)
# Copyright 2019 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 selenium import webdriver
import os
from absl import app, flags
FLAGS = flags.FLAGS
flags.DEFINE_string('user_data_dir', None, 'Need specify user data dir to test')
flags.mark_flag_as_required('user_data_dir')
def main(argv):
policy_url = "chrome://policy"
version_url = "chrome://version"
# Verify the user data dir is not exsiting before launch the Chrome
print "User data before running chrome is " + str(
os.path.isdir(FLAGS.user_data_dir))
# Launch real Chrome
os.system('start chrome --remote-debugging-port=9222')
options = webdriver.ChromeOptions()
# Add option for connecting chromedriver with Chrome
options.add_experimental_option("debuggerAddress", "localhost:9222")
os.environ["CHROME_LOG_FILE"] = r"c:\temp\chrome_log.txt"
driver = webdriver.Chrome(
"C:/ProgramData/chocolatey/lib/chromedriver/tools/chromedriver.exe",
chrome_options=options,
service_args=["--verbose", r"--log-path=c:\temp\chromedriver.log"])
try:
# Verify User Data Dir in chrome://policy page
driver.get(policy_url)
print driver.find_element_by_css_selector('html').text.encode('utf-8')
# Verfiy User Data Dir used in chrome://version
driver.get(version_url)
print "Profile path is " + driver.find_element_by_id("profile_path").text
# Verify if UserDataDir folder is created
print "User data dir creation is " + str(os.path.isdir(FLAGS.user_data_dir))
except Exception as error:
print error
finally:
driver.quit()
os.system('taskkill /f /im chrome.exe')
if __name__ == '__main__':
app.run(main)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment