scoutui 0.1.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/pkg/scoutui-2.0.0.gem +0 -0
- metadata +49 -40
- data/.gitignore +0 -9
- data/.rspec +0 -2
- data/.travis.yml +0 -4
- data/CODE_OF_CONDUCT.md +0 -13
- data/Gemfile +0 -4
- data/LICENSE.txt +0 -21
- data/README.md +0 -116
- data/Rakefile +0 -6
- data/bin/console +0 -14
- data/bin/scoutui_driver.rb +0 -22
- data/bin/setup +0 -7
- data/examples/ex1/commands.yml +0 -25
- data/examples/ex1/test-example.sh +0 -36
- data/examples/ex1/test.config.json +0 -16
- data/examples/ex2/commands.yml +0 -35
- data/examples/ex2/page_model.json +0 -18
- data/examples/ex2/test-example.sh +0 -38
- data/examples/ex2/test.config.json +0 -25
- data/examples/ex6/commands.yml +0 -53
- data/examples/ex6/ex1.config.json +0 -24
- data/examples/ex6/test-example.sh +0 -36
- data/lib/scoutui/base/q_accounts.rb +0 -52
- data/lib/scoutui/base/q_applitools.rb +0 -125
- data/lib/scoutui/base/q_browser.rb +0 -74
- data/lib/scoutui/base/test_scout.rb +0 -123
- data/lib/scoutui/base/test_settings.rb +0 -109
- data/lib/scoutui/base/user_vars.rb +0 -105
- data/lib/scoutui/base/visual_test_framework.rb +0 -270
- data/lib/scoutui/eyes/eye_factory.rb +0 -76
- data/lib/scoutui/eyes/eye_scout.rb +0 -101
- data/lib/scoutui/navigator.rb +0 -24
- data/lib/scoutui/utils/utils.rb +0 -267
- data/lib/scoutui/version.rb +0 -3
- data/lib/scoutui.rb +0 -8
- data/scoutui.gemspec +0 -33
@@ -1,36 +0,0 @@
|
|
1
|
-
#/bin/bash
|
2
|
-
##
|
3
|
-
# Description
|
4
|
-
# This test script overrides the provided title and appname (if provided in the test config. file)
|
5
|
-
#
|
6
|
-
# Set the APPLITOOLS_API_KEY environment variable with your key.
|
7
|
-
#
|
8
|
-
# export APPLITOOLS_API_KEY="__YOUR_KEY_HERE__"
|
9
|
-
##
|
10
|
-
SCOUTUI_BIN=../../bin/scoutui_driver.rb
|
11
|
-
# Specify browser under test (chrome, firefox, ie, safari)
|
12
|
-
BUT=chrome
|
13
|
-
|
14
|
-
# Specify the title and appName needed by Applitools
|
15
|
-
TITLE=DEMO-ONE
|
16
|
-
APP=Elvis
|
17
|
-
|
18
|
-
# Specify the test configuration file
|
19
|
-
TEST_CFG="./ex6.config.json"
|
20
|
-
|
21
|
-
##
|
22
|
-
# content
|
23
|
-
# strict
|
24
|
-
# exact
|
25
|
-
# layyout
|
26
|
-
##
|
27
|
-
MATCH_TYPE="layout"
|
28
|
-
|
29
|
-
#EYES=--eyes
|
30
|
-
EYES=""
|
31
|
-
|
32
|
-
# The following command line parameters will override provided title and appName (if provided in test config file)
|
33
|
-
$SCOUTUI_BIN --debug --config $TEST_CFG --browser $BUT $EYES --app $APP --title $TITLE --match $MATCH_TYPE --pagemodel ./page_model.json
|
34
|
-
|
35
|
-
# The following
|
36
|
-
# $SCOUTUI_BIN --config $TEST_CFG --eyes --match $MATCH_TYPE --browser $BUT
|
@@ -1,52 +0,0 @@
|
|
1
|
-
|
2
|
-
module Scoutui::Base
|
3
|
-
|
4
|
-
class QAccounts
|
5
|
-
|
6
|
-
|
7
|
-
attr_accessor :dut
|
8
|
-
attr_accessor :accounts
|
9
|
-
|
10
|
-
def initialize(f)
|
11
|
-
|
12
|
-
if !f.nil?
|
13
|
-
@accounts = YAML.load_stream File.read(f)
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
17
|
-
|
18
|
-
def _find(id, attr)
|
19
|
-
hit = @accounts.find { |h| h['account']['loginid'] == id }
|
20
|
-
if !hit.nil?
|
21
|
-
id=hit['account'][attr]
|
22
|
-
end
|
23
|
-
id
|
24
|
-
end
|
25
|
-
|
26
|
-
def getUserRecord(u)
|
27
|
-
hit=nil
|
28
|
-
|
29
|
-
userid=getUserId(u)
|
30
|
-
if !userid.nil?
|
31
|
-
hit={'userid' => getUserId(u), 'password' => getPassword(u) }
|
32
|
-
end
|
33
|
-
|
34
|
-
hit
|
35
|
-
end
|
36
|
-
|
37
|
-
def getUserId(userid)
|
38
|
-
id=nil
|
39
|
-
hit = @accounts.find { |h| h['account']['loginid'].to_s == userid.to_s }
|
40
|
-
if !hit.nil?
|
41
|
-
id=hit['account']['loginid']
|
42
|
-
end
|
43
|
-
id
|
44
|
-
end
|
45
|
-
|
46
|
-
def getPassword(u)
|
47
|
-
_find(u, 'password')
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
@@ -1,125 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'eyes_selenium'
|
3
|
-
require 'httparty'
|
4
|
-
|
5
|
-
|
6
|
-
module Scoutui::Base
|
7
|
-
|
8
|
-
class QApplitools
|
9
|
-
|
10
|
-
|
11
|
-
attr_accessor :eyes
|
12
|
-
|
13
|
-
def initialize
|
14
|
-
@eyes=nil
|
15
|
-
end
|
16
|
-
|
17
|
-
|
18
|
-
def setup
|
19
|
-
@eyes = Applitools::Eyes.new
|
20
|
-
# This is your api key, make sure you use it in all your tests.
|
21
|
-
@eyes.api_key = "API_KEY"
|
22
|
-
|
23
|
-
# Get a selenium web driver object.
|
24
|
-
@driver = Selenium::WebDriver.for :chrome
|
25
|
-
#Eyes.log_handler = Logger.new(STDOUT)
|
26
|
-
end
|
27
|
-
|
28
|
-
# Called after every test method runs. Can be used to tear
|
29
|
-
# down fixtures information.
|
30
|
-
|
31
|
-
def teardown
|
32
|
-
@eyes.abort_if_not_closed
|
33
|
-
end
|
34
|
-
|
35
|
-
def report(results)
|
36
|
-
download_diffs(results, "VIEW_KEY", '/tmp/diff_images')
|
37
|
-
end
|
38
|
-
|
39
|
-
# Fake test
|
40
|
-
def xxxtestit
|
41
|
-
#@eyes.baseline_name='my_test_name'
|
42
|
-
wrapped_driver = @eyes.open(
|
43
|
-
app_name: 'Applitools website',
|
44
|
-
test_name: 'Example test',
|
45
|
-
viewport_size: {width: 900, height: 650},
|
46
|
-
driver: @driver)
|
47
|
-
wrapped_driver.get 'https://www.applitools.com'
|
48
|
-
# Visual validation point #1
|
49
|
-
@eyes.check_window('Main Page')
|
50
|
-
|
51
|
-
wrapped_driver.find_element(:css, ".features>a").click
|
52
|
-
# Visual validation point #2
|
53
|
-
@eyes.check_window('Features Page')
|
54
|
-
results = @eyes.close(false)
|
55
|
-
|
56
|
-
download_diffs(results, "VIEW_KEY", './diff_images')
|
57
|
-
print_results(results, "VIEW_KEY")
|
58
|
-
end
|
59
|
-
|
60
|
-
def print_results(results, view_key)
|
61
|
-
if results.is_passed
|
62
|
-
print "Your test was passed!\n"
|
63
|
-
elsif results.is_new
|
64
|
-
print "Created new baseline, this is a new test or/and new configuration!"
|
65
|
-
else
|
66
|
-
print "Your test was failed!\n"
|
67
|
-
print "#{results.mismatches} out of #{results.steps} steps failed \n"
|
68
|
-
print "Here are the failed steps:\n"
|
69
|
-
session_id = get_session_id(results.url)
|
70
|
-
diff_urls = get_diff_urls(session_id, view_key)
|
71
|
-
diff_urls.each do |index, diff_url|
|
72
|
-
print "Step #{index} --> #{diff_url} \n"
|
73
|
-
end
|
74
|
-
print "For more details please go to #{results.url} to review the differences! \n"
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
def download_diffs(results, view_key, destination)
|
79
|
-
session_id = get_session_id(results.url)
|
80
|
-
diff_urls = get_diff_urls(session_id, view_key)
|
81
|
-
download_images(diff_urls, destination)
|
82
|
-
end
|
83
|
-
|
84
|
-
def download_images(diff_urls, destination)
|
85
|
-
diff_urls.each do |index, url|
|
86
|
-
File.open("#{destination}/step_#{index}_diff.png", 'wb') do |file|
|
87
|
-
file.write HTTParty.get(url)
|
88
|
-
end
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
def get_diff_urls(session_id, view_key)
|
93
|
-
info = "https://eyes.applitools.com/api/sessions/#{session_id}/?ApiKey=#{view_key}&format=json"
|
94
|
-
diff_template = "https://eyes.applitools.com/api/sessions/#{session_id}/steps/%s/diff?ApiKey=#{view_key}"
|
95
|
-
diff_urls = Hash.new
|
96
|
-
|
97
|
-
puts __FILE__ + (__LINE__).to_s + " info => #{info}"
|
98
|
-
response = HTTParty.get(info)
|
99
|
-
|
100
|
-
begin
|
101
|
-
data = JSON.parse(response.body)
|
102
|
-
index = 1
|
103
|
-
data['actualOutput'].each do |elem|
|
104
|
-
if (elem['isMatching'] == false)
|
105
|
-
diff_urls[index] = diff_template % [index]
|
106
|
-
index+=1
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
diff_urls
|
111
|
-
|
112
|
-
rescue JSON::ParserError
|
113
|
-
;
|
114
|
-
end
|
115
|
-
|
116
|
-
end
|
117
|
-
|
118
|
-
def get_session_id(url)
|
119
|
-
/sessions\/(?<session>\d+)/.match(url)[1]
|
120
|
-
end
|
121
|
-
|
122
|
-
end
|
123
|
-
|
124
|
-
|
125
|
-
end
|
@@ -1,74 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'eyes_selenium'
|
3
|
-
require 'selenium-webdriver'
|
4
|
-
|
5
|
-
|
6
|
-
module Scoutui::Base
|
7
|
-
|
8
|
-
|
9
|
-
class QBrowser
|
10
|
-
|
11
|
-
attr_accessor :driver
|
12
|
-
|
13
|
-
def initialize()
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.wait_for_exist(drv, xpath, _timeout=30)
|
17
|
-
puts __FILE__ + (__LINE__).to_s + " wait_for_exist(#{xpath}"
|
18
|
-
rc=nil
|
19
|
-
begin
|
20
|
-
Selenium::WebDriver::Wait.new(timeout: _timeout).until { drv.find_element(:xpath => xpath) }
|
21
|
-
rc=drv.find_element(:xpath => xpath)
|
22
|
-
rescue => ex
|
23
|
-
;
|
24
|
-
end
|
25
|
-
rc
|
26
|
-
end
|
27
|
-
|
28
|
-
def self.getFirstObject(drv, xpath, _timeout=30)
|
29
|
-
rc=nil
|
30
|
-
begin
|
31
|
-
Selenium::WebDriver::Wait.new(timeout: _timeout).until { drv.find_elements(:xpath => xpath).size > 0 }
|
32
|
-
rc=drv.find_elements(:xpath => xpath)[0]
|
33
|
-
rescue => ex
|
34
|
-
;
|
35
|
-
end
|
36
|
-
rc
|
37
|
-
end
|
38
|
-
|
39
|
-
def self.getObject(drv, xpath, _timeout=30)
|
40
|
-
rc=nil
|
41
|
-
begin
|
42
|
-
|
43
|
-
if !xpath.match(/^page\([\w\d]+\)/).nil?
|
44
|
-
|
45
|
-
xpath = Scoutui::Utils::TestUtils.instance.getPageElement(xpath)
|
46
|
-
puts __FILE__ + (__LINE__).to_s + " Process page request #{xpath} => #{xpath}" if Scoutui::Utils::TestUtils.instance.isDebug?
|
47
|
-
end
|
48
|
-
|
49
|
-
|
50
|
-
Selenium::WebDriver::Wait.new(timeout: _timeout).until { drv.find_element(:xpath => xpath).displayed? }
|
51
|
-
rc=drv.find_element(:xpath => xpath)
|
52
|
-
rescue => ex
|
53
|
-
;
|
54
|
-
end
|
55
|
-
|
56
|
-
puts __FILE__ + (__LINE__).to_s + " getObject(#{xpath}) => #{rc.to_s}" if Scoutui::Utils::TestUtils.instance.isDebug?
|
57
|
-
|
58
|
-
rc
|
59
|
-
end
|
60
|
-
|
61
|
-
def wait_for(seconds)
|
62
|
-
Selenium::WebDriver::Wait.new(timeout: seconds).until { yield }
|
63
|
-
end
|
64
|
-
|
65
|
-
def driver
|
66
|
-
@driver
|
67
|
-
end
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
end
|
72
|
-
|
73
|
-
|
74
|
-
end
|
@@ -1,123 +0,0 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
module Scoutui::Base
|
4
|
-
|
5
|
-
|
6
|
-
class TestScout
|
7
|
-
attr_reader :context
|
8
|
-
attr_reader :test_settings # { host, dut }
|
9
|
-
attr_reader :userRecord
|
10
|
-
attr_reader :eyesRecord # {'title' , 'app'}
|
11
|
-
attr_reader :eyeScout
|
12
|
-
attr_reader :results
|
13
|
-
|
14
|
-
def initialize(_context)
|
15
|
-
@result = nil
|
16
|
-
@test_settings=nil
|
17
|
-
@eyesRecord=nil
|
18
|
-
|
19
|
-
if Scoutui::Utils::TestUtils.instance.hasTestConfig?
|
20
|
-
|
21
|
-
puts __FILE__ + (__LINE__).to_s + " * test config json => " + Scoutui::Utils::TestUtils.instance.testConfigFile() if Scoutui::Utils::TestUtils.instance.isDebug?
|
22
|
-
|
23
|
-
@test_settings=Scoutui::Utils::TestUtils.instance.getTestSettings()
|
24
|
-
|
25
|
-
@eyesRecord = @test_settings['eyes']
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
|
30
|
-
|
31
|
-
def start
|
32
|
-
if hasSettings?
|
33
|
-
dumpSettings if Scoutui::Utils::TestUtils.instance.isDebug?
|
34
|
-
run()
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
def stop
|
39
|
-
# TBD
|
40
|
-
end
|
41
|
-
|
42
|
-
def report
|
43
|
-
@eyeScout.generateReport()
|
44
|
-
end
|
45
|
-
|
46
|
-
def hasSettings?
|
47
|
-
Scoutui::Utils::TestUtils.instance.hasTestConfig?
|
48
|
-
end
|
49
|
-
|
50
|
-
def dumpSettings()
|
51
|
-
puts '-' * 72
|
52
|
-
puts @test_settings
|
53
|
-
|
54
|
-
puts "UserRecord => #{@userRecord}"
|
55
|
-
puts "Eyes Record => #{@eyesRecord}"
|
56
|
-
puts "Host => #{@test_settings['host']}"
|
57
|
-
end
|
58
|
-
|
59
|
-
def teardown()
|
60
|
-
@eyeScout.teardown()
|
61
|
-
end
|
62
|
-
|
63
|
-
def setup()
|
64
|
-
|
65
|
-
if Scoutui::Utils::TestUtils.instance.isDebug?
|
66
|
-
puts __FILE__ + (__LINE__).to_s + " eyes cfg => #{@eyesRecord}"
|
67
|
-
puts __FILE__ + (__LINE__).to_s + " title => " + Scoutui::Base::UserVars.instance.getVar('eyes.title')
|
68
|
-
puts __FILE__ + (__LINE__).to_s + " app => " + Scoutui::Base::UserVars.instance.getVar('eyes.app')
|
69
|
-
end
|
70
|
-
|
71
|
-
begin
|
72
|
-
|
73
|
-
eyeScout=Scoutui::Eyes::EyeFactory.instance.createScout()
|
74
|
-
rescue => ex
|
75
|
-
puts ex.backtrace
|
76
|
-
end
|
77
|
-
|
78
|
-
eyeScout
|
79
|
-
end
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
def goto(url=nil)
|
84
|
-
@eyeScout.navigate(url) if !url.nil?
|
85
|
-
end
|
86
|
-
|
87
|
-
def snapPage(tag)
|
88
|
-
@eyeScout.check_window(tag)
|
89
|
-
end
|
90
|
-
|
91
|
-
|
92
|
-
def run()
|
93
|
-
puts __FILE__ + (__LINE__).to_s + " run()" if Scoutui::Utils::TestUtils.instance.isDebug?
|
94
|
-
|
95
|
-
begin
|
96
|
-
|
97
|
-
@eyeScout=setup() # Browser is created
|
98
|
-
|
99
|
-
# Navigate to the specified host
|
100
|
-
goto(Scoutui::Base::UserVars.instance.get(:host))
|
101
|
-
|
102
|
-
snapPage('Landing Page')
|
103
|
-
|
104
|
-
Scoutui::Base::VisualTestFramework.processFile(@eyeScout, @test_settings)
|
105
|
-
|
106
|
-
teardown()
|
107
|
-
|
108
|
-
rescue => ex
|
109
|
-
puts ex.backtrace
|
110
|
-
ensure
|
111
|
-
puts __FILE__ + (__LINE__ ).to_s + " Close Eyes" if Scoutui::Utils::TestUtils.instance.isDebug?
|
112
|
-
@eyeScout.closeOut()
|
113
|
-
|
114
|
-
end
|
115
|
-
|
116
|
-
end
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
end
|
121
|
-
|
122
|
-
|
123
|
-
end
|
@@ -1,109 +0,0 @@
|
|
1
|
-
require 'json'
|
2
|
-
|
3
|
-
module Scoutui::Base
|
4
|
-
|
5
|
-
|
6
|
-
class TestSettings
|
7
|
-
|
8
|
-
attr_accessor :bEyes
|
9
|
-
attr_accessor :browserType
|
10
|
-
attr_accessor :eut
|
11
|
-
attr_accessor :user
|
12
|
-
attr_accessor :eyesReport
|
13
|
-
attr_accessor :url
|
14
|
-
|
15
|
-
|
16
|
-
def initialize(opts)
|
17
|
-
@bEyes=false
|
18
|
-
@browserType=opts[:but] || :firefox
|
19
|
-
@eut=opts[:eut] || :qa
|
20
|
-
@lang=opts[:lang] || "en-us"
|
21
|
-
@user=opts[:user] || nil
|
22
|
-
@eyesReport=opts[:eyesReport] || nil
|
23
|
-
@url=opts[:url]||nil
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
|
-
def setConfig(c)
|
28
|
-
if c.instance_of?(Hash)
|
29
|
-
@testConfig=c
|
30
|
-
else
|
31
|
-
# a JSON file was passed (ERROR handling needed)
|
32
|
-
jFile = File.read(c)
|
33
|
-
@testConfig=JSON.parse(jFile)
|
34
|
-
end
|
35
|
-
|
36
|
-
@testConfig
|
37
|
-
end
|
38
|
-
|
39
|
-
|
40
|
-
def getScout()
|
41
|
-
@testConfig["dut"]
|
42
|
-
end
|
43
|
-
|
44
|
-
def setLang(lang)
|
45
|
-
@lang=lang
|
46
|
-
end
|
47
|
-
|
48
|
-
def getUrl()
|
49
|
-
@url
|
50
|
-
end
|
51
|
-
|
52
|
-
def url
|
53
|
-
getUrl()
|
54
|
-
end
|
55
|
-
|
56
|
-
def setUrl(u)
|
57
|
-
@url=u
|
58
|
-
end
|
59
|
-
|
60
|
-
def getEyesReport()
|
61
|
-
@eyesReport
|
62
|
-
end
|
63
|
-
|
64
|
-
def getLanguage()
|
65
|
-
getLang()
|
66
|
-
end
|
67
|
-
|
68
|
-
def getUser()
|
69
|
-
@user
|
70
|
-
end
|
71
|
-
|
72
|
-
def getLang()
|
73
|
-
@lang
|
74
|
-
end
|
75
|
-
|
76
|
-
def getBUT()
|
77
|
-
@browserType
|
78
|
-
end
|
79
|
-
|
80
|
-
def setEUT(e)
|
81
|
-
@eut=e
|
82
|
-
end
|
83
|
-
|
84
|
-
def getEUT()
|
85
|
-
@eut
|
86
|
-
end
|
87
|
-
|
88
|
-
def browserType()
|
89
|
-
@browserType
|
90
|
-
end
|
91
|
-
|
92
|
-
def enableEyes(b=true)
|
93
|
-
@bEyes=b
|
94
|
-
end
|
95
|
-
|
96
|
-
def disableEyes()
|
97
|
-
@bEyes=false
|
98
|
-
end
|
99
|
-
|
100
|
-
def isEyes?
|
101
|
-
@bEyes
|
102
|
-
end
|
103
|
-
|
104
|
-
end
|
105
|
-
|
106
|
-
|
107
|
-
end
|
108
|
-
|
109
|
-
|
@@ -1,105 +0,0 @@
|
|
1
|
-
require 'singleton'
|
2
|
-
|
3
|
-
module Scoutui::Base
|
4
|
-
|
5
|
-
class UserVars
|
6
|
-
include Singleton
|
7
|
-
|
8
|
-
attr_accessor :globals
|
9
|
-
|
10
|
-
def initialize
|
11
|
-
@globals={
|
12
|
-
:accounts => '/tmp/qa/accounts.yaml',
|
13
|
-
:browser => 'chrome',
|
14
|
-
:userid => nil,
|
15
|
-
:password => nil,
|
16
|
-
:host => nil,
|
17
|
-
:localization => 'en-us'
|
18
|
-
}
|
19
|
-
end
|
20
|
-
|
21
|
-
def dump()
|
22
|
-
@globals.each_pair do |k, v|
|
23
|
-
puts __FILE__ + (__LINE__).to_s + " #{k} => #{v}"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def getViewPort()
|
28
|
-
arr=Scoutui::Base::UserVars.instance.getVar('eyes.viewport').match(/(\d+)\s*x\s*(\d+)$/i)
|
29
|
-
if arr.size==3
|
30
|
-
_sz = {:width => arr[1].to_i, :height => arr[2].to_i }
|
31
|
-
end
|
32
|
-
|
33
|
-
_sz
|
34
|
-
end
|
35
|
-
|
36
|
-
def getBrowserType()
|
37
|
-
@globals[:browser].to_sym
|
38
|
-
end
|
39
|
-
|
40
|
-
def getHost()
|
41
|
-
@globals[:host].to_s
|
42
|
-
end
|
43
|
-
|
44
|
-
def get(k)
|
45
|
-
foundKey=true
|
46
|
-
|
47
|
-
v=k
|
48
|
-
|
49
|
-
_rc = k.match(/\$\{(.*)\}$/)
|
50
|
-
|
51
|
-
# Needs refactoring!
|
52
|
-
if k=='${userid}'
|
53
|
-
k=:userid
|
54
|
-
elsif k=='${password}'
|
55
|
-
k=:password
|
56
|
-
elsif k=='${host}'
|
57
|
-
k=:host
|
58
|
-
elsif k.is_a?(Symbol)
|
59
|
-
foundKey=true
|
60
|
-
elsif !_rc.nil?
|
61
|
-
k=_rc[1].to_s
|
62
|
-
puts __FILE__ + (__LINE__).to_s + " User Var found => #{k}" if Scoutui::Utils::TestUtils.instance.isDebug?
|
63
|
-
if Scoutui::Utils::TestUtils.instance.getTestConfig().has_key?("user_vars")
|
64
|
-
|
65
|
-
if Scoutui::Utils::TestUtils.instance.getTestConfig()["user_vars"].has_key?(k)
|
66
|
-
v=Scoutui::Utils::TestUtils.instance.getTestConfig()["user_vars"][k].to_s
|
67
|
-
end
|
68
|
-
|
69
|
-
end
|
70
|
-
|
71
|
-
else
|
72
|
-
foundKey=false
|
73
|
-
end
|
74
|
-
|
75
|
-
puts __FILE__ + (__LINE__).to_s + " get(#{k} => #{@globals.has_key?(k)}" if Scoutui::Utils::TestUtils.instance.isDebug?
|
76
|
-
|
77
|
-
if @globals.has_key?(k) && foundKey
|
78
|
-
v=@globals[k]
|
79
|
-
end
|
80
|
-
|
81
|
-
puts __FILE__ + (__LINE__).to_s + " get(#{k} => #{@globals.has_key?(k)} ==> #{v.to_s}" if Scoutui::Utils::TestUtils.instance.isDebug?
|
82
|
-
|
83
|
-
v
|
84
|
-
end
|
85
|
-
|
86
|
-
def set(k, v)
|
87
|
-
setVar(k, v)
|
88
|
-
v
|
89
|
-
end
|
90
|
-
|
91
|
-
def getVar(k)
|
92
|
-
@globals[k].to_s
|
93
|
-
end
|
94
|
-
|
95
|
-
def setVar(k, v)
|
96
|
-
@globals[k]=v
|
97
|
-
v
|
98
|
-
end
|
99
|
-
|
100
|
-
|
101
|
-
end
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
end
|