class Scoutui::Commands::ExecuteCommands

Public Instance Methods

execute(drv, e=nil) click to toggle source
# File lib/scoutui/commands/execute_commands.rb, line 8
def execute(drv, e=nil)
  @drv=drv if !drv.nil?

  rc=false
  _locator=nil

  _req = Scoutui::Utils::TestUtils.instance.getReq()

  begin

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

    if e['page'].has_key?('commands')

      Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " [commands] => #{e['page']['commands'].class}"

      c=nil

      if e['page']['commands'].is_a?(String)

        _cmd =  Scoutui::Base::UserVars.instance.normalize(e['page']['commands'].to_s)

        Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "  normalized(cmd) => #{_cmd}"
        c=CmdShellMgr::DSL.instance.cmd(:cmd => "execute(#{_cmd})")
      elsif e['page']['commands'].is_a?(Array)

        e['page']['commands'].each do |_cmd|

          if !_cmd.nil?
            _id = _cmd['id'].to_s
            Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " execute(#{_id})"
            c=CmdShellMgr::DSL.instance.cmd(:cmd => "execute(#{_id})", )

            if c.is_a?(CmdShellMgr::Command) && _cmd.has_key?('asserts')
              _cmd['asserts'].each do |_a|
                Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " assert => #{_a}"
              end
            end

          end

        end


      else
        puts __FILE__ + (__LINE__).to_s + " Unknown DSL cmd"
      end

      rc=c.is_a?(CmdShellMgr::Command)

    end


  rescue => ex
    Scoutui::Logger::LogMgr.instance.warn "Error during processing: #{ex}"
    Scoutui::Logger::LogMgr.instance.warn "Backtrace:\n\t#{ex.backtrace.join("\n\t")}"
  end

  if rc
    Scoutui::Logger::LogMgr.instance.asserts.info "Verify executeCommands passed - #{rc}"
    Testmgr::TestReport.instance.getReq(_req).testcase('click').add(rc, "Verify loadCommands command passed")
  end

  setResult(rc)
end