class Scoutui::Commands::SelectObject
Public Instance Methods
execute(drv, e=nil)
click to toggle source
# File lib/scoutui/commands/select_object.rb, line 9 def execute(drv, e=nil) _seekTime={ :start => 0, :end => 0 } Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " SelectObject.execute(#{e})" @drv=drv if !drv.nil? _req = Scoutui::Utils::TestUtils.instance.getReq() obj=nil _rc=false begin if !@cmd.match(/select\(/).nil? _xpath = @cmd.match(/^\s*select\((.*),\s*/)[1].to_s _val = @cmd.match(/^\s*select\(.*,\s*(.*)\)/)[1].to_s Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "Process SELECT #{_val} into #{_xpath}" if Scoutui::Utils::TestUtils.instance.isDebug? if e.is_a?(Hash) && e.has_key?('page') && e['page'].has_key?('frames') Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " frames => #{e['page']['frames']}"; end _seekTime[:start]=Time.now obj = Scoutui::Base::QBrowser.findElement(@drv, _xpath, Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout) _seekTime[:end]=Time.now if !obj.nil? && obj.tag_name.downcase.match(/(select)/) _opt = Selenium::WebDriver::Support::Select.new(obj) if _val.match(/\s*value:(.+)$/) _tVal = _val.match(/\s*value:(.+)$/)[1].to_s _opt.select_by(:value, Scoutui::Base::UserVars.instance.get(_tVal)) else _opt.select_by(:text, Scoutui::Base::UserVars.instance.get(_val)) end _rc=true # obj.send_keys(Scoutui::Base::UserVars.instance.get(_val)) else Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + " Unable to process command SELECT => #{obj.to_s}" end end rescue => ex Scoutui::Logger::LogMgr.instance.debug "Error during processing: #{$!}" Scoutui::Logger::LogMgr.instance.debug "Backtrace:\n\t#{ex.backtrace.join("\n\t")}" end Testmgr::TestReport.instance.getReq(_req).testcase('select').add(!obj.nil?, Scoutui::Base::UserVars.instance.normalize("Verify object to select exists #{_xpath} : #{obj.class.to_s}"), _seekTime[:end] - _seekTime[:start]) Testmgr::TestReport.instance.getReq(_req).testcase('select').add(_rc, Scoutui::Base::UserVars.instance.normalize("Verify selected text #{_val}")) setResult(_rc) end