@@ -33,6 +33,7 @@ class BrowserManagementKeywords(LibraryComponent):
3333 def __init__ (self , ctx ):
3434 LibraryComponent .__init__ (self , ctx )
3535 self ._window_manager = WindowManager (ctx )
36+ self ._webdriver_creator = WebDriverCreator (self .log_dir )
3637
3738 @keyword
3839 def close_all_browsers (self ):
@@ -58,7 +59,8 @@ def close_browser(self):
5859 @keyword
5960 def open_browser (self , url = None , browser = 'firefox' , alias = None ,
6061 remote_url = False , desired_capabilities = None ,
61- ff_profile_dir = None , options = None , service_log_path = None ):
62+ ff_profile_dir = None , options = None , service_log_path = None ,
63+ executable_path = None ):
6264 """Opens a new browser instance to the optional ``url``.
6365
6466 The ``browser`` argument specifies which browser to use. The
@@ -275,19 +277,20 @@ def open_browser(self, url=None, browser='firefox', alias=None,
275277 return index
276278 return self ._make_new_browser (url , browser , alias , remote_url ,
277279 desired_capabilities , ff_profile_dir ,
278- options , service_log_path )
280+ options , service_log_path , executable_path )
279281
280282 def _make_new_browser (self , url = None , browser = 'firefox' , alias = None ,
281283 remote_url = False , desired_capabilities = None ,
282- ff_profile_dir = None , options = None , service_log_path = None ):
284+ ff_profile_dir = None , options = None , service_log_path = None ,
285+ executable_path = None ):
283286 if is_truthy (remote_url ):
284287 self .info ("Opening browser '%s' to base url '%s' through "
285288 "remote server at '%s'." % (browser , url , remote_url ))
286289 else :
287290 self .info ("Opening browser '%s' to base url '%s'." % (browser , url ))
288291 driver = self ._make_driver (browser , desired_capabilities ,
289292 ff_profile_dir , remote_url ,
290- options , service_log_path )
293+ options , service_log_path , executable_path )
291294 driver = self ._wrap_event_firing_webdriver (driver )
292295 index = self .ctx .register_driver (driver , alias )
293296 if is_truthy (url ):
@@ -656,10 +659,10 @@ def set_browser_implicit_wait(self, value):
656659 self .driver .implicitly_wait (timestr_to_secs (value ))
657660
658661 def _make_driver (self , browser , desired_capabilities = None , profile_dir = None ,
659- remote = None , options = None , service_log_path = None ):
660- driver = WebDriverCreator ( self .log_dir ) .create_driver (
661- browser = browser , desired_capabilities = desired_capabilities , remote_url = remote ,
662- profile_dir = profile_dir , options = options , service_log_path = service_log_path )
662+ remote = None , options = None , service_log_path = None , executable_path = None ):
663+ driver = self ._webdriver_creator .create_driver (
664+ browser = browser , desired_capabilities = desired_capabilities , remote_url = remote , profile_dir = profile_dir ,
665+ options = options , service_log_path = service_log_path , executable_path = executable_path )
663666 driver .set_script_timeout (self .ctx .timeout )
664667 driver .implicitly_wait (self .ctx .implicit_wait )
665668 if self .ctx .speed :
0 commit comments