Sha256: 46b50331fe8ad8d82205c49a28af501838b0ba975986006588fd5a2aad230f29

Contents?: true

Size: 904 Bytes

Versions: 13

Compression:

Stored size: 904 Bytes

Contents

# frozen_string_literal: true

require "datadog/tracing/contrib/patcher"

require_relative "capybara_driver"
require_relative "driver"
require_relative "navigation"

module Datadog
  module CI
    module Contrib
      module Selenium
        # Patcher enables patching of 'Selenium::WebDriver' module.
        module Patcher
          include Datadog::Tracing::Contrib::Patcher

          module_function

          def target_version
            Integration.version
          end

          def patch
            ::Selenium::WebDriver::Driver.include(Driver)
            ::Selenium::WebDriver::Navigation.include(Navigation)

            # capybara calls `reset!` after each test, so we need to patch it as well
            if defined?(::Capybara::Selenium::Driver)
              ::Capybara::Selenium::Driver.include(CapybaraDriver)
            end
          end
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
datadog-ci-1.8.1 lib/datadog/ci/contrib/selenium/patcher.rb
datadog-ci-1.8.0 lib/datadog/ci/contrib/selenium/patcher.rb
datadog-ci-1.7.0 lib/datadog/ci/contrib/selenium/patcher.rb
datadog-ci-1.6.0 lib/datadog/ci/contrib/selenium/patcher.rb
datadog-ci-1.5.0 lib/datadog/ci/contrib/selenium/patcher.rb
datadog-ci-1.4.1 lib/datadog/ci/contrib/selenium/patcher.rb
datadog-ci-1.4.0 lib/datadog/ci/contrib/selenium/patcher.rb
datadog-ci-1.3.0 lib/datadog/ci/contrib/selenium/patcher.rb
datadog-ci-1.2.0 lib/datadog/ci/contrib/selenium/patcher.rb
datadog-ci-1.1.0 lib/datadog/ci/contrib/selenium/patcher.rb
datadog-ci-1.0.1 lib/datadog/ci/contrib/selenium/patcher.rb
datadog-ci-1.0.0 lib/datadog/ci/contrib/selenium/patcher.rb
datadog-ci-1.0.0.beta6 lib/datadog/ci/contrib/selenium/patcher.rb