Module: Selenium::WebDriver::LocalDriver
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
|
Included In:
| |
| Defined in: | rb/lib/selenium/webdriver/common/local_driver.rb |
Instance Method Summary
Instance Method Details
#assert_local_arguments(url, http_client, client_config) (private)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/local_driver.rb', line 61
def assert_local_arguments(url, http_client, client_config) if url || client_config&.server_url raise ArgumentError, "Can't set the server URL for #{self.class}; the service provides it" elsif http_client && client_config raise ArgumentError, 'Cannot use both :http_client and :client_config' end end
#initialize_local_driver(options, service, url, http_client, client_config)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/local_driver.rb', line 23
def initialize_local_driver(, service, url, http_client, client_config) assert_local_arguments(url, http_client, client_config) service ||= Service.send(browser) caps = (, service) http_client ||= Remote::Http::Default.new(client_config: client_config) http_client.server_url = service_url(service) begin yield(caps, http_client) if block_given? rescue Selenium::WebDriver::Error::WebDriverError @service_manager&.stop raise end end
#process_options(options, service)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/local_driver.rb', line 44
def (, service) = Options.send(browser) ||= unless .is_a?(.class) raise ArgumentError, ":options must be an instance of #{.class}" end finder = WebDriver::DriverFinder.new(, service) .binary = finder.browser_path if .respond_to?(:binary) && finder.browser_path? service.executable_path = finder.driver_path .browser_version = nil if .respond_to?(:binary) && .binary .as_json end
#service_url(service)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/local_driver.rb', line 39
def service_url(service) @service_manager = service.launch @service_manager.uri end