awetestlib 0.1.30-x86-mingw32 → 1.2.4-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +101 -41
- data/awetestlib.gemspec +36 -47
- data/awetestlib_osx.gemspec +24 -18
- data/awetestlib_windows.gemspec +46 -0
- data/bin/awetestlib +130 -111
- data/bin/awetestlib-driver-setup.rb +0 -2
- data/bin/awetestlib-helpers.rb +43 -30
- data/lib/awetestlib.rb +196 -20
- data/lib/awetestlib/command_line.rb +44 -0
- data/lib/awetestlib/html_report.rb +57 -50
- data/lib/awetestlib/logging.rb +242 -171
- data/lib/awetestlib/regression/awetest_dsl.rb +4240 -0
- data/lib/awetestlib/regression/browser.rb +514 -397
- data/lib/awetestlib/regression/date_and_time.rb +280 -0
- data/lib/awetestlib/regression/drag_and_drop.rb +24 -0
- data/lib/awetestlib/regression/find.rb +70 -43
- data/lib/awetestlib/regression/legacy.rb +1 -1
- data/lib/awetestlib/regression/mobile.rb +293 -0
- data/lib/awetestlib/regression/reporting.rb +298 -0
- data/lib/awetestlib/regression/runner.rb +156 -200
- data/lib/awetestlib/regression/tables.rb +117 -7
- data/lib/awetestlib/regression/test_data.rb +354 -0
- data/lib/awetestlib/regression/user_input.rb +179 -93
- data/lib/awetestlib/regression/utilities.rb +755 -286
- data/lib/awetestlib/regression/validations.rb +325 -115
- data/lib/awetestlib/regression/waits.rb +60 -133
- data/lib/awetestlib/runner.rb +5 -2
- data/lib/version.rb +11 -2
- data/setup_samples/sample_cucumber/features/step_definitions/predefined_steps.rb +109 -49
- data/setup_samples/sample_mobile_app/features/support/env.rb +1 -1
- data/test/google_search2.rb +7 -6
- data/test/popup_child_0.rb +13 -0
- data/test/popup_child_1.rb +33 -0
- data/test/watir_no_require.rb +13 -0
- data/test/watir_with_require.rb +16 -0
- data/test/zoho_exercise.rb +8 -8
- metadata +216 -303
- data/AwetestLib Instructions.rtf +0 -0
- data/awetestlib.windows.gemspec +0 -42
- data/lib/patches/README +0 -2
- data/lib/patches/firewatir.rb +0 -106
- data/lib/patches/watir.rb +0 -175
data/bin/awetestlib
CHANGED
@@ -1,114 +1,133 @@
|
|
1
|
-
$: <<
|
2
|
-
|
3
|
-
$
|
4
|
-
$
|
5
|
-
$
|
6
|
-
|
7
|
-
|
8
|
-
require '
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
end
|
99
|
-
|
100
|
-
options[:
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
1
|
+
$: << './lib'
|
2
|
+
|
3
|
+
$begin_time = Time.now
|
4
|
+
$base_time = Time.now
|
5
|
+
$load_times = Hash.new
|
6
|
+
$capture_load_times = true if ENV['AWETESTLIB-LOAD-TIMES']
|
7
|
+
|
8
|
+
require File.join(File.dirname(__FILE__), 'awetestlib-helpers')
|
9
|
+
require 'fileutils' # ; load_time
|
10
|
+
|
11
|
+
if ENV['RUBY-PROF']
|
12
|
+
require 'ruby-prof' # ; load_time
|
13
|
+
end
|
14
|
+
|
15
|
+
case ARGV[0]
|
16
|
+
when nil?
|
17
|
+
print_usage
|
18
|
+
else
|
19
|
+
|
20
|
+
require 'optparse' #; load_time('optparse')
|
21
|
+
require 'awetestlib' #; load_time('awetestlib')
|
22
|
+
|
23
|
+
options = {}
|
24
|
+
|
25
|
+
parse_script_type(options)
|
26
|
+
|
27
|
+
OptionParser.new do |opts|
|
28
|
+
opts.banner = "Usage: awetestlib <script_file> [options]"
|
29
|
+
|
30
|
+
opts.on("-b", "--browser BROWSER", :required, "Specify a browser by abbreviation (IE, FF, S, C) Required.") do |browser|
|
31
|
+
options[:browser] = browser
|
32
|
+
end
|
33
|
+
opts.on("-d", "--debug", "Turn on dsl debug messaging") do
|
34
|
+
options[:debug_dsl] = true
|
35
|
+
end
|
36
|
+
opts.on("-e", "--environment_url ENVIRONMENT_URL", "Specify the environment URL") do |environment_url|
|
37
|
+
options[:environment_url] = environment_url
|
38
|
+
end
|
39
|
+
opts.on("-f", "--environment_node_name ENVIRONMENT_NODENAME", "Specify the environment node name") do |node_name|
|
40
|
+
options[:environment_nodename] = node_name
|
41
|
+
end
|
42
|
+
opts.on("-l", "--library LIBRARY", "Specify a library to be loaded") do |library|
|
43
|
+
options[:library] = library.to_s
|
44
|
+
end
|
45
|
+
opts.on("-m", "--run_mode RUN_MODE", "Specify the run mode: local, local_zip, remote_zip") do |run_mode|
|
46
|
+
options[:run_mode] = run_mode
|
47
|
+
end
|
48
|
+
opts.on("-n", "--environment_name ENVIRONMENT_NAME", "Specify the environment name") do |environment_name|
|
49
|
+
options[:environment_name] = environment_name
|
50
|
+
end
|
51
|
+
opts.on("-o", "--output_to_log", "Write to log file") do
|
52
|
+
options[:output_to_log] = true
|
53
|
+
end
|
54
|
+
opts.on("-p", "--pry", "Require Pry for debugging") do
|
55
|
+
options[:pry] = true
|
56
|
+
end
|
57
|
+
opts.on("-r", "--root_path ROOT_PATH", "Specify the root path") do |root_path|
|
58
|
+
options[:root_path] = root_path
|
59
|
+
end
|
60
|
+
opts.on("-s", "--screencap-path SCREENCAP_PATH", "Specify the path where screenshots will be saved") do |screencap_path|
|
61
|
+
options[:screencap_path] = screencap_path
|
62
|
+
end
|
63
|
+
opts.on("-t", "--locate_timeout LOCATE_TIMEOUT", "Set timeout for locating DOM elements.") do |seconds|
|
64
|
+
options[:locate_timeout] = seconds
|
65
|
+
end
|
66
|
+
opts.on("-u", "--selenium_remote_url SELENIUM_REMOTE_URL", "Specify the device's remote url and port") do |remote_url|
|
67
|
+
options[:remote_url] = remote_url
|
68
|
+
end
|
69
|
+
opts.on("-v", "--version VERSION", "Specify a browser version") do |version|
|
70
|
+
options[:version] = version
|
71
|
+
end
|
72
|
+
opts.on("-x", "--excel EXCEL_FILE", "Specify an excel file containing variables to be loaded") do |xls_path|
|
73
|
+
options[:xls_path] = xls_path
|
74
|
+
end
|
75
|
+
opts.on("-E", "--emulator EMULATOR", "Mobile emulator image (avd)") do |emulator|
|
76
|
+
options[:emulator] = emulator
|
77
|
+
end
|
78
|
+
opts.on("-T", "--device_type DEVICE_TYPE", "Mobile device type (ipad, iphone)") do |device_type|
|
79
|
+
options[:device_type] = device_type
|
80
|
+
end
|
81
|
+
opts.on("-I", "--device_id DEVICE_ID", "Mobile device identifier 'UDID'") do |device_id|
|
82
|
+
options[:device_id] = device_id
|
83
|
+
end
|
84
|
+
opts.on("-K", "--sdk SDK", "Mobile native sdk") do |sdk|
|
85
|
+
options[:sdk] = sdk
|
86
|
+
end
|
87
|
+
opts.on("-P", "--platform PLATFORM", "Mobile or desktop platform: Android, iOS, Windows, or Mac") do |platform|
|
88
|
+
options[:platform] = platform
|
89
|
+
end
|
90
|
+
opts.on("-S", "--log_path_subdir LOG_PATH_SUBDIR", "Specify log path relative to root_path.") do |log_path_subdir|
|
91
|
+
options[:log_path_subdir] = log_path_subdir
|
92
|
+
end
|
93
|
+
opts.on("-R", "--report_all_test_refs REPORT_ALL_REFS", "Include report of all error/test case reference ids actually validated. Default is true") do |report_all_test_refs|
|
94
|
+
options[:report_all_test_refs] = report_all_test_refs
|
95
|
+
end
|
96
|
+
opts.on("-D", "--global_debug", "Set all global debug variables to true. ($DEBUG, $debug, $Debug") do
|
97
|
+
options[:global_debug] = true
|
98
|
+
end
|
99
|
+
opts.on("-L", "--capture_load_times", "Capture load time for gem requires.") do
|
100
|
+
options[:capture_load_times] = true
|
101
|
+
end
|
102
|
+
opts.on("-h", "--help", "Awetestlib options:") do
|
103
|
+
puts opts
|
104
|
+
exit
|
105
|
+
end
|
106
|
+
|
107
|
+
end.parse!
|
108
|
+
|
109
|
+
unless options[:report_all_test_refs] and options[:report_all_test_refs] == false
|
110
|
+
options[:report_all_test_refs] = true
|
111
|
+
end
|
112
|
+
|
113
|
+
unless options[:browser]
|
114
|
+
puts "Missing -b/--browser option. We can't test a browser without knowing which one..."
|
115
|
+
puts opts
|
116
|
+
exit
|
117
|
+
end
|
118
|
+
|
119
|
+
options[:environment] ||= {}
|
120
|
+
options[:environment]['name'] = options[:environment_name]
|
121
|
+
options[:environment]['url'] = options[:environment_url]
|
122
|
+
options[:environment]['nodename'] = options[:environment_nodename]
|
123
|
+
|
124
|
+
options[:log_path_subdir] = 'awetest_report' if options[:output_to_log] and not options[:log_path_subdir]
|
125
|
+
|
126
|
+
# $watir_script = options[:classic_watir]
|
127
|
+
$capture_load_times = options[:capture_load_times] unless $capture_load_times
|
128
|
+
|
129
|
+
IS_WIN_2008 = File.exists?('config/win2008.txt')
|
130
|
+
Awetestlib::Runner.new(options)
|
112
131
|
|
113
132
|
|
114
133
|
end
|
@@ -1,8 +1,6 @@
|
|
1
|
-
require 'pry'
|
2
1
|
def awetestlib_driver_setup
|
3
2
|
current_dir = Dir.pwd
|
4
3
|
drivers_dir = File.expand_path(File.join(File.dirname(__FILE__), "..", "drivers"))
|
5
|
-
# binding.pry
|
6
4
|
ie_driver = File.join(drivers_dir,"IEDriverServer.exe")
|
7
5
|
chrome_driver = File.join(drivers_dir,"chromedriver.exe")
|
8
6
|
msg("Question") do
|
data/bin/awetestlib-helpers.rb
CHANGED
@@ -1,39 +1,45 @@
|
|
1
1
|
def msg(title, &block)
|
2
2
|
puts "\n" + "-"*10 + title + "-"*10
|
3
3
|
block.call
|
4
|
-
puts "-"*10 + "
|
4
|
+
puts "-"*10 + "-"*title.length + "-"*10 + "\n"
|
5
5
|
end
|
6
6
|
|
7
7
|
|
8
8
|
def print_usage
|
9
9
|
puts <<EOF
|
10
|
-
Usage
|
11
|
-
|
12
|
-
awetestlib regression_setup
|
13
|
-
setup awetest regression and register autoitx3.dll in Windows
|
14
|
-
|
15
|
-
awetestlib rubymine_setup <project_name>
|
16
|
-
setup a rubymine project
|
17
|
-
|
18
|
-
awetestlib netbeans_setup <project_name>
|
19
|
-
setup a netbeans project
|
20
|
-
|
21
|
-
awetestlib mobile_app_setup <project_name>
|
22
|
-
setup a mobile app project
|
23
|
-
|
24
|
-
awetestlib cucumber_setup <project_name>
|
25
|
-
setup cucumber regression and provide skeleton folder structure
|
10
|
+
Usage:
|
26
11
|
|
27
12
|
awetestlib <script_file> [parameters]
|
28
13
|
run an awetest regression script
|
29
14
|
|
30
15
|
EOF
|
16
|
+
|
17
|
+
# awetestlib regression_setup
|
18
|
+
# setup awetest regression and register autoitx3.dll in Windows
|
19
|
+
#
|
20
|
+
# awetestlib rubymine_setup <project_name>
|
21
|
+
# setup a rubymine project
|
22
|
+
#
|
23
|
+
# awetestlib netbeans_setup <project_name>
|
24
|
+
# setup a netbeans project
|
25
|
+
#
|
26
|
+
# awetestlib mobile_app_setup <project_name>
|
27
|
+
# setup a mobile app project
|
28
|
+
#
|
29
|
+
# awetestlib cucumber_setup <project_name>
|
30
|
+
# setup cucumber regression and provide skeleton folder structure
|
31
|
+
|
31
32
|
end
|
32
33
|
|
33
|
-
def
|
34
|
-
script_options = ['Regression', 'Cucumber']
|
34
|
+
def parse_script_type(options)
|
35
|
+
script_options = ['Regression', 'Awetest', 'AwetestDSL', 'Awetestlib', 'Cucumber']
|
35
36
|
if script_options.include? ARGV[0]
|
36
|
-
|
37
|
+
case ARGV[0]
|
38
|
+
when 'Regression', 'Awetest', 'AwetestDSL', 'Awetestlib'
|
39
|
+
options[:script_type] = 'Regression'
|
40
|
+
else
|
41
|
+
options[:script_type] = ARGV[0]
|
42
|
+
end
|
37
43
|
options[:script_file] = ARGV[1]
|
38
44
|
else
|
39
45
|
options[:script_type] = 'Regression'
|
@@ -41,21 +47,28 @@ def check_script_type(options)
|
|
41
47
|
end
|
42
48
|
end
|
43
49
|
|
44
|
-
def load_time(what = nil, time = Time.now)
|
50
|
+
def load_time(what = nil, base = nil, time = Time.now)
|
45
51
|
if $capture_load_times
|
46
52
|
caller = Kernel.caller
|
47
53
|
called = $"
|
48
54
|
unless what
|
49
|
-
|
55
|
+
drv, file, line, meth = caller[0].split(':')
|
56
|
+
if drv.length > 2
|
57
|
+
meth = line
|
58
|
+
line = file
|
59
|
+
file = drv
|
60
|
+
end
|
61
|
+
what = "#{File.basename(file)} at #{line} #{meth} => #{called[called.length - 1]}"
|
62
|
+
#what = "#{File.basename(caller[0])} => #{called[called.length - 1]}"
|
50
63
|
end
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
debug_to_report("#{time.to_f}: #{msg}")
|
56
|
-
rescue
|
57
|
-
puts("#{time.to_f}: #{msg}")
|
64
|
+
if base
|
65
|
+
elapsed = time - base
|
66
|
+
else
|
67
|
+
elapsed = time - $base_time
|
58
68
|
end
|
59
|
-
|
69
|
+
msg = "#{what} took #{sprintf('%.4f', elapsed)} seconds"
|
70
|
+
$load_times[time.to_f] = msg
|
71
|
+
puts("#{time.to_f}: #{msg}")
|
72
|
+
$base_time = time unless base
|
60
73
|
end
|
61
74
|
end
|
data/lib/awetestlib.rb
CHANGED
@@ -1,17 +1,30 @@
|
|
1
|
-
#require 'yaml' #Couldn't find use anywhere
|
2
|
-
require 'active_support/core_ext/hash'
|
3
|
-
|
4
1
|
module Awetestlib
|
2
|
+
|
5
3
|
::USING_WINDOWS = !!((RUBY_PLATFORM =~ /(win|w)(32|64)$/) || (RUBY_PLATFORM=~ /mswin|mingw/))
|
6
|
-
|
4
|
+
|
5
|
+
if !defined?(JRUBY_VERSION).nil?
|
6
|
+
::USING_OSX = !defined?(JRUBY_VERSION).nil?
|
7
|
+
else
|
8
|
+
::USING_OSX = RUBY_PLATFORM =~ /darwin/
|
9
|
+
end
|
7
10
|
|
8
11
|
# @private
|
9
|
-
BROWSER_MAP
|
12
|
+
BROWSER_MAP = {
|
10
13
|
'FF' => 'Firefox',
|
11
14
|
'IE' => 'Internet Explorer',
|
15
|
+
'ED' => 'Microsoft Edge',
|
12
16
|
'S' => 'Safari',
|
13
|
-
'
|
14
|
-
'
|
17
|
+
'O' => 'Opera',
|
18
|
+
'GC' => 'Google Chrome',
|
19
|
+
'C' => 'Google Chrome',
|
20
|
+
'MI' => 'Mobile Internet Explorer',
|
21
|
+
'ME' => 'Mobile Edge',
|
22
|
+
'IS' => 'iOS Safari',
|
23
|
+
'MS' => 'iOS Safari',
|
24
|
+
'IC' => 'iOS Chrome',
|
25
|
+
'MC' => 'iOS Chrome',
|
26
|
+
'AC' => 'Android Chrome',
|
27
|
+
'AB' => 'Android Browser'
|
15
28
|
}
|
16
29
|
|
17
30
|
# @private
|
@@ -20,22 +33,185 @@ module Awetestlib
|
|
20
33
|
'Windows' => { 'S' => 'IE' }
|
21
34
|
}
|
22
35
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
36
|
+
HTML_COLORS = {
|
37
|
+
"#{'Black'.downcase}" => '#000000',
|
38
|
+
"#{'Navy'.downcase}" => '#000080',
|
39
|
+
"#{'DarkBlue'.downcase}" => '#00008B',
|
40
|
+
"#{'MediumBlue'.downcase}" => '#0000CD',
|
41
|
+
"#{'Blue'.downcase}" => '#0000FF',
|
42
|
+
"#{'DarkGreen'.downcase}" => '#006400',
|
43
|
+
"#{'Green'.downcase}" => '#008000',
|
44
|
+
"#{'Teal'.downcase}" => '#008080',
|
45
|
+
"#{'DarkCyan'.downcase}" => '#008B8B',
|
46
|
+
"#{'DeepSkyBlue'.downcase}" => '#00BFFF',
|
47
|
+
"#{'DarkTurquoise'.downcase}" => '#00CED1',
|
48
|
+
"#{'MediumSpringGreen'.downcase}" => '#00FA9A',
|
49
|
+
"#{'Lime'.downcase}" => '#00FF00',
|
50
|
+
"#{'SpringGreen'.downcase}" => '#00FF7F',
|
51
|
+
"#{'Aqua'.downcase}" => '#00FFFF',
|
52
|
+
"#{'Cyan'.downcase}" => '#00FFFF',
|
53
|
+
"#{'MidnightBlue'.downcase}" => '#191970',
|
54
|
+
"#{'DodgerBlue'.downcase}" => '#1E90FF',
|
55
|
+
"#{'LightSeaGreen'.downcase}" => '#20B2AA',
|
56
|
+
"#{'ForestGreen'.downcase}" => '#228B22',
|
57
|
+
"#{'SeaGreen'.downcase}" => '#2E8B57',
|
58
|
+
"#{'DarkSlateGray'.downcase}" => '#2F4F4F',
|
59
|
+
"#{'LimeGreen'.downcase}" => '#32CD32',
|
60
|
+
"#{'MediumSeaGreen'.downcase}" => '#3CB371',
|
61
|
+
"#{'Turquoise'.downcase}" => '#40E0D0',
|
62
|
+
"#{'RoyalBlue'.downcase}" => '#4169E1',
|
63
|
+
"#{'SteelBlue'.downcase}" => '#4682B4',
|
64
|
+
"#{'DarkSlateBlue'.downcase}" => '#483D8B',
|
65
|
+
"#{'MediumTurquoise'.downcase}" => '#48D1CC',
|
66
|
+
"#{'Indigo'.downcase}" => '#4B0082',
|
67
|
+
"#{'DarkOliveGreen'.downcase}" => '#556B2F',
|
68
|
+
"#{'CadetBlue'.downcase}" => '#5F9EA0',
|
69
|
+
"#{'CornflowerBlue'.downcase}" => '#6495ED',
|
70
|
+
"#{'MediumAquaMarine'.downcase}" => '#66CDAA',
|
71
|
+
"#{'DimGray'.downcase}" => '#696969',
|
72
|
+
"#{'SlateBlue'.downcase}" => '#6A5ACD',
|
73
|
+
"#{'OliveDrab'.downcase}" => '#6B8E23',
|
74
|
+
"#{'SlateGray'.downcase}" => '#708090',
|
75
|
+
"#{'LightSlateGray'.downcase}" => '#778899',
|
76
|
+
"#{'MediumSlateBlue'.downcase}" => '#7B68EE',
|
77
|
+
"#{'LawnGreen'.downcase}" => '#7CFC00',
|
78
|
+
"#{'Chartreuse'.downcase}" => '#7FFF00',
|
79
|
+
"#{'Aquamarine'.downcase}" => '#7FFFD4',
|
80
|
+
"#{'Maroon'.downcase}" => '#800000',
|
81
|
+
"#{'Purple'.downcase}" => '#800080',
|
82
|
+
"#{'Olive'.downcase}" => '#808000',
|
83
|
+
"#{'Gray'.downcase}" => '#808080',
|
84
|
+
"#{'SkyBlue'.downcase}" => '#87CEEB',
|
85
|
+
"#{'LightSkyBlue'.downcase}" => '#87CEFA',
|
86
|
+
"#{'BlueViolet'.downcase}" => '#8A2BE2',
|
87
|
+
"#{'DarkRed'.downcase}" => '#8B0000',
|
88
|
+
"#{'DarkMagenta'.downcase}" => '#8B008B',
|
89
|
+
"#{'SaddleBrown'.downcase}" => '#8B4513',
|
90
|
+
"#{'DarkSeaGreen'.downcase}" => '#8FBC8F',
|
91
|
+
"#{'LightGreen'.downcase}" => '#90EE90',
|
92
|
+
"#{'MediumPurple'.downcase}" => '#9370DB',
|
93
|
+
"#{'DarkViolet'.downcase}" => '#9400D3',
|
94
|
+
"#{'PaleGreen'.downcase}" => '#98FB98',
|
95
|
+
"#{'DarkOrchid'.downcase}" => '#9932CC',
|
96
|
+
"#{'YellowGreen'.downcase}" => '#9ACD32',
|
97
|
+
"#{'Sienna'.downcase}" => '#A0522D',
|
98
|
+
"#{'Brown'.downcase}" => '#A52A2A',
|
99
|
+
"#{'DarkGray'.downcase}" => '#A9A9A9',
|
100
|
+
"#{'LightBlue'.downcase}" => '#ADD8E6',
|
101
|
+
"#{'GreenYellow'.downcase}" => '#ADFF2F',
|
102
|
+
"#{'PaleTurquoise'.downcase}" => '#AFEEEE',
|
103
|
+
"#{'LightSteelBlue'.downcase}" => '#B0C4DE',
|
104
|
+
"#{'PowderBlue'.downcase}" => '#B0E0E6',
|
105
|
+
"#{'FireBrick'.downcase}" => '#B22222',
|
106
|
+
"#{'DarkGoldenRod'.downcase}" => '#B8860B',
|
107
|
+
"#{'MediumOrchid'.downcase}" => '#BA55D3',
|
108
|
+
"#{'RosyBrown'.downcase}" => '#BC8F8F',
|
109
|
+
"#{'DarkKhaki'.downcase}" => '#BDB76B',
|
110
|
+
"#{'Silver'.downcase}" => '#C0C0C0',
|
111
|
+
"#{'MediumVioletRed'.downcase}" => '#C71585',
|
112
|
+
"#{'IndianRed'.downcase}" => '#CD5C5C',
|
113
|
+
"#{'Peru'.downcase}" => '#CD853F',
|
114
|
+
"#{'Chocolate'.downcase}" => '#D2691E',
|
115
|
+
"#{'Tan'.downcase}" => '#D2B48C',
|
116
|
+
"#{'LightGray'.downcase}" => '#D3D3D3',
|
117
|
+
"#{'Thistle'.downcase}" => '#D8BFD8',
|
118
|
+
"#{'Orchid'.downcase}" => '#DA70D6',
|
119
|
+
"#{'GoldenRod'.downcase}" => '#DAA520',
|
120
|
+
"#{'PaleVioletRed'.downcase}" => '#DB7093',
|
121
|
+
"#{'Crimson'.downcase}" => '#DC143C',
|
122
|
+
"#{'Gainsboro'.downcase}" => '#DCDCDC',
|
123
|
+
"#{'Plum'.downcase}" => '#DDA0DD',
|
124
|
+
"#{'BurlyWood'.downcase}" => '#DEB887',
|
125
|
+
"#{'LightCyan'.downcase}" => '#E0FFFF',
|
126
|
+
"#{'Lavender'.downcase}" => '#E6E6FA',
|
127
|
+
"#{'DarkSalmon'.downcase}" => '#E9967A',
|
128
|
+
"#{'Violet'.downcase}" => '#EE82EE',
|
129
|
+
"#{'PaleGoldenRod'.downcase}" => '#EEE8AA',
|
130
|
+
"#{'LightCoral'.downcase}" => '#F08080',
|
131
|
+
"#{'Khaki'.downcase}" => '#F0E68C',
|
132
|
+
"#{'AliceBlue'.downcase}" => '#F0F8FF',
|
133
|
+
"#{'HoneyDew'.downcase}" => '#F0FFF0',
|
134
|
+
"#{'Azure'.downcase}" => '#F0FFFF',
|
135
|
+
"#{'SandyBrown'.downcase}" => '#F4A460',
|
136
|
+
"#{'Wheat'.downcase}" => '#F5DEB3',
|
137
|
+
"#{'Beige'.downcase}" => '#F5F5DC',
|
138
|
+
"#{'WhiteSmoke'.downcase}" => '#F5F5F5',
|
139
|
+
"#{'MintCream'.downcase}" => '#F5FFFA',
|
140
|
+
"#{'GhostWhite'.downcase}" => '#F8F8FF',
|
141
|
+
"#{'Salmon'.downcase}" => '#FA8072',
|
142
|
+
"#{'AntiqueWhite'.downcase}" => '#FAEBD7',
|
143
|
+
"#{'Linen'.downcase}" => '#FAF0E6',
|
144
|
+
"#{'LightGoldenRodYellow'.downcase}" => '#FAFAD2',
|
145
|
+
"#{'OldLace'.downcase}" => '#FDF5E6',
|
146
|
+
"#{'Red'.downcase}" => '#FF0000',
|
147
|
+
"#{'Fuchsia'.downcase}" => '#FF00FF',
|
148
|
+
"#{'Magenta'.downcase}" => '#FF00FF',
|
149
|
+
"#{'DeepPink'.downcase}" => '#FF1493',
|
150
|
+
"#{'OrangeRed'.downcase}" => '#FF4500',
|
151
|
+
"#{'Tomato'.downcase}" => '#FF6347',
|
152
|
+
"#{'HotPink'.downcase}" => '#FF69B4',
|
153
|
+
"#{'Coral'.downcase}" => '#FF7F50',
|
154
|
+
"#{'DarkOrange'.downcase}" => '#FF8C00',
|
155
|
+
"#{'LightSalmon'.downcase}" => '#FFA07A',
|
156
|
+
"#{'Orange'.downcase}" => '#FFA500',
|
157
|
+
"#{'LightPink'.downcase}" => '#FFB6C1',
|
158
|
+
"#{'Pink'.downcase}" => '#FFC0CB',
|
159
|
+
"#{'Gold'.downcase}" => '#FFD700',
|
160
|
+
"#{'PeachPuff'.downcase}" => '#FFDAB9',
|
161
|
+
"#{'NavajoWhite'.downcase}" => '#FFDEAD',
|
162
|
+
"#{'Moccasin'.downcase}" => '#FFE4B5',
|
163
|
+
"#{'Bisque'.downcase}" => '#FFE4C4',
|
164
|
+
"#{'MistyRose'.downcase}" => '#FFE4E1',
|
165
|
+
"#{'BlanchedAlmond'.downcase}" => '#FFEBCD',
|
166
|
+
"#{'PapayaWhip'.downcase}" => '#FFEFD5',
|
167
|
+
"#{'LavenderBlush'.downcase}" => '#FFF0F5',
|
168
|
+
"#{'SeaShell'.downcase}" => '#FFF5EE',
|
169
|
+
"#{'Cornsilk'.downcase}" => '#FFF8DC',
|
170
|
+
"#{'LemonChiffon'.downcase}" => '#FFFACD',
|
171
|
+
"#{'FloralWhite'.downcase}" => '#FFFAF0',
|
172
|
+
"#{'Snow'.downcase}" => '#FFFAFA',
|
173
|
+
"#{'Yellow'.downcase}" => '#FFFF00',
|
174
|
+
"#{'LightYellow'.downcase}" => '#FFFFE0',
|
175
|
+
"#{'Ivory'.downcase}" => '#FFFFF0',
|
176
|
+
"#{'White'.downcase}" => '#FFFFFF',
|
177
|
+
}
|
178
|
+
|
179
|
+
VERIFY_MSG = true
|
180
|
+
NO_DOLLAR_BANG = false
|
181
|
+
|
182
|
+
require 'date'
|
183
|
+
require 'active_support/all'
|
184
|
+
require 'awetestlib/runner'
|
185
|
+
require 'yaml'
|
186
|
+
# require 'andand'
|
187
|
+
require 'awetestlib/regression/runner'
|
188
|
+
require 'html_validation'
|
189
|
+
require 'html_validation/page_validations'
|
190
|
+
require 'html_validation/html_validation_result'
|
191
|
+
require 'w3c_validators'
|
192
|
+
require 'roo'
|
193
|
+
require 'pry'
|
194
|
+
require 'rbconfig'
|
34
195
|
|
35
196
|
if USING_OSX
|
36
|
-
|
197
|
+
# Issue with jruby unable to compile
|
198
|
+
# require 'appscript' #; load_time
|
37
199
|
end
|
38
200
|
|
39
|
-
|
201
|
+
def using_windows?
|
202
|
+
host_os.include?("mswin") || host_os.include?("mingw")
|
203
|
+
end
|
204
|
+
|
205
|
+
def using_osx?
|
206
|
+
host_os.include?("darwin")
|
207
|
+
end
|
208
|
+
|
209
|
+
def host_os
|
210
|
+
RbConfig::CONFIG['host_os']
|
211
|
+
end
|
212
|
+
|
213
|
+
def using_jruby?
|
214
|
+
defined?(JRUBY_VERSION)
|
215
|
+
end
|
40
216
|
|
41
217
|
end
|