sapphire 0.7.16 → 0.7.17

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.
@@ -176,34 +176,54 @@ module Sapphire
176
176
  end
177
177
 
178
178
  def FindItem(array, comparator = nil)
179
- masterWait = Selenium::WebDriver::Wait.new(:timeout => 5)
180
179
 
181
- element = masterWait.until {
182
- x = nil
183
- array.each do |item|
180
+ x = nil
181
+ array.each do |item|
184
182
 
185
- if item.is_a? Hash
186
- begin
187
- x = self.FindElement item.keys.first, item.fetch(item.keys.first)
188
- rescue
189
- #do nothing, let it keep looping
190
- end
191
- end
183
+ if item.is_a? Hash
184
+ begin
185
+ x = self.FindElement item.keys.first, item.fetch(item.keys.first)
186
+ rescue
187
+ #do nothing, let it keep looping
188
+ end
189
+ end
192
190
 
193
- x = self.FindElement item[0], item[1] if item.is_a? Array
191
+ x = self.FindElement item[0], item[1] if item.is_a? Array
194
192
 
195
- return x if x != nil
196
- return x if comparator.Compare(x != nil, true) if comparator != nil
193
+ return x if x != nil
194
+ return x if comparator.Compare(x != nil, true) if comparator != nil
197
195
 
198
- end if array.is_a? Array
196
+ end if array.is_a? Array
199
197
 
200
- x = self.FindElement array.keys.first, array.fetch(array.keys.first) if array.is_a? Hash
198
+ x = self.FindElement array.keys.first, array.fetch(array.keys.first) if array.is_a? Hash
199
+ return x if x != nil
200
+ return x if comparator.Compare(x != nil, true) if comparator != nil
201
+
202
+ end
203
+
204
+ def FindItemWithWait(array, comparator=nil)
205
+ masterWait = Selenium::WebDriver::Wait.new(:timeout => 5)
206
+
207
+ element = masterWait.until {
208
+ x = FindItem(array, comparator)
201
209
  return x if x != nil
202
210
  return x if comparator.Compare(x != nil, true) if comparator != nil
203
211
  }
212
+
204
213
  return element if element != nil
205
214
  return element if comparator.Compare(element != nil, true) if comparator != nil
206
215
  raise "Could not find control for array: " + array.to_s
216
+
217
+ end
218
+
219
+ def FindItemWithoutWait(array, comparator=nil)
220
+
221
+ element = FindItem(array, comparator)
222
+
223
+ return element if element != nil
224
+ return element if comparator.Compare(element != nil, true) if comparator != nil
225
+ raise "Could not find control for array: " + array.to_s
226
+
207
227
  end
208
228
 
209
229
  def FindAllItems(array)
@@ -239,6 +259,7 @@ module Sapphire
239
259
  self.Browser().find_element discriminator, selector
240
260
  end
241
261
 
262
+
242
263
  def FindElements(discriminator, selector)
243
264
  self.Browser().find_elements discriminator, selector
244
265
  end
@@ -14,7 +14,7 @@ module Sapphire
14
14
  end
15
15
 
16
16
  def Browser
17
- case($config["Browser"])
17
+ case(ENV["browser"] || $config["Browser"])
18
18
  when "Firefox" then FireFoxBrowser.new
19
19
  when "Chrome" then ChromeBrowser.new
20
20
  when "IE" then InternetExplorerBrowser.new
@@ -22,7 +22,7 @@ module Sapphire
22
22
  end
23
23
 
24
24
  def ConfiguredBrowser
25
- $config["Browser"]
25
+ ENV["browser"] || $config["Browser"]
26
26
  end
27
27
 
28
28
  end
@@ -4,8 +4,7 @@ module Sapphire
4
4
  def Exists(symbol)
5
5
  if($page.Contains symbol)
6
6
  begin
7
- x = $page.Get(symbol).FindWithoutWait
8
- return x.displayed?
7
+ return $page.Get(symbol).Visible(false).Evaluate()
9
8
  rescue
10
9
  return false
11
10
  end
@@ -6,15 +6,15 @@ module Sapphire
6
6
  end
7
7
 
8
8
  def Find(comparator = nil)
9
- $driver.FindItem(@hash, comparator)
9
+ $driver.FindItemWithWait(@hash, comparator)
10
10
  end
11
11
 
12
12
  def FindAll
13
13
  $driver.FindAllItems(@hash)
14
14
  end
15
15
 
16
- def FindWithoutWait
17
- $driver.FindElement @hash[0].keys.first, @hash[0].fetch(@hash[0].keys.first)
16
+ def FindWithoutWait(comparator = nil)
17
+ $driver.FindItemWithoutWait(@hash, comparator)
18
18
  end
19
19
 
20
20
  def Text
@@ -49,8 +49,9 @@ module Sapphire
49
49
  sleep(1)
50
50
  end
51
51
 
52
- def Visible
53
- control = self.Find
52
+ def Visible(shouldWait = true)
53
+ control = self.Find if shouldWait
54
+ control = self.FindWithoutWait if !shouldWait
54
55
  Evaluation.new(control.displayed?, true)
55
56
  end
56
57
 
@@ -1,3 +1,3 @@
1
1
  module Sapphire
2
- VERSION = "0.7.16"
2
+ VERSION = "0.7.17"
3
3
  end
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.16
4
+ version: 0.7.17
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-03-22 00:00:00.000000000Z
12
+ date: 2012-03-23 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: selenium-webdriver
16
- requirement: &9892788 !ruby/object:Gem::Requirement
16
+ requirement: &9864360 !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: *9892788
24
+ version_requirements: *9864360
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: colorize
27
- requirement: &9892536 !ruby/object:Gem::Requirement
27
+ requirement: &9864108 !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: *9892536
35
+ version_requirements: *9864108
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: Platform
38
- requirement: &9892284 !ruby/object:Gem::Requirement
38
+ requirement: &9863856 !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: *9892284
46
+ version_requirements: *9863856
47
47
  description: An automated web acceptance test framework for non-technical resources
48
48
  using selenium-wedriver.
49
49
  email: