Class: Datadog::CI::Contrib::Cuprite::ScriptExecutor

Inherits:
Object
  • Object
show all
Defined in:
lib/datadog/ci/contrib/cuprite/script_executor.rb

Constant Summary collapse

WRAPPED_SCRIPTS =

Ferrum::Browser requires a JS script to be wrapped in a function() { … } block

{
  CI::Ext::RUM::SCRIPT_IS_RUM_ACTIVE => "function() { #{CI::Ext::RUM::SCRIPT_IS_RUM_ACTIVE}; }",
  CI::Ext::RUM::SCRIPT_STOP_RUM_SESSION => <<~JS
    function() {
      #{CI::Ext::RUM::SCRIPT_STOP_RUM_SESSION}
    }
  JS
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(ferrum_browser) ⇒ ScriptExecutor

Returns a new instance of ScriptExecutor.



20
21
22
# File 'lib/datadog/ci/contrib/cuprite/script_executor.rb', line 20

def initialize(ferrum_browser)
  @ferrum_browser = ferrum_browser
end

Instance Method Details

#execute_script(script) ⇒ Object



24
25
26
27
# File 'lib/datadog/ci/contrib/cuprite/script_executor.rb', line 24

def execute_script(script)
  script = WRAPPED_SCRIPTS.fetch(script, script)
  @ferrum_browser.evaluate_func(script)
end