8 # We assume that this handle can only be used when the platform is OSX
9 from AppKit import NSRunningApplication
10 from browser_driver import BrowserDriver
13 _log = logging.getLogger(__name__)
16 class OSXChromeDriver(BrowserDriver):
20 self.chromePreferences = []
22 def launchUrl(self, url, browserBuildPath=None):
23 _log.info('Launching chrome: %s with url: %s' % (os.path.join(browserBuildPath, 'Google Chrome.app'), url))
24 # FIXME: May need to be modified for develop build, such as setting up libraries
25 subprocess.Popen(['open', '-a', os.path.join(browserBuildPath, 'Google Chrome.app'), '--args', '--homepage', url] + self.chromePreferences).communicate()
27 def closeBrowsers(self):
28 _log.info('Closing all existing chrome processes')
29 chromes = NSRunningApplication.runningApplicationsWithBundleIdentifier_('com.google.Chrome')
30 for chrome in chromes: