Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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, download_dir=None, chrome_binary=None, android_ package=None, |
| 64 android_activity=None, android_process=None, | 64 android_activity=None, android_process=None, |
| 65 android_use_running_app=None, chrome_switches=None, | 65 android_use_running_app=None, chrome_switches=None, |
| 66 chrome_extensions=None, chrome_log_path=None, | 66 chrome_extensions=None, chrome_log_path=None, |
| 67 debugger_address=None, browser_log_level=None, | 67 debugger_address=None, browser_log_level=None, |
| 68 performance_log_level=None, mobile_emulation=None, | 68 performance_log_level=None, mobile_emulation=None, |
| 69 experimental_options=None): | 69 experimental_options=None): |
| 70 self._executor = command_executor.CommandExecutor(server_url) | 70 self._executor = command_executor.CommandExecutor(server_url) |
| 71 | 71 |
| 72 options = {} | 72 options = {} |
| 73 | 73 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 108 | 108 |
| 109 logging_prefs = {} | 109 logging_prefs = {} |
| 110 log_levels = ['ALL', 'DEBUG', 'INFO', 'WARNING', 'SEVERE', 'OFF'] | 110 log_levels = ['ALL', 'DEBUG', 'INFO', 'WARNING', 'SEVERE', 'OFF'] |
| 111 if browser_log_level: | 111 if browser_log_level: |
| 112 assert browser_log_level in log_levels | 112 assert browser_log_level in log_levels |
| 113 logging_prefs['browser'] = browser_log_level | 113 logging_prefs['browser'] = browser_log_level |
| 114 if performance_log_level: | 114 if performance_log_level: |
| 115 assert performance_log_level in log_levels | 115 assert performance_log_level in log_levels |
| 116 logging_prefs['performance'] = performance_log_level | 116 logging_prefs['performance'] = performance_log_level |
| 117 | 117 |
| 118 download_prefs = {} | |
| 119 if (download_dir): | |
| 120 default_dir = {} | |
| 121 default_dir['directory_upgrade'] = 'true' | |
| 122 default_dir['default_directory'] = download_dir | |
| 123 download_prefs['download'] = default_dir | |
| 124 | |
| 125 | |
| 118 params = { | 126 params = { |
| 119 'desiredCapabilities': { | 127 'desiredCapabilities': { |
| 128 # 'prefs': {'download': {'default_directory': '/usr/local/google/home/and rewcheng/xx', "directory_upgrade": 'true'}}, | |
|
samuong
2014/10/01 20:22:12
delete this line?
| |
| 129 'prefs': download_prefs, | |
| 120 'chromeOptions': options, | 130 'chromeOptions': options, |
| 121 'loggingPrefs': logging_prefs | 131 'loggingPrefs': logging_prefs |
| 122 } | 132 } |
| 123 } | 133 } |
| 124 | 134 |
| 125 response = self._ExecuteCommand(Command.NEW_SESSION, params) | 135 response = self._ExecuteCommand(Command.NEW_SESSION, params) |
| 126 self._session_id = response['sessionId'] | 136 self._session_id = response['sessionId'] |
| 127 self.capabilities = self._UnwrapValue(response['value']) | 137 self.capabilities = self._UnwrapValue(response['value']) |
| 128 | 138 |
| 129 def _WrapValue(self, value): | 139 def _WrapValue(self, value): |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 339 return self.ExecuteCommand(Command.GET_LOG, {'type': type}) | 349 return self.ExecuteCommand(Command.GET_LOG, {'type': type}) |
| 340 | 350 |
| 341 def GetAvailableLogTypes(self): | 351 def GetAvailableLogTypes(self): |
| 342 return self.ExecuteCommand(Command.GET_AVAILABLE_LOG_TYPES) | 352 return self.ExecuteCommand(Command.GET_AVAILABLE_LOG_TYPES) |
| 343 | 353 |
| 344 def IsAutoReporting(self): | 354 def IsAutoReporting(self): |
| 345 return self.ExecuteCommand(Command.IS_AUTO_REPORTING) | 355 return self.ExecuteCommand(Command.IS_AUTO_REPORTING) |
| 346 | 356 |
| 347 def SetAutoReporting(self, enabled): | 357 def SetAutoReporting(self, enabled): |
| 348 self.ExecuteCommand(Command.SET_AUTO_REPORTING, {'enabled': enabled}) | 358 self.ExecuteCommand(Command.SET_AUTO_REPORTING, {'enabled': enabled}) |
| OLD | NEW |