class Scoutui::Utils::TestUtils

Attributes

app_model[RW]
coverage[RW]
currentTest[RW]
execution_status[RW]
final_rc[RW]
metrics[RW]
options[RW]

Public Class Methods

new() click to toggle source
# File lib/scoutui/utils/utils.rb, line 23
def initialize

  @currentMessage=""
  @failedFastMessage=[]
  @coverage={:pages => []}
  @final_rc=false
  @metrics=nil

  @execution_status = :ready

  @env_list={:accounts => 'SCOUTUI_ACCOUNTS', :browser => 'SCOUTUI_BROWSER', :applitools_api_key => 'APPLITOOLS_API_KEY'}
  @options={}
  @currentTest={:reqid => 'UI', :testcase => '00' }

  [:accounts, :browser, :capabilities, :diffs_dir, :dut,:test_file, :host, :loc, :title, :viewport,
   :userid, :password, :role, :json_config_file, :page_model, :report, :selenium_server, :test_config,
   :debug].each do |o|
    @options[o]=nil
  end

  @options[:include_expected_as_asserts]=false
  @options[:role]=nil
  @options[:sauce_name]='unnamed'
  @options[:sauce_tunnelid]=nil
  @options[:enable_eyes]=false
  @options[:enable_fullscreen]=true
  @options[:enable_sauce]=false
  @options[:batchid]=nil
  @options[:batchname]=nil
  @options[:log_level]=:info     # :debug, :info, :warn, :error, :fatal
  @options[:match_level]='layout2'
  @options[:match_timeout]=nil  # Is 2 by Default per Applitools
  @options[:default_wait]=30     # seconds
  @options[:debug]=false
  @options[:fail_fast]=false
  @options[:screenshots]=false
  @options[:screenshots_dir]=nil
  @options[:screenshots_only_on_failure]=true
  @options[:retries]=1


  @app_model=nil

  Scoutui::Base::UserVars.instance.set('eyes.viewport', '1024x768')
  Scoutui::Base::UserVars.instance.set('eyes.viewport', nil)

end

Public Instance Methods

abort?() click to toggle source
# File lib/scoutui/utils/utils.rb, line 90
def abort?
  @execution_status==:abort
end
abortMessage() click to toggle source
# File lib/scoutui/utils/utils.rb, line 82
def abortMessage
  @failedFastMessage
end
addPageCoverage(p) click to toggle source
# File lib/scoutui/utils/utils.rb, line 102
def addPageCoverage(p)
  @coverage[:pages] << p
end
appName() click to toggle source
# File lib/scoutui/utils/utils.rb, line 672
def appName()
  @options[:app].to_s
end
assertExpected?() click to toggle source
# File lib/scoutui/utils/utils.rb, line 553
def assertExpected?
  @options[:include_expected_as_asserts]
end
currentMessage() click to toggle source
# File lib/scoutui/utils/utils.rb, line 86
def currentMessage
  @currentMessage
end
expandVars(h) click to toggle source
# File lib/scoutui/utils/utils.rb, line 710
def expandVars(h)

  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " expandVars(#{h})"

  h.each do |k, v|
    if v.is_a?(Hash) || v.is_a?(Array)
      expandVars(v)
    else
      Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "k is #{k}, value is #{v}"

      h[k]=transpile(v)
    end
  end

  h
end
eyesBatchId() click to toggle source
# File lib/scoutui/utils/utils.rb, line 481
def eyesBatchId()
  @options[:batchid]
end
eyesBatchname() click to toggle source
# File lib/scoutui/utils/utils.rb, line 477
def eyesBatchname()
  @options[:batchname]
end
eyesEnabled?() click to toggle source
# File lib/scoutui/utils/utils.rb, line 485
def eyesEnabled?
  @options[:enable_eyes]
end
eyesFullscreen?() click to toggle source
# File lib/scoutui/utils/utils.rb, line 493
def eyesFullscreen?
  @options[:enable_fullscreen]
end
eyesMatchTimeout() click to toggle source
# File lib/scoutui/utils/utils.rb, line 489
def eyesMatchTimeout()
  @options[:match_timeout]
end
getAppModel() click to toggle source
# File lib/scoutui/utils/utils.rb, line 173
def getAppModel()
  @app_model
end
getBrowser() click to toggle source
# File lib/scoutui/utils/utils.rb, line 541
def getBrowser()
  getBrowserType()
end
getBrowserType() click to toggle source
# File lib/scoutui/utils/utils.rb, line 544
def getBrowserType()
  @options[:browser]
end
getCapabilities() click to toggle source
# File lib/scoutui/utils/utils.rb, line 385
def getCapabilities()
  @options[:capabilities]=Hash.new if @options.has_key?(:capabilities) && @options[:capabilities].nil?

  if @options.has_key?(:sauce_platform) && !@options[:sauce_platform].nil?
    @options[:capabilities][:platform]=@options[:sauce_platform]
  end

  if !sauceResolution().nil?
    @options[:capabilities][:screenResolution]=sauceResolution()
  end

  if @options.has_key?(:sauce_browser)
    @options[:capabilities][:browser] = @options[:sauce_browser]
  end

  if @options.has_key?(:sauce_version)
    @options[:capabilities][:version] = @options[:sauce_version]
  end

  if @options.has_key?(:sauce_name)
    @options[:capabilities][:name] = @options[:sauce_name]
  end

  if @options.has_key?(:sauce_build)
    @options[:capabilities][:build] = @options[:sauce_build]
  end

  if @options.has_key?(:sauce_browsername)
    @options[:capabilities][:browserName] = @options[:sauce_browsername]
  end

  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " caps => #{@options[:capabilities].to_s}"

  @options[:capabilities][:tags]=[@options[:sauce_name], "ScoutUI"]

  @options[:capabilities]
end
getDefaultWait() click to toggle source
# File lib/scoutui/utils/utils.rb, line 548
def getDefaultWait()
  @options[:default_wait]
end
getDiffDir() click to toggle source
# File lib/scoutui/utils/utils.rb, line 641
def getDiffDir()
  @options[:diffs_dir]
end
getFinalRc() click to toggle source
# File lib/scoutui/utils/utils.rb, line 110
def getFinalRc()
  @final_rc
end
getForm(s) click to toggle source
# File lib/scoutui/utils/utils.rb, line 158
def getForm(s)
  _h = getPageElement(s)
  Scoutui::Base::QForm.new(_h)
end
getHost() click to toggle source
# File lib/scoutui/utils/utils.rb, line 452
def getHost()
  @options[:host].to_s
end
getLicenseFile() click to toggle source
# File lib/scoutui/utils/utils.rb, line 505
def getLicenseFile()
  @options[:license_file].to_s
end
getMetrics() click to toggle source
# File lib/scoutui/utils/utils.rb, line 118
def getMetrics()
  @metrics
end
getPageCoverage() click to toggle source
# File lib/scoutui/utils/utils.rb, line 98
def getPageCoverage()
  @coverage[:pages]
end
getPageElement(s) click to toggle source
# File lib/scoutui/utils/utils.rb, line 163
def getPageElement(s)
  rc=nil

  if !@app_model.nil?
    rc=@app_model.getPageElement(s)
  end

  rc
end
getPassword() click to toggle source
# File lib/scoutui/utils/utils.rb, line 653
def getPassword()
  @options[:password]
end
getReporter() click to toggle source
# File lib/scoutui/utils/utils.rb, line 461
def getReporter()
  @options[:report]
end
getReq() click to toggle source
# File lib/scoutui/utils/utils.rb, line 126
def getReq()
  @currentTest[:reqid]
end
getRole() click to toggle source
# File lib/scoutui/utils/utils.rb, line 513
def getRole()
  @options[:role]
end
getSauceBuild() click to toggle source
# File lib/scoutui/utils/utils.rb, line 529
def getSauceBuild()
  @options[:sauce_build] || nil
end
getSauceCaps() click to toggle source
# File lib/scoutui/utils/utils.rb, line 521
def getSauceCaps()
  @options[:sauce_capabilities]
end
getSauceName() click to toggle source
# File lib/scoutui/utils/utils.rb, line 525
def getSauceName()
  @options[:sauce_name].to_s
end
getSauceTunnel() click to toggle source
# File lib/scoutui/utils/utils.rb, line 533
def getSauceTunnel()
  @options[:sauce_tunnelid]
end
getSeleniumServer() click to toggle source
# File lib/scoutui/utils/utils.rb, line 537
def getSeleniumServer()
  @options[:selenium_server]
end
getState() click to toggle source
# File lib/scoutui/utils/utils.rb, line 94
def getState()
  @execution_status
end
getTC() click to toggle source
# File lib/scoutui/utils/utils.rb, line 130
def getTC()
  @currentTest[:testcase]
end
getTestConfig() click to toggle source
# File lib/scoutui/utils/utils.rb, line 633
def getTestConfig()
  @options[:test_config]
end
getTestSettings() click to toggle source

Returns JSON file contents/format

# File lib/scoutui/utils/utils.rb, line 566
def getTestSettings()

  Scoutui::Logger::LogMgr.instance.setLevel(@options[:log_level])

  [:accounts, :browser, :dut, :host, :role, :userid, :password].each do |k|

    Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " opt[test_config].has_key(#{k.to_s}) => #{@options[:test_config].has_key?(k.to_s)}"

    Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " options[#{k}] : #{@options[k].to_s}" if Scoutui::Utils::TestUtils.instance.isDebug?
    if @options.has_key?(k) && !@options[k].nil?
      Scoutui::Base::UserVars.instance.set(k, @options[k].to_s)
    elsif @options[:test_config].has_key?(k.to_s)

      Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " opts[#{k}].nil => #{@options[k].nil?}" if Scoutui::Utils::TestUtils.instance.isDebug?
      # Ensure commnand line takes precedence
      if !@options[k].nil?
        Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " opt[#{k.to_s} => #{@options[k].to_s}"  if Scoutui::Utils::TestUtils.instance.isDebug?
        Scoutui::Base::UserVars.instance.set(k, @options[k].to_s)
      else
        Scoutui::Base::UserVars.instance.set(k, @options[:test_config][k.to_s].to_s)
      end

    elsif @env_list.has_key?(k)
      # If an ENV is available, use it.
      Scoutui::Logger::LogMgr.instance.debug  __FILE__ + (__LINE__).to_s + " #{k} => ENV(#{@env_list[k]}) = #{ENV[@env_list[k].to_s]}"  if Scoutui::Utils::TestUtils.instance.isDebug?
      Scoutui::Base::UserVars.instance.set(k, ENV[@env_list[k].to_s])
    end
  end

  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " test_config => #{@options[:test_config]}"

  # If the user explicitly provided command file from args.
  if @options.has_key?(:dut) && !@options[:dut].nil?
    @options[:test_config]['dut']=@options[:dut]
  end

  # Applitools Eyes settings
  if @options[:test_config].has_key?('eyes')

    ['match_level', 'title', 'app', 'viewport'].each do |k|

      _v=nil

      if @options[:test_config]['eyes'].has_key?(k)
        _v=@options[:test_config]['eyes'][k].to_s
      end

      if !@options[k.to_sym].nil?
        Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " eyes[#{k.to_s}] override with #{@options[k.to_sym]}"

        _v=@options[k.to_sym].to_s
      end


      Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " #{k} => #{_v}"

      Scoutui::Base::UserVars.instance.set('eyes.' + k, _v) if !_v.nil?

    end
  end



  @options[:test_config]
end
getUser() click to toggle source
# File lib/scoutui/utils/utils.rb, line 649
def getUser()
  getUserId()
end
getUserId() click to toggle source
# File lib/scoutui/utils/utils.rb, line 645
def getUserId()
  @options[:userid]
end
getViewPort() click to toggle source
# File lib/scoutui/utils/utils.rb, line 177
def getViewPort()
  rc=nil

  if !options[:viewport].nil?
    arr=options[:viewport].match(/(\d+)\s*x\s*(\d+)$/i)
    if arr.size==3
      rc = {width: arr[1].to_i, height: arr[2].to_i}
    end
  end

  rc
end
hasTestConfig?() click to toggle source
# File lib/scoutui/utils/utils.rb, line 557
def hasTestConfig?
  !@options[:json_config_file].nil?
end
host() click to toggle source
# File lib/scoutui/utils/utils.rb, line 661
def host()
  @options[:host]
end
isDebug?() click to toggle source
# File lib/scoutui/utils/utils.rb, line 473
def isDebug?
  @options[:debug]
end
isFailFast?() click to toggle source
# File lib/scoutui/utils/utils.rb, line 106
def isFailFast?
  @options[:fail_fast]
end
loadModel(f=nil) click to toggle source
# File lib/scoutui/utils/utils.rb, line 142
def loadModel(f=nil)
  if f.nil?
    return nil
  end

  begin
    @app_model = Scoutui::ApplicationModel::QModel.new(f)
    @app_model.getAppModel()
  rescue => ex
    raise "ErrorLoad : #{f.to_s}"
  end

  @app_model
end
loc() click to toggle source
# File lib/scoutui/utils/utils.rb, line 665
def loc()
  @options[:loc]
end
localization() click to toggle source
# File lib/scoutui/utils/utils.rb, line 668
def localization()
  loc()
end
match_level() click to toggle source
# File lib/scoutui/utils/utils.rb, line 637
def match_level()
  @options[:match_level]
end
parseCommandLine(args=nil) click to toggle source
# File lib/scoutui/utils/utils.rb, line 191
    def parseCommandLine(args=nil)

      opt_parser = OptionParser.new do |opt|
        opt.on('-c', '--config TESTFILE') { |o|
            if !o.nil?
              @options[:json_config_file]=o

              if File.exist?(@options[:json_config_file])
                jFile = File.read(@options[:json_config_file])
                @options[:test_config]=jsonData=JSON.parse(jFile)
              else
                Scoutui::Utils::TestUtils.instance.setState(:abort, "Unable to access test config file: #{@options[:json_config_file]}")
                raise "SCOUTUI::MissingFile::TestConfig : #{@options[:json_config_file]}"
              end

            end
        }
        opt.on('--accounts [Account]')    { |o| @options[:accounts] = o }
        opt.on('-b', '--browser [TYPE]', [:chrome, :firefox, :edge, :ie, :safari, :phantomjs], "Select browser (chrome, ie, firefox, safari)") { |o| @options[:browser] = o }
        opt.on('--capabilities CAP') {  |o|
          @options[:capabilities]=o

          jFile = File.read(o)
          @options[:capabilities]=jsonData=JSON.parse(jFile, :symbolize_names => true)
        }

        opt.on('--loglevel Level') { |o|
          if o.match(/error/i)
            @options[:log_level] = :error
          elsif o.match(/fatal/i)
            @options[:log_level] = :fatal
          elsif o.match(/info/i)
            @options[:log_level] = :info
          elsif o.match(/warn/i)
            @options[:log_level] = :warn
          elsif o.match(/debug/i)
            @options[:log_level] = :debug
          end

          Scoutui::Logger::LogMgr.instance.setLevel(@options[:log_level])
        }

        opt.on('--diffs Full Path') { |o|
          @options[:diffs_dir] = o
        }

        opt.on('-d', '--debug', 'Enable debug')  { |o|
          @options[:debug] = true
          @options[:log_level] = :debug
        }
        opt.on('--dut DUT') { |o| @options[:dut]=o }
        opt.on('-h', '--host HOST')     { |o| @options[:host] = o }
        opt.on('-i', '--include_expectations') { |o| @options[:include_expected_as_asserts] = true}
        opt.on('-l', '--lang LOCAL')    { |o|
          @options[:loc] = o
          Scoutui::Base::UserVars.instance.setVar(:lang, @options[:loc].to_s)
        }
        opt.on('-k', '--key EyesLicense') { |o| options[:license_file] = o }
        opt.on('-a', '--app AppName')   { |o| @options[:app] = o }

        opt.on('--match [LEVEL]', [:layout2, :layout, :strict, :exact, :content], "Select match level (layout, strict, exact, content)") { |o| @options[:match_level] = o }
        opt.on('--eyes:match [LEVEL]', [:layout2, :layout, :strict, :exact, :content], "Select match level (layout, strict, exact, content)") { |o| @options[:match_level] = o }

        opt.on('--failfast Bool', [:true, :false]) { |o| @options[:fail_fast]  = !o.match(/true/i).nil? }

        opt.on("--pages a,b,c", Array, "List of page models") do |list|
          Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " list => #{list}"
          @options[:pages]=list

          loadModel(@options[:pages])
        end

        opt.on('--var [Key:Value]') { |o|
          if o.match(/(.+?):(.*)$/)
            _result=o.match(/(.+)?:(.*)$/)
            Scoutui::Base::UserVars.instance.setVar(_result[1].to_s, _result[2].to_s)
          else
            Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + " Invalid --var value : #{o}, should be <key>:<value>"
          end
        }

        opt.on('--pagemodel [PageModel]') { |o|
          @options[:page_model] = o
          loadModel(@options[:page_model].to_s)
        }

        opt.on('--retries RETRIES') { |o|
          if o.match(/\d+/)
            @options[:retries] = o.to_i
          end
        }

        opt.on('-w', '--wait WaitOnElement') { |o|
          if o.match(/\d+/)
            @options[:default_wait] = o.to_i
          end
        }
        opt.on('-t', '--title TITLE')   { |o| @options[:title] = o }

        opt.on('-u', '--user USER_ID')  { |o|
          @options[:userid] = o
          Scoutui::Base::UserVars.instance.setVar(:user, @options[:userid].to_s)
        }
        opt.on('-p', '--password PASSWORD') { |o| @options[:password] = o }
        opt.on('-e', '--eyes', "Toggle eyes") {
          @options[:enable_eyes]=true
        }
        opt.on('--eyes:run Bool', [:true, :false]) { |o| @options[:enable_eyes]  = !o.match(/true/i).nil? }
        opt.on('--eyes:batchname Name') { |o| @options[:batchname] = o }
        opt.on('--eyes:batchid ID')     { |o| @options[:batchid] = o }
        opt.on('--eyes:fullscreen Bool', [:true, :false]) { |o| @options[:enable_fullscreen] = !o.match(/true/i).nil? }
        opt.on('--eyes:app AppName') { |o| @options[:app] = o }
        opt.on('--eyes:title Title') { |o| @options[:title] = o }
        opt.on('--eyes:viewport [resolution]') { |o| @options[:viewport] = o }
        opt.on('--eyes:matchtimeout MatchTimeWait') { |o|
          if o.match(/\d+/)
            @options[:match_timeout] = o.to_i
          end
        }

        opt.on('--report:junit File') { |o| @options[:report] = o }


        opt.on('--screenshots Bool', [:true, :false]) { |o| @options[:screenshots] = !o.match(/true/i).nil? }
        opt.on('--screenshots:run Bool') { |o| @options[:screenshots] = !o.match(/true/i).nil? }
        opt.on('--screenshots:dir DIR') { |o| @options[:screenshots_dir] = o.to_s }
        opt.on('--screenshots:onfailure Bool') { |o| @options[:screenshots_only_on_failure] = o.to_s }

        opt.on('--role ROLE') { |o|
          @options[:role]=o
        }

        opt.on('-s', '--sauce', "Toggle SauceLabs") {
          @options[:enable_sauce]=true
        }

        opt.on('--sauce:run NAME', [:true, :false]) { |o|
          @options[:enable_sauce]  = !o.match(/true/i).nil?
        }
        opt.on('--sauce_name NAME') { |o| @options[:sauce_name]  = o }
        opt.on('--sauce:capabilities Capabilities') { |o| @options[:sauce_capabilities] = o }
        opt.on('--sauce:name NAME') { |o| @options[:sauce_name]  = o }
        opt.on('--sauce:build id')  { |o| @options[:sauce_build] = o }
        opt.on('--sauce:browser Browser') { |o| @options[:sauce_browser] = o }
        opt.on('--sauce:browsername BrowserName') { |o| @options[:sauce_browsername] = o }
        opt.on('--sauce:platform Platform') { |o| @options[:sauce_platform] = o }
        opt.on('--sauce:tunnelid TunnelID') { |o| @options[:sauce_tunnelid] = o }
        opt.on('--sauce:resolution Resolution') { |o| @options[:sauce_resolution] = o }
        opt.on('--sauce:version Version') { |o| @options[:sauce_version] = o; Scoutui::Base::UserVars.instance.setVar('browser_version', o) }

        opt.on('--seleniumserver URL') { |o| @options[:selenium_server] = o }

        opt.on('--viewport [resolution]') { |o|
          @options[:viewport] = o
          Scoutui::Base::UserVars.instance.set('eyes.viewport', @options[:viewport])
        }
        end
#      end.parse!(args)

      if !args.nil?
        opt_parser.parse!(args)
      else
        opt_parser.parse!
      end


      if Scoutui::Utils::TestUtils.instance.isDebug?
        Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " ScoutUI Version : " + Scoutui::VERSION
        Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s +  "   " + @options.to_s
        Scoutui::Logger::LogMgr.instance.info "Test file => #{@options[:test_file]}"
        Scoutui::Logger::LogMgr.instance.info "Host      => #{@options[:host]}"
        Scoutui::Logger::LogMgr.instance.info "Command   => #{@options[:dut].to_s}"
        Scoutui::Logger::LogMgr.instance.info "Loc       => #{@options[:loc]}"
        Scoutui::Logger::LogMgr.instance.info "Title     => #{@options[:title]}"
        Scoutui::Logger::LogMgr.instance.info "Browser   => #{@options[:browser]}"
        Scoutui::Logger::LogMgr.instance.info "UserID    => #{@options[:userid]}"
        Scoutui::Logger::LogMgr.instance.info "Password  => #{@options[:password]}"
        Scoutui::Logger::LogMgr.instance.info "Role      => #{@options[:role]}"
        Scoutui::Logger::LogMgr.instance.info "Eyes      => #{@options[:enable_eyes]}"
        Scoutui::Logger::LogMgr.instance.info "Eyes.Fullscreen => #{@options[:enable_fullscreen]}"
        Scoutui::Logger::LogMgr.instance.info "Test Cfg  => #{@options[:json_config_file]}"
        Scoutui::Logger::LogMgr.instance.info "Match Level => #{@options[:match_level]}"
        Scoutui::Logger::LogMgr.instance.info "Accounts    => #{@options[:accounts]}"
        Scoutui::Logger::LogMgr.instance.info "Viewport    => #{@options[:viewport]}"
        Scoutui::Logger::LogMgr.instance.info "Viewport (Var) => #{Scoutui::Base::UserVars.instance.getViewPort().to_s}"
        Scoutui::Logger::LogMgr.instance.info "PageModel file => #{@options[:page_model].to_s}"
        Scoutui::Logger::LogMgr.instance.info "Sauce.Run       => #{@options[:sauce_run].to_s}"
        Scoutui::Logger::LogMgr.instance.info "Sauce.Platform  => #{@options[:sauce_platform].to_s}"
        Scoutui::Logger::LogMgr.instance.info "Failfast        => #{@options[:fail_fast]}"
      end

      @options
    end
retries() click to toggle source
# File lib/scoutui/utils/utils.rb, line 517
def retries()
  @options[:retries]
end
sanitize_filename(filename) click to toggle source
# File lib/scoutui/utils/utils.rb, line 424
def sanitize_filename(filename)
  # Split the name when finding a period which is preceded by some
  # character, and is followed by some character other than a period,
  # if there is no following period that is followed by something
  # other than a period
  fn = filename.split /(?<=.)\.(?=[^.])(?!.*\.[^.])/m

  # We now have one or two parts (depending on whether we could find
  # a suitable period). For each of these parts, replace any unwanted
  # sequence of characters with an underscore
  fn.map! { |s| s.gsub /[^a-z0-9\-]+/i, '_' }

  # Finally, join the parts with a period and return the result
  return fn.join '.'
end
sauceEnabled?() click to toggle source
# File lib/scoutui/utils/utils.rb, line 497
def sauceEnabled?
  @options[:enable_sauce]
end
saucePlatform() click to toggle source
# File lib/scoutui/utils/utils.rb, line 501
def saucePlatform()
  @options[:sauce_platform]
end
sauceResolution() click to toggle source
# File lib/scoutui/utils/utils.rb, line 509
def sauceResolution()
  @options[:sauce_resolution]
end
screenShots?() click to toggle source
# File lib/scoutui/utils/utils.rb, line 440
def screenShots?
  @options[:screenshots]
end
screenShotsDir() click to toggle source
# File lib/scoutui/utils/utils.rb, line 448
def screenShotsDir
  @options[:screenshots_dir]
end
screenShotsOnFailure?() click to toggle source
# File lib/scoutui/utils/utils.rb, line 444
def screenShotsOnFailure?
  @options[:screenshots_only_on_failure]
end
setDebug(b) click to toggle source
# File lib/scoutui/utils/utils.rb, line 469
def setDebug(b)
  @options[:debug]=b
end
setFinalRc(b) click to toggle source
# File lib/scoutui/utils/utils.rb, line 114
def setFinalRc(b)
  @final_rc=b
end
setHost(_h) click to toggle source
# File lib/scoutui/utils/utils.rb, line 456
def setHost(_h)
  @options[:host]=_h
  Scoutui::Base::UserVars.instance.set(:host, @options[:host].to_s)
end
setMetrics(_m) click to toggle source
# File lib/scoutui/utils/utils.rb, line 122
def setMetrics(_m)
  @metrics=_m
end
setReporter(_r) click to toggle source
# File lib/scoutui/utils/utils.rb, line 465
def setReporter(_r)
  @options[:report]=_r
end
setReq(_r='UI') click to toggle source
# File lib/scoutui/utils/utils.rb, line 134
def setReq(_r='UI')
  @currentTest[:reqid]=_r
end
setState(s, _d=nil) click to toggle source
# File lib/scoutui/utils/utils.rb, line 71
def setState(s, _d=nil)
  @execution_status=s
  @currentMessage=_d if !_d.nil?

  if @execution_status==:abort && !_d.nil?
    @failedFastMessage << _d.to_s
    Scoutui::Logger::LogMgr.instance.fatal "[ABORT]: #{_d}"
  end

end
setTC(_tc=nil) click to toggle source
# File lib/scoutui/utils/utils.rb, line 138
def setTC(_tc=nil)
  @currentTest[:testcase]=_tc
end
testConfigFile() click to toggle source
# File lib/scoutui/utils/utils.rb, line 561
def testConfigFile()
  @options[:json_config_file]
end
testFile() click to toggle source
# File lib/scoutui/utils/utils.rb, line 657
def testFile()
  @options[:test_file]
end
title() click to toggle source
# File lib/scoutui/utils/utils.rb, line 676
def title()
  @options[:title]
end
transpile(_val) click to toggle source
# File lib/scoutui/utils/utils.rb, line 681
def transpile(_val)
  _uservars = _val.scan(/\$\{(.*?)\}/)

  _v2 = _val
  for i in 0 .. (_uservars.size - 1)

    _t = Scoutui::Base::UserVars.instance.get(_uservars[i][0])
    Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " translate(#{_uservars[i][0]}) => #{_t}"

    if !_t.nil? && _uservars[i][0]!=_t
      _v2.gsub!("\$\{#{_uservars[i][0]}\}", _t)
    end

    Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " value => #{_v2}"

  end

  ## Global replaces
  _text_to_type = Scoutui::Base::UserVars.instance.get(_v2)

  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " rawText : #{_text_to_type}"
  _text_to_type = Scoutui::Commands::Utils.instance.expandMacro(_text_to_type)
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Text to type : #{_text_to_type}"

  _text_to_type
end