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

Side by Side Diff: chrome/test/pyautolib/chrome_driver_factory.py

Issue 8890026: Allow chromedriver to set local state preferences. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ... Created 9 years 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 | Annotate | Revision Log
« no previous file with comments | « chrome/test/automation/automation_json_requests.cc ('k') | chrome/test/pyautolib/pyauto.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2011 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 """Factory that creates ChromeDriver instances for pyauto.""" 5 """Factory that creates ChromeDriver instances for pyauto."""
6 6
7 import os 7 import os
8 import random 8 import random
9 import tempfile 9 import tempfile
10 10
(...skipping 23 matching lines...) Expand all
34 34
35 Returns: 35 Returns:
36 selenium.webdriver.remote.webdriver.WebDriver instance. 36 selenium.webdriver.remote.webdriver.WebDriver instance.
37 """ 37 """
38 self._StartServerIfNecessary() 38 self._StartServerIfNecessary()
39 channel_id = 'testing' + hex(random.getrandbits(20 * 4))[2:-1] 39 channel_id = 'testing' + hex(random.getrandbits(20 * 4))[2:-1]
40 if not pyauto.IsWin(): 40 if not pyauto.IsWin():
41 channel_id = os.path.join(tempfile.gettempdir(), channel_id) 41 channel_id = os.path.join(tempfile.gettempdir(), channel_id)
42 pyauto.CreateNewAutomationProvider(channel_id) 42 pyauto.CreateNewAutomationProvider(channel_id)
43 return webdriver.Remote(self._chromedriver_server.service_url, 43 return webdriver.Remote(self._chromedriver_server.service_url,
44 {'chrome.channel': channel_id}) 44 {'chrome.channel': channel_id,
45 'chrome.noWebsiteTestingDefaults': True})
45 46
46 def _StartServerIfNecessary(self): 47 def _StartServerIfNecessary(self):
47 """Starts the ChromeDriver server, if not already started.""" 48 """Starts the ChromeDriver server, if not already started."""
48 if self._chromedriver_server is None: 49 if self._chromedriver_server is None:
49 exe = pyauto_paths.GetChromeDriverExe() 50 exe = pyauto_paths.GetChromeDriverExe()
50 assert exe, 'Cannot find chromedriver exe. Did you build it?' 51 assert exe, 'Cannot find chromedriver exe. Did you build it?'
51 self._chromedriver_server = service.Service(exe) 52 self._chromedriver_server = service.Service(exe)
52 self._chromedriver_server.start() 53 self._chromedriver_server.start()
53 54
54 def Stop(self): 55 def Stop(self):
55 """Stops the ChromeDriver server, if running.""" 56 """Stops the ChromeDriver server, if running."""
56 if self._chromedriver_server is not None: 57 if self._chromedriver_server is not None:
57 self._chromedriver_server.stop() 58 self._chromedriver_server.stop()
58 self._chromedriver_server = None 59 self._chromedriver_server = None
59 60
60 def __del__(self): 61 def __del__(self):
61 self.Stop() 62 self.Stop()
OLDNEW
« no previous file with comments | « chrome/test/automation/automation_json_requests.cc ('k') | chrome/test/pyautolib/pyauto.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698