Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: chrome/test/chromedriver/client/chromedriver.py

Issue 613163004: [chromedriver] setting browser default download directory (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Modified codes based on reviewer's comments Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import command_executor 5 import command_executor
6 from command_executor import Command 6 from command_executor import Command
7 from webelement import WebElement 7 from webelement import WebElement
8 8
9 9
10 class ChromeDriverException(Exception): 10 class ChromeDriverException(Exception):
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 33: SessionNotCreatedException 53 33: SessionNotCreatedException
54 } 54 }
55 status = response['status'] 55 status = response['status']
56 msg = response['value']['message'] 56 msg = response['value']['message']
57 return exception_class_map.get(status, ChromeDriverException)(msg) 57 return exception_class_map.get(status, ChromeDriverException)(msg)
58 58
59 59
60 class ChromeDriver(object): 60 class ChromeDriver(object):
61 """Starts and controls a single Chrome instance on this machine.""" 61 """Starts and controls a single Chrome instance on this machine."""
62 62
63 def __init__(self, server_url, chrome_binary=None, android_package=None, 63 def __init__(self, server_url, chrome_binary=None,
64 android_package=None,
samuong 2014/10/17 21:52:25 remove line break
andrewcheng 2014/10/17 22:59:56 Done.
64 android_activity=None, android_process=None, 65 android_activity=None, android_process=None,
65 android_use_running_app=None, chrome_switches=None, 66 android_use_running_app=None, chrome_switches=None,
66 chrome_extensions=None, chrome_log_path=None, 67 chrome_extensions=None, chrome_log_path=None,
67 debugger_address=None, browser_log_level=None, 68 debugger_address=None, browser_log_level=None,
68 performance_log_level=None, mobile_emulation=None, 69 performance_log_level=None, mobile_emulation=None,
69 experimental_options=None): 70 experimental_options=None, download_dir=None):
70 self._executor = command_executor.CommandExecutor(server_url) 71 self._executor = command_executor.CommandExecutor(server_url)
71 72
72 options = {} 73 options = {}
73 74
74 if experimental_options: 75 if experimental_options:
75 assert isinstance(experimental_options, dict) 76 assert isinstance(experimental_options, dict)
76 options = experimental_options.copy() 77 options = experimental_options.copy()
77 78
78 if android_package: 79 if android_package:
79 options['androidPackage'] = android_package 80 options['androidPackage'] = android_package
(...skipping 28 matching lines...) Expand all
108 109
109 logging_prefs = {} 110 logging_prefs = {}
110 log_levels = ['ALL', 'DEBUG', 'INFO', 'WARNING', 'SEVERE', 'OFF'] 111 log_levels = ['ALL', 'DEBUG', 'INFO', 'WARNING', 'SEVERE', 'OFF']
111 if browser_log_level: 112 if browser_log_level:
112 assert browser_log_level in log_levels 113 assert browser_log_level in log_levels
113 logging_prefs['browser'] = browser_log_level 114 logging_prefs['browser'] = browser_log_level
114 if performance_log_level: 115 if performance_log_level:
115 assert performance_log_level in log_levels 116 assert performance_log_level in log_levels
116 logging_prefs['performance'] = performance_log_level 117 logging_prefs['performance'] = performance_log_level
117 118
119 download_prefs = {}
120 if (download_dir):
121 default_dir = {}
122 default_dir['default_directory'] = download_dir
123 download_prefs['download'] = default_dir
124 options['prefs'] = download_prefs
125
118 params = { 126 params = {
119 'desiredCapabilities': { 127 'desiredCapabilities': {
120 'chromeOptions': options, 128 'chromeOptions': options,
121 'loggingPrefs': logging_prefs 129 'loggingPrefs': logging_prefs
122 } 130 }
123 } 131 }
124 132
125 response = self._ExecuteCommand(Command.NEW_SESSION, params) 133 response = self._ExecuteCommand(Command.NEW_SESSION, params)
126 self._session_id = response['sessionId'] 134 self._session_id = response['sessionId']
127 self.capabilities = self._UnwrapValue(response['value']) 135 self.capabilities = self._UnwrapValue(response['value'])
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 return self.ExecuteCommand(Command.GET_LOG, {'type': type}) 347 return self.ExecuteCommand(Command.GET_LOG, {'type': type})
340 348
341 def GetAvailableLogTypes(self): 349 def GetAvailableLogTypes(self):
342 return self.ExecuteCommand(Command.GET_AVAILABLE_LOG_TYPES) 350 return self.ExecuteCommand(Command.GET_AVAILABLE_LOG_TYPES)
343 351
344 def IsAutoReporting(self): 352 def IsAutoReporting(self):
345 return self.ExecuteCommand(Command.IS_AUTO_REPORTING) 353 return self.ExecuteCommand(Command.IS_AUTO_REPORTING)
346 354
347 def SetAutoReporting(self, enabled): 355 def SetAutoReporting(self, enabled):
348 self.ExecuteCommand(Command.SET_AUTO_REPORTING, {'enabled': enabled}) 356 self.ExecuteCommand(Command.SET_AUTO_REPORTING, {'enabled': enabled})
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698