require_relative './commands' module Scoutui::Commands class ExecuteCommands < Command 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 end end