class Scoutui::Base::UserVars
Attributes
globals[RW]
userVars[RW]
Public Class Methods
new()
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 12 def initialize @userVars={} @globals={ :accounts => '/tmp/qa/accounts.yaml', :browser => 'chrome', :userid => nil, :password => nil, :host => nil, :localization => 'en-us' } end
Public Instance Methods
_reduce(t)
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 79 def _reduce(t) s = t.clone _vars = s.scan(/(\$\{.*?\})/) _vars.each do | _v| if _v.length==1 _u = Scoutui::Base::UserVars.instance.get(_v[0].to_s) Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Normalize(#{_v}) => #{_u}" s.gsub!(_v[0].to_s, _u) end end Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " _reduce(#{t}) => #{s}"; s end
assignUserVar(_k, _v)
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 206 def assignUserVar(_k, _v) @userVars[_k] = _v end
dump()
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 24 def dump() @globals.each_pair do |k, v| Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " #{k} => #{v}" end @userVars.each_pair do |k, v| Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " #{k} => #{v}" end end
get(_k)
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 140 def get(_k) Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " get(#{_k})" foundKey=true k=_k if _k.is_a?(Array) k=_k[0].to_s end v=k _rc = k.match(/\$\{(.*)\}$/) # Needs refactoring! if k=='${userid}' || k=='__USERID__' k=:userid elsif k=='${password}' || k=='__PASSWORD__' k=:password elsif k=='${host}' || k=='__HOST__' k=:host elsif k=='${lang}' || k=='${__LOC__}' || k=='${LOC}' || k=='__LOC__' k=:lang elsif k=='${browser}' || k=='__BROWSER__' k=:browser elsif k=='${role}' || k=='__ROLE__' k=:role elsif k.is_a?(Symbol) foundKey=true elsif k=='__random_email__' return Faker::Internet.email elsif !_rc.nil? k=_rc[1].to_s Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " User Var found => #{k}" if Scoutui::Utils::TestUtils.instance.getTestConfig().nil? ; elsif Scoutui::Utils::TestUtils.instance.getTestConfig().has_key?("user_vars") if Scoutui::Utils::TestUtils.instance.getTestConfig()["user_vars"].has_key?(k) v=Scoutui::Utils::TestUtils.instance.getTestConfig()["user_vars"][k].to_s end end elsif @globals.has_key?(k) foundKey=true else foundKey=false end Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " get(#{k}) => #{@globals.has_key?(k)}" if @globals.has_key?(k) && foundKey v=@globals[k] end Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " get(#{k}) => #{@globals.has_key?(k)} ==> #{v.to_s}" if Scoutui::Utils::TestUtils.instance.isDebug? v end
getBrowserType()
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 51 def getBrowserType() @globals[:browser].to_sym end
getHost()
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 55 def getHost() @globals[:host].to_s end
getTestReportGetter(_val)
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 64 def getTestReportGetter(_val) _m = isTestReport?(_val) if _m return _m[1] end nil end
getUserVar(_k)
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 210 def getUserVar(_k) rc=nil if @userVars.has_key?(_k) rc=@userVars[_k] end rc end
getVar(k)
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 232 def getVar(k) rc=nil if @globals.has_key?(k) rc=@globals[k].to_s end ## TODO: refactor! if rc.nil? rc = get(k) end rc end
getViewPort()
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 35 def getViewPort() _viewport = Scoutui::Base::UserVars.instance.getVar('eyes.viewport') if _viewport.nil? || _viewport.empty? return nil end arr=Scoutui::Base::UserVars.instance.getVar('eyes.viewport').match(/^\s*(\d+)\s*x\s*(\d+)\s*$/i) _sz={} if arr.size==3 _sz = {width: arr[1].to_i, height: arr[2].to_i} end _sz end
isTestData?(_val)
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 73 def isTestData?(_val) return false if _val.nil? _val.match(/^\s*TestData\(.*\)\.getData\(.*\)\s*$/) end
isTestReport?(_val)
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 59 def isTestReport?(_val) # _val.match(/^\s*TestData\(.*\)\.getReport\(.*\)\s*$/) _val.match(/^\s*TestData\(.*?\)\.getReport\(.*?\)((\.get\(.*?\))*)\s*$/) end
normalize(src)
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 97 def normalize(src) if src.is_a?(TrueClass) || src.is_a?(Fixnum) || src.nil? || src.empty? return src end s = src.clone begin if Scoutui::Base::UserVars.instance.isTestData?(s) _dataID=s.match(/^\s*TestData\((.*)\)\.getData\(.*\)\s*$/)[1].to_s _getter=s.match(/^\s*TestData\((.*)\)\.(getData\(.*\))\s*$/)[2].to_s return Scoutui::Base::TestData.instance.get(_dataID, _getter) end hydrate = _reduce(s) Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " hydrate(#{s}) => #{hydrate}" while hydrate.match(/\$\{.*\}/) _t = _reduce(hydrate) if _t==hydrate break end hydrate=_t Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " hydrate2() => #{hydrate}"; end rescue => ex Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + " #{ex.class}" Scoutui::Logger::LogMgr.instance.warn ex.backtrace end hydrate end
removeUserVar(_k)
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 220 def removeUserVar(_k) if @userVars.has_key?(_k) @userVars.delete(_k) end end
set(k, v)
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 227 def set(k, v) setVar(k, v) v end
setVar(k, v)
click to toggle source
# File lib/scoutui/base/user_vars.rb, line 248 def setVar(k, v) @globals[k]=v v end