sapphire 0.7.2 → 0.7.3
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/lib/sapphire.rb +0 -1
- data/lib/sapphire/Configuration/AppConfig.rb +0 -1
- data/lib/sapphire/DSL/Browser/Nouns/Second.rb +1 -1
- data/lib/sapphire/DSL/Evaluations/FieldNotFoundEvaluation.rb +3 -1
- data/lib/sapphire/Extensions/Hash.rb +5 -5
- data/lib/sapphire/Extensions/Symbol.rb +5 -5
- data/lib/sapphire/WebAbstractions/Controls/Base/Page.rb +4 -0
- data/lib/sapphire/WebAbstractions/Controls/TextArea.rb +27 -0
- data/lib/sapphire/version.rb +1 -1
- metadata +9 -9
- data/lib/sapphire/Configuration/AttrMethods.rb +0 -39
data/lib/sapphire.rb
CHANGED
@@ -26,7 +26,7 @@ module Sapphire
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def Differ(comparator)
|
29
|
-
return Fix(DifferComparison.new(Evaluation.new(@compare1
|
29
|
+
return Fix(DifferComparison.new(Evaluation.new(@compare1 + @value, @compare2)), comparator)
|
30
30
|
end
|
31
31
|
|
32
32
|
def Fix(evaluation, comparator)
|
@@ -4,15 +4,17 @@ module Sapphire
|
|
4
4
|
|
5
5
|
attr_reader :field
|
6
6
|
|
7
|
-
def initialize(field, page)
|
7
|
+
def initialize(field, page, message)
|
8
8
|
@field = field
|
9
9
|
@page = page
|
10
|
+
@message = message
|
10
11
|
end
|
11
12
|
|
12
13
|
def Output()
|
13
14
|
messages = []
|
14
15
|
|
15
16
|
messages << "Cannot find control matching " + @field.to_s + " for page " + @page.to_s
|
17
|
+
messages << "Reason: " + @message
|
16
18
|
|
17
19
|
raise ExpectationException.new(messages)
|
18
20
|
end
|
@@ -16,7 +16,7 @@ class Hash < Object
|
|
16
16
|
return FieldNotDefinedEvaluation.new(key, $page) if !$page.Contains key
|
17
17
|
|
18
18
|
begin
|
19
|
-
return FieldNotFoundEvaluation.new(key, $page) if field == nil
|
19
|
+
return FieldNotFoundEvaluation.new(key, $page, "selenium could not find the field") if field == nil
|
20
20
|
|
21
21
|
begin
|
22
22
|
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
@@ -28,12 +28,12 @@ class Hash < Object
|
|
28
28
|
}
|
29
29
|
|
30
30
|
return Fix(result, comparator)
|
31
|
-
rescue
|
32
|
-
return FieldNotFoundEvaluation.new(key, $page)
|
31
|
+
rescue => e
|
32
|
+
return FieldNotFoundEvaluation.new(key, $page, e.to_s)
|
33
33
|
end
|
34
34
|
|
35
|
-
rescue
|
36
|
-
return FieldNotFoundEvaluation.new(key, $page)
|
35
|
+
rescue => e
|
36
|
+
return FieldNotFoundEvaluation.new(key, $page, e.to_s)
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
@@ -68,7 +68,7 @@ class Symbol
|
|
68
68
|
return FieldNotDefinedEvaluation.new(key, $page) if !$page.Contains key
|
69
69
|
|
70
70
|
begin
|
71
|
-
return FieldNotFoundEvaluation.new(key, $page) if field == nil
|
71
|
+
return FieldNotFoundEvaluation.new(key, $page, "selenium could not find the field") if field == nil
|
72
72
|
|
73
73
|
begin
|
74
74
|
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
@@ -79,12 +79,12 @@ class Symbol
|
|
79
79
|
|
80
80
|
|
81
81
|
return Fix(Evaluation.new(block.call(field), true), comparator)
|
82
|
-
rescue
|
83
|
-
return FieldNotFoundEvaluation.new(key, $page)
|
82
|
+
rescue => e
|
83
|
+
return FieldNotFoundEvaluation.new(key, $page, e.to_s)
|
84
84
|
end
|
85
85
|
|
86
|
-
rescue
|
87
|
-
return FieldNotFoundEvaluation.new(key, $page)
|
86
|
+
rescue => e
|
87
|
+
return FieldNotFoundEvaluation.new(key, $page, e.to_s)
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
@@ -25,6 +25,10 @@ module Sapphire
|
|
25
25
|
@fields = @fields.merge! args.first => TextBox.new(args[1..args.length])
|
26
26
|
end
|
27
27
|
|
28
|
+
def TextArea(*args)
|
29
|
+
@fields = @fields.merge! args.first => TextArea.new(args[1..args.length])
|
30
|
+
end
|
31
|
+
|
28
32
|
def RadioButton(*args)
|
29
33
|
@fields = @fields.merge! args.first => RadioButton.new(args[1..args.length])
|
30
34
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Sapphire
|
2
|
+
module WebAbstractions
|
3
|
+
class TextArea < Control
|
4
|
+
|
5
|
+
def Text
|
6
|
+
textarea = self.Find
|
7
|
+
textarea.attribute("value")
|
8
|
+
end
|
9
|
+
|
10
|
+
def Set(value)
|
11
|
+
if(value == "")
|
12
|
+
self.Clear
|
13
|
+
else
|
14
|
+
textarea = self.Find
|
15
|
+
textarea.send_keys value
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def Clear
|
20
|
+
textarea = self.Find
|
21
|
+
textarea .clear
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
data/lib/sapphire/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sapphire
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-02-
|
12
|
+
date: 2012-02-28 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: selenium-webdriver
|
16
|
-
requirement: &
|
16
|
+
requirement: &9907608 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *9907608
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: colorize
|
27
|
-
requirement: &
|
27
|
+
requirement: &9907356 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *9907356
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: Platform
|
38
|
-
requirement: &
|
38
|
+
requirement: &9907104 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *9907104
|
47
47
|
description: An automated web acceptance test framework for non-technical resources
|
48
48
|
using selenium-wedriver.
|
49
49
|
email:
|
@@ -57,7 +57,6 @@ files:
|
|
57
57
|
- lib/sapphire/Adapters.rb
|
58
58
|
- lib/sapphire/CommandLine.rb
|
59
59
|
- lib/sapphire/Configuration/AppConfig.rb
|
60
|
-
- lib/sapphire/Configuration/AttrMethods.rb
|
61
60
|
- lib/sapphire/Configuration.rb
|
62
61
|
- lib/sapphire/Data.rb
|
63
62
|
- lib/sapphire/DataAbstractions/Database.rb
|
@@ -202,6 +201,7 @@ files:
|
|
202
201
|
- lib/sapphire/WebAbstractions/Controls/Label.rb
|
203
202
|
- lib/sapphire/WebAbstractions/Controls/List.rb
|
204
203
|
- lib/sapphire/WebAbstractions/Controls/RadioButton.rb
|
204
|
+
- lib/sapphire/WebAbstractions/Controls/TextArea.rb
|
205
205
|
- lib/sapphire/WebAbstractions/Controls/TextBox.rb
|
206
206
|
- lib/sapphire/WebAbstractions/Controls/Title.rb
|
207
207
|
- lib/sapphire.rb
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# Taken this class from Albacore
|
2
|
-
|
3
|
-
module Sapphire
|
4
|
-
module Configuration
|
5
|
-
module AttrMethods
|
6
|
-
def attr_array(*names)
|
7
|
-
names.each do |n|
|
8
|
-
self.send :define_method, n do |*value|
|
9
|
-
if value.nil? || value.empty?
|
10
|
-
return instance_variable_get("@#{n}")
|
11
|
-
else
|
12
|
-
self.send "#{n}=".to_sym, value.to_ary.flatten
|
13
|
-
end
|
14
|
-
end
|
15
|
-
self.send :define_method, "#{n}=" do |value|
|
16
|
-
instance_variable_set("@#{n}", value)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def attr_hash(*names)
|
22
|
-
names.each do |n|
|
23
|
-
self.class_eval(<<-EOF, __FILE__, __LINE__)
|
24
|
-
def #{n}(*value)
|
25
|
-
if value.nil? || value.empty?
|
26
|
-
instance_variable_get("@#{n}")
|
27
|
-
else
|
28
|
-
instance_variable_set("@#{n}", value[0])
|
29
|
-
end
|
30
|
-
end
|
31
|
-
EOF
|
32
|
-
self.send :define_method, "#{n}=" do |value|
|
33
|
-
instance_variable_set("@#{n}", value)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|