lib/selenium/webdriver/ie/bridge.rb in selenium-webdriver-3.2.2 vs lib/selenium/webdriver/ie/bridge.rb in selenium-webdriver-3.3.0

- old
+ new

@@ -27,15 +27,30 @@ class Bridge < Remote::Bridge def initialize(opts = {}) opts[:desired_capabilities] ||= Remote::Capabilities.internet_explorer unless opts.key?(:url) - port = opts.delete(:port) || Service::DEFAULT_PORT - service_args = opts.delete(:service_args) || {} - service_args = match_legacy(opts, service_args) driver_path = opts.delete(:driver_path) || IE.driver_path - @service = Service.new(driver_path, port, *extract_service_args(service_args)) + port = opts.delete(:port) || Service::DEFAULT_PORT + + opts[:driver_opts] ||= {} + if opts.key? :service_args + WebDriver.logger.warn <<-DEPRECATE.gsub(/\n +| {2,}/, ' ').freeze + [DEPRECATION] `:service_args` is deprecated. Pass switches using `driver_opts` + DEPRECATE + opts[:driver_opts][:args] = opts.delete(:service_args) + end + + %i[log_level log_file implementation].each do |method| + next unless opts.key? method + WebDriver.logger.warn <<-DEPRECATE.gsub(/\n +| {2,}/, ' ').freeze + [DEPRECATION] `#{method}` is deprecated. Pass switches using `driver_opts` + DEPRECATE + opts[:driver_opts][method] = opts.delete(method) + end + + @service = Service.new(driver_path, port, opts.delete(:driver_opts)) @service.start opts[:url] = @service.uri end if opts.delete(:introduce_flakiness_by_ignoring_security_domains) @@ -56,29 +71,9 @@ def quit super ensure @service.stop if @service - end - - private - - def match_legacy(opts, args) - args[:log_level] = opts.delete(:log_level) if opts.key?(:log_level) - args[:log_file] = opts.delete(:log_file) if opts.key?(:log_file) - args[:implementation] = opts.delete(:implementation) if opts.key?(:implementation) - args - end - - def extract_service_args(args) - service_args = [] - service_args << "--log-level=#{args.delete(:log_level).to_s.upcase}" if args.key?(:log_level) - service_args << "--log-file=#{args.delete(:log_file)}" if args.key?(:log_file) - service_args << "--implementation=#{args.delete(:implementation).to_s.upcase}" if args.key?(:implementation) - service_args << "--host=#{args.delete(:host)}" if args.key?(:host) - service_args << "--extract_path=#{args.delete(:extract_path)}" if args.key?(:extract_path) - service_args << "--silent" if args[:silent] == true - service_args end end # Bridge end # IE end # WebDriver end # Selenium