Commit 2e8b6ec6 authored by Zhenyao Mo's avatar Zhenyao Mo Committed by Commit Bot

Add Edge support in measure_power_win_intel.py

BUG=867155
TEST=manual
R=sunnyps@chromium.org, kbr@chromium.org

Change-Id: I1abd150568f1693c6470dfb40ea3c7121c168c4f
Reviewed-on: https://chromium-review.googlesource.com/c/1318543Reviewed-by: default avatarSunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: default avatarMaggie Chen <magchen@chromium.org>
Reviewed-by: default avatarKenneth Russell <kbr@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605512}
parent 811e357c
...@@ -39,10 +39,12 @@ CHROME_DEV_PATH = ( ...@@ -39,10 +39,12 @@ CHROME_DEV_PATH = (
CHROME_CANARY_PATH = r"Google\Chrome SxS\Application\chrome.exe" CHROME_CANARY_PATH = r"Google\Chrome SxS\Application\chrome.exe"
CHROMIUM_PATH = r"Chromium\Application\chrome.exe" CHROMIUM_PATH = r"Chromium\Application\chrome.exe"
SUPPORTED_BROWSERS = ['stable', 'beta', 'dev', 'canary', 'chromium'] SUPPORTED_BROWSERS = ['stable', 'beta', 'dev', 'canary', 'chromium', 'edge']
def LocateBrowser(options_browser): def LocateBrowser(options_browser):
if options_browser == 'edge':
return 'edge'
browser = None browser = None
if not options_browser or options_browser == 'stable': if not options_browser or options_browser == 'stable':
browser = CHROME_STABLE_PATH browser = CHROME_STABLE_PATH
...@@ -71,6 +73,16 @@ def LocateBrowser(options_browser): ...@@ -71,6 +73,16 @@ def LocateBrowser(options_browser):
def LaunchBrowser(browser, user_data_dir, url, extra_browser_args): def LaunchBrowser(browser, user_data_dir, url, extra_browser_args):
args = [] args = []
shell = False
if browser == 'edge':
args.append('start')
edge_cmd = 'microsoft-edge:'
if url:
edge_cmd = edge_cmd + url
args.append(edge_cmd)
# Without |shell| sets to true, launching Edge won't work.
shell = True
else:
args.append(browser) args.append(browser)
if url: if url:
args.append(url) args.append(url)
...@@ -82,7 +94,7 @@ def LaunchBrowser(browser, user_data_dir, url, extra_browser_args): ...@@ -82,7 +94,7 @@ def LaunchBrowser(browser, user_data_dir, url, extra_browser_args):
if extra_browser_args: if extra_browser_args:
args.extend(extra_browser_args.split(' ')) args.extend(extra_browser_args.split(' '))
logging.debug(" ".join(args)) logging.debug(" ".join(args))
browser_proc = subprocess.Popen(args) browser_proc = subprocess.Popen(args, shell=shell)
return browser_proc return browser_proc
...@@ -92,6 +104,12 @@ def MeasurePowerOnce(browser, logfile, duration, delay, resolution, url, ...@@ -92,6 +104,12 @@ def MeasurePowerOnce(browser, logfile, duration, delay, resolution, url,
user_data_dir = tempfile.mkdtemp() user_data_dir = tempfile.mkdtemp()
browser_proc = LaunchBrowser(browser, user_data_dir, url, extra_browser_args) browser_proc = LaunchBrowser(browser, user_data_dir, url, extra_browser_args)
ipg_utils.RunIPG(duration + delay, resolution, logfile) ipg_utils.RunIPG(duration + delay, resolution, logfile)
if browser == 'edge':
# Because Edge is launched with |shell| set to true, browser_proc isn't
# the Edge process, so the following is used to kill all Edge processes
# in the system, including ones not launched through this script.
subprocess.call("taskkill /F /IM MicrosoftEdge.exe /T")
else:
browser_proc.kill() browser_proc.kill()
for _ in range(100): for _ in range(100):
if browser_proc.poll() is not None: if browser_proc.poll() is not None:
......
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