sapphire 0.4.3 → 0.5.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.
- data/bin/sapphire +1 -0
- data/lib/sapphire.rb +14 -21
- data/lib/sapphire/CommandLine.rb +1 -0
- data/lib/sapphire/Configuration.rb +1 -0
- data/lib/sapphire/Configuration/{Config.rb → AppConfig.rb} +2 -2
- data/lib/sapphire/DSL.rb +6 -0
- data/lib/sapphire/DSL/Browser/Keys/Enter.rb +11 -0
- data/lib/sapphire/DSL/Browser/Press.rb +11 -0
- data/lib/sapphire/Data.rb +2 -0
- data/lib/sapphire/Strategies.rb +2 -0
- data/lib/sapphire/TeamCity.rb +9 -0
- data/lib/sapphire/Testing.rb +2 -0
- data/lib/sapphire/Testing/ConsoleReporter.rb +10 -10
- data/lib/sapphire/Virtualization.rb +8 -0
- data/lib/sapphire/Web.rb +6 -0
- data/lib/sapphire/WebAbstractions/Controls/{Chrome.rb → Browsers/Chrome.rb} +1 -1
- data/lib/sapphire/WebAbstractions/Controls/{FireFox.rb → Browsers/FireFox.rb} +0 -0
- data/lib/sapphire/WebAbstractions/Controls/{InternetExplorer.rb → Browsers/InternetExplorer.rb} +0 -0
- data/lib/sapphire/version.rb +1 -1
- metadata +85 -58
data/bin/sapphire
CHANGED
data/lib/sapphire.rb
CHANGED
@@ -1,29 +1,22 @@
|
|
1
|
-
|
1
|
+
$:.unshift File.expand_path("..", __FILE__)
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'Platform'
|
2
5
|
require 'yaml'
|
3
6
|
require 'selenium-webdriver'
|
4
7
|
require 'delegate'
|
5
8
|
require 'Forwardable'
|
6
|
-
require 'win32ole'
|
7
|
-
require 'win32console'
|
8
|
-
require 'json'
|
9
9
|
require 'colorize'
|
10
10
|
|
11
|
-
require
|
12
|
-
require
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
Dir[File.dirname(__FILE__) + '/sapphire/Strategies/*.rb'].each {|file| require file }
|
21
|
-
Dir[File.dirname(__FILE__) + '/sapphire/DSL/Browser/*.rb'].each {|file| require file }
|
22
|
-
Dir[File.dirname(__FILE__) + '/sapphire/DSL/Configuration/*.rb'].each {|file| require file }
|
23
|
-
Dir[File.dirname(__FILE__) + '/sapphire/DSL/Data/*.rb'].each {|file| require file }
|
24
|
-
Dir[File.dirname(__FILE__) + '/sapphire/DSL/Scenarios/*.rb'].each {|file| require file }
|
25
|
-
Dir[File.dirname(__FILE__) + '/sapphire/DSL/TestPlans/*.rb'].each {|file| require file }
|
26
|
-
Dir[File.dirname(__FILE__) + '/sapphire/UI/*.rb'].each {|file| require file }
|
11
|
+
require 'sapphire/Strategies'
|
12
|
+
require 'sapphire/Testing'
|
13
|
+
require 'sapphire/Web'
|
14
|
+
require 'sapphire/DSL'
|
15
|
+
require 'sapphire/CommandLine'
|
16
|
+
require 'sapphire/Configuration'
|
17
|
+
require 'sapphire/Data'
|
18
|
+
require 'sapphire/Virtualization'
|
19
|
+
require 'sapphire/TeamCity'
|
27
20
|
|
28
21
|
module Sapphire
|
29
22
|
module Sapphire
|
@@ -39,7 +32,7 @@ module Sapphire
|
|
39
32
|
include JobAbstractions
|
40
33
|
include WebAbstractions
|
41
34
|
include Testing
|
42
|
-
|
35
|
+
include Testing::TeamCity
|
43
36
|
include UI
|
44
37
|
end
|
45
38
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
Dir[File.dirname(__FILE__) + '/JobAbstractions/*.rb'].each {|file| require file }
|
@@ -0,0 +1 @@
|
|
1
|
+
Dir[File.dirname(__FILE__) + '/Configuration/*.rb'].each {|file| require file }
|
data/lib/sapphire/DSL.rb
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
Dir[File.dirname(__FILE__) + '/DSL/Browser/*.rb'].each {|file| require file }
|
2
|
+
Dir[File.dirname(__FILE__) + '/DSL/Browser/Keys/*.rb'].each {|file| require file }
|
3
|
+
Dir[File.dirname(__FILE__) + '/DSL/Configuration/*.rb'].each {|file| require file }
|
4
|
+
Dir[File.dirname(__FILE__) + '/DSL/Data/*.rb'].each {|file| require file }
|
5
|
+
Dir[File.dirname(__FILE__) + '/DSL/Scenarios/*.rb'].each {|file| require file }
|
6
|
+
Dir[File.dirname(__FILE__) + '/DSL/TestPlans/*.rb'].each {|file| require file }
|
@@ -28,13 +28,13 @@ module Sapphire
|
|
28
28
|
Indent(depth)
|
29
29
|
|
30
30
|
if result.type == 'pass'
|
31
|
-
$stdout.puts result.text.green
|
31
|
+
$stdout.puts result.text.colorize :green
|
32
32
|
elsif result.type == 'pending'
|
33
|
-
$stdout.puts result.text.yellow
|
33
|
+
$stdout.puts result.text.colorize :yellow
|
34
34
|
Indent(depth+1)
|
35
35
|
$stdout.puts " ## Not Yet Implemented ##"
|
36
36
|
else
|
37
|
-
$stdout.puts result.text.red
|
37
|
+
$stdout.puts result.text.colorize :red
|
38
38
|
if result.messages.is_a? Array
|
39
39
|
result.messages.each do |message|
|
40
40
|
Indent(depth+1)
|
@@ -66,19 +66,19 @@ module Sapphire
|
|
66
66
|
|
67
67
|
def TestPassed(test)
|
68
68
|
@passing_count = @passing_count + 1
|
69
|
-
$stdout.print ".".green
|
69
|
+
$stdout.print ".".colorize :green
|
70
70
|
end
|
71
71
|
|
72
72
|
def TestFailed(test)
|
73
73
|
@failing_count = @failing_count + 1
|
74
74
|
Add test
|
75
|
-
$stdout.print "F".red
|
75
|
+
$stdout.print "F".colorize :red
|
76
76
|
end
|
77
77
|
|
78
78
|
def TestPending(test)
|
79
79
|
@pending_count = @pending_count + 1
|
80
80
|
Add test
|
81
|
-
$stdout.print "*".yellow
|
81
|
+
$stdout.print "*".colorize :yellow
|
82
82
|
end
|
83
83
|
|
84
84
|
def Add(r)
|
@@ -106,11 +106,11 @@ module Sapphire
|
|
106
106
|
end
|
107
107
|
|
108
108
|
$stdout.puts ""
|
109
|
-
$stdout.puts "Finished in " + (@end - @start).round(
|
109
|
+
$stdout.puts "Finished in " + (@end - @start).round().to_s + " seconds."
|
110
110
|
$stdout.puts "Test Count: " + @test_count.to_s
|
111
|
-
$stdout.puts "Passing: " + @passing_count.to_s.green
|
112
|
-
$stdout.puts "Failing: " + @failing_count.to_s.red
|
113
|
-
$stdout.puts "Pending: " + @pending_count.to_s.yellow
|
111
|
+
$stdout.puts "Passing: " + @passing_count.to_s.colorize(:green)
|
112
|
+
$stdout.puts "Failing: " + @failing_count.to_s.colorize(:red)
|
113
|
+
$stdout.puts "Pending: " + @pending_count.to_s.colorize(:yellow)
|
114
114
|
end
|
115
115
|
|
116
116
|
def Output(result, depth)
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) +'/UI/Functions.rb', File.dirname(__FILE__)) if Platform::OS == :win32
|
2
|
+
require File.expand_path(File.dirname(__FILE__) +'/UI/VirtualUI.rb', File.dirname(__FILE__)) if Platform::OS == :win32
|
3
|
+
|
4
|
+
module Sapphire
|
5
|
+
module UI
|
6
|
+
|
7
|
+
end
|
8
|
+
end
|
data/lib/sapphire/Web.rb
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
Dir[File.dirname(__FILE__) + '/WebAbstractions/Controls/Base/*.rb'].each {|file| require file }
|
2
|
+
Dir[File.dirname(__FILE__) + '/WebAbstractions/Controls/*.rb'].each {|file| require file }
|
3
|
+
|
4
|
+
require File.expand_path(File.dirname(__FILE__) +'/WebAbstractions/Controls/Browsers/Chrome.rb', File.dirname(__FILE__))
|
5
|
+
require File.expand_path(File.dirname(__FILE__) +'/WebAbstractions/Controls/Browsers/FireFox.rb', File.dirname(__FILE__))
|
6
|
+
require File.expand_path(File.dirname(__FILE__) +'/WebAbstractions/Controls/Browsers/InternetExplorer.rb', File.dirname(__FILE__)) if Platform::OS == :win32
|
File without changes
|
data/lib/sapphire/WebAbstractions/Controls/{InternetExplorer.rb → Browsers/InternetExplorer.rb}
RENAMED
File without changes
|
data/lib/sapphire/version.rb
CHANGED
metadata
CHANGED
@@ -1,61 +1,74 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: sapphire
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 5
|
8
|
+
- 0
|
9
|
+
version: 0.5.0
|
6
10
|
platform: ruby
|
7
|
-
authors:
|
11
|
+
authors:
|
8
12
|
- Marcus Bratton
|
9
13
|
autorequire:
|
10
14
|
bindir: bin
|
11
15
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
16
|
+
|
17
|
+
date: 2011-10-08 00:00:00 -05:00
|
18
|
+
default_executable: sapphire
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: selenium-webdriver
|
16
|
-
requirement: &9953184 !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
22
|
-
type: :runtime
|
23
22
|
prerelease: false
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '0'
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
version: "0"
|
33
30
|
type: :runtime
|
31
|
+
version_requirements: *id001
|
32
|
+
- !ruby/object:Gem::Dependency
|
33
|
+
name: colorize
|
34
34
|
prerelease: false
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: '0'
|
35
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
segments:
|
40
|
+
- 0
|
41
|
+
version: "0"
|
44
42
|
type: :runtime
|
43
|
+
version_requirements: *id002
|
44
|
+
- !ruby/object:Gem::Dependency
|
45
|
+
name: Platform
|
45
46
|
prerelease: false
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
47
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - ">="
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
segments:
|
52
|
+
- 0
|
53
|
+
version: "0"
|
54
|
+
type: :runtime
|
55
|
+
version_requirements: *id003
|
56
|
+
description: An automated web acceptance test framework for non-technical resources using selenium-wedriver.
|
57
|
+
email:
|
50
58
|
- marcus.bratton@gmail.com
|
51
|
-
executables:
|
59
|
+
executables:
|
52
60
|
- sapphire
|
53
61
|
extensions: []
|
62
|
+
|
54
63
|
extra_rdoc_files: []
|
55
|
-
|
64
|
+
|
65
|
+
files:
|
66
|
+
- lib/sapphire/CommandLine.rb
|
67
|
+
- lib/sapphire/Configuration/AppConfig.rb
|
56
68
|
- lib/sapphire/Configuration/AttrMethods.rb
|
57
|
-
- lib/sapphire/Configuration/Config.rb
|
58
69
|
- lib/sapphire/Configuration/SapphireConfig.rb
|
70
|
+
- lib/sapphire/Configuration.rb
|
71
|
+
- lib/sapphire/Data.rb
|
59
72
|
- lib/sapphire/DataAbstractions/Database.rb
|
60
73
|
- lib/sapphire/DataAbstractions/NonQuery.rb
|
61
74
|
- lib/sapphire/DataAbstractions/Query.rb
|
@@ -76,11 +89,13 @@ files:
|
|
76
89
|
- lib/sapphire/DSL/Browser/Hide.rb
|
77
90
|
- lib/sapphire/DSL/Browser/IsHidden.rb
|
78
91
|
- lib/sapphire/DSL/Browser/IsVisible.rb
|
92
|
+
- lib/sapphire/DSL/Browser/Keys/Enter.rb
|
79
93
|
- lib/sapphire/DSL/Browser/List.rb
|
80
94
|
- lib/sapphire/DSL/Browser/MouseOver.rb
|
81
95
|
- lib/sapphire/DSL/Browser/Navigate.rb
|
82
96
|
- lib/sapphire/DSL/Browser/Not.rb
|
83
97
|
- lib/sapphire/DSL/Browser/Popup.rb
|
98
|
+
- lib/sapphire/DSL/Browser/Press.rb
|
84
99
|
- lib/sapphire/DSL/Browser/Reload.rb
|
85
100
|
- lib/sapphire/DSL/Browser/Set.rb
|
86
101
|
- lib/sapphire/DSL/Browser/Should.rb
|
@@ -119,6 +134,7 @@ files:
|
|
119
134
|
- lib/sapphire/DSL/TestPlans/PathHandler.rb
|
120
135
|
- lib/sapphire/DSL/TestPlans/Run.rb
|
121
136
|
- lib/sapphire/DSL/TestPlans/TestPlan.rb
|
137
|
+
- lib/sapphire/DSL.rb
|
122
138
|
- lib/sapphire/JobAbstractions/Job.rb
|
123
139
|
- lib/sapphire/Strategies/ClassStrategy.rb
|
124
140
|
- lib/sapphire/Strategies/DefaultStrategy.rb
|
@@ -127,7 +143,9 @@ files:
|
|
127
143
|
- lib/sapphire/Strategies/NullModifier.rb
|
128
144
|
- lib/sapphire/Strategies/Strategy.rb
|
129
145
|
- lib/sapphire/Strategies/SymbolStrategy.rb
|
146
|
+
- lib/sapphire/Strategies.rb
|
130
147
|
- lib/sapphire/TeamCity/TeamCityReporter.rb
|
148
|
+
- lib/sapphire/TeamCity.rb
|
131
149
|
- lib/sapphire/Testing/ConsoleReporter.rb
|
132
150
|
- lib/sapphire/Testing/Executable.rb
|
133
151
|
- lib/sapphire/Testing/ExpectationException.rb
|
@@ -139,49 +157,58 @@ files:
|
|
139
157
|
- lib/sapphire/Testing/ScenarioResult.rb
|
140
158
|
- lib/sapphire/Testing/TestResult.rb
|
141
159
|
- lib/sapphire/Testing/TestRunnerAdapter.rb
|
160
|
+
- lib/sapphire/Testing.rb
|
142
161
|
- lib/sapphire/UI/Functions.rb
|
143
162
|
- lib/sapphire/UI/VirtualUI.rb
|
144
163
|
- lib/sapphire/version.rb
|
164
|
+
- lib/sapphire/Virtualization.rb
|
165
|
+
- lib/sapphire/Web.rb
|
145
166
|
- lib/sapphire/WebAbstractions/Controls/Base/Control.rb
|
146
167
|
- lib/sapphire/WebAbstractions/Controls/Base/Page.rb
|
147
168
|
- lib/sapphire/WebAbstractions/Controls/Base/WebBrowser.rb
|
169
|
+
- lib/sapphire/WebAbstractions/Controls/Browsers/Chrome.rb
|
170
|
+
- lib/sapphire/WebAbstractions/Controls/Browsers/FireFox.rb
|
171
|
+
- lib/sapphire/WebAbstractions/Controls/Browsers/InternetExplorer.rb
|
148
172
|
- lib/sapphire/WebAbstractions/Controls/Button.rb
|
149
173
|
- lib/sapphire/WebAbstractions/Controls/CheckBox.rb
|
150
|
-
- lib/sapphire/WebAbstractions/Controls/Chrome.rb
|
151
174
|
- lib/sapphire/WebAbstractions/Controls/DropDown.rb
|
152
|
-
- lib/sapphire/WebAbstractions/Controls/FireFox.rb
|
153
175
|
- lib/sapphire/WebAbstractions/Controls/Hyperlink.rb
|
154
176
|
- lib/sapphire/WebAbstractions/Controls/Image.rb
|
155
|
-
- lib/sapphire/WebAbstractions/Controls/InternetExplorer.rb
|
156
177
|
- lib/sapphire/WebAbstractions/Controls/Label.rb
|
157
178
|
- lib/sapphire/WebAbstractions/Controls/RadioButton.rb
|
158
179
|
- lib/sapphire/WebAbstractions/Controls/TableCell.rb
|
159
180
|
- lib/sapphire/WebAbstractions/Controls/TextBox.rb
|
160
181
|
- lib/sapphire/WebAbstractions/Controls/Title.rb
|
161
182
|
- lib/sapphire.rb
|
162
|
-
|
183
|
+
has_rdoc: true
|
163
184
|
homepage: http://github.com/MarcusTheBold/Sapphire/
|
164
185
|
licenses: []
|
186
|
+
|
165
187
|
post_install_message:
|
166
188
|
rdoc_options: []
|
167
|
-
|
189
|
+
|
190
|
+
require_paths:
|
168
191
|
- lib
|
169
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
requirements:
|
178
|
-
- -
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
|
192
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
193
|
+
requirements:
|
194
|
+
- - ">="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
segments:
|
197
|
+
- 0
|
198
|
+
version: "0"
|
199
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
200
|
+
requirements:
|
201
|
+
- - ">="
|
202
|
+
- !ruby/object:Gem::Version
|
203
|
+
segments:
|
204
|
+
- 0
|
205
|
+
version: "0"
|
181
206
|
requirements: []
|
207
|
+
|
182
208
|
rubyforge_project:
|
183
|
-
rubygems_version: 1.
|
209
|
+
rubygems_version: 1.3.6
|
184
210
|
signing_key:
|
185
211
|
specification_version: 3
|
186
212
|
summary: An automated web acceptance test framework for non-technical resources
|
187
213
|
test_files: []
|
214
|
+
|