Sha256: 534f78a04c311ad86e96bea2536d1b3d205ef95acd72dcac4a3e87aa34de4237

Contents?: true

Size: 1.59 KB

Versions: 11

Compression:

Stored size: 1.59 KB

Contents

# frozen_string_literal: true

# Licensed to the Software Freedom Conservancy (SFC) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The SFC licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

module Selenium
  module WebDriver
    class DriverFinder
      def self.path(options, klass)
        path = klass.driver_path
        path = path.call if path.is_a?(Proc)

        path ||= begin
          SeleniumManager.driver_path(options) unless options.is_a?(Remote::Capabilities)
        rescue StandardError => e
          raise Error::NoSuchDriverError, "Unable to obtain #{klass::EXECUTABLE} using Selenium Manager; #{e.message}"
        end

        begin
          Platform.assert_executable(path)
        rescue TypeError
          raise Error::NoSuchDriverError, "Unable to locate or obtain #{klass::EXECUTABLE}"
        rescue Error::WebDriverError => e
          raise Error::NoSuchDriverError, "#{klass::EXECUTABLE} located, but: #{e.message}"
        end

        path
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
selenium-webdriver-4.19.0 lib/selenium/webdriver/common/driver_finder.rb
selenium-webdriver-4.18.1 lib/selenium/webdriver/common/driver_finder.rb
selenium-webdriver-4.18.0 lib/selenium/webdriver/common/driver_finder.rb
selenium-webdriver-4.17.0 lib/selenium/webdriver/common/driver_finder.rb
selenium-webdriver-4.16.0 lib/selenium/webdriver/common/driver_finder.rb
selenium-webdriver-4.15.0 lib/selenium/webdriver/common/driver_finder.rb
selenium-webdriver-4.14.0 lib/selenium/webdriver/common/driver_finder.rb
selenium-webdriver-4.13.1 lib/selenium/webdriver/common/driver_finder.rb
selenium-webdriver-4.13.0 lib/selenium/webdriver/common/driver_finder.rb
selenium-webdriver-4.12.0 lib/selenium/webdriver/common/driver_finder.rb
selenium-webdriver-4.11.0 lib/selenium/webdriver/common/driver_finder.rb