testcentricity_web 2.3.14.1 → 2.3.15

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3902dc7da31c14b1da89fd63397c4db9a2107d2a
4
- data.tar.gz: 8b1dc1f8a0959b3cd0661194e2340e56805bd0a9
3
+ metadata.gz: ad902070839a921986bb1a9e697cf951bbbe8aff
4
+ data.tar.gz: 8a84f1f3d767ed03b5b4c6f87b17cfa9eb475ff9
5
5
  SHA512:
6
- metadata.gz: 9fd8cc56513e545181f80382553a7346f18ba5ca518a858687d224941a01edbf3be969a4647d89758b8053155d6da991742a58870c89b09b2ac8075c09cdd06e
7
- data.tar.gz: 2c5475856233c72a0f08bd54f4e396eebcf23d4d6f18d3a90356456c90a770fcb700d2fde62d33aeba9cca4a9a2bbd57d4478b87ad7f365ed9539357034e390e
6
+ metadata.gz: 4f426d1dd3e921fce5ecabd7420c6b8233ba18c7eb73dd652568015c6eb16517fa501b81dd4c24d71cf92584622d538fd9b4e1f7547cb9007c79f5833912385f
7
+ data.tar.gz: 0d0b218f11a9ac98b77d377fc163eee8e739ce263b80462dd6eb08727ad5afe155054c22e976178f161644919f366678979bdc4fe955181426425dd4cad687e9
data/README.md CHANGED
@@ -28,6 +28,10 @@ hosted instances of Chrome, Firefox, Safari, and IE web browsers.
28
28
 
29
29
 
30
30
  ## What's New
31
+ ###Version 2.3.15
32
+
33
+ * Added `PageObject.wait_until_exists` and `PageObject.wait_until_gone` methods.
34
+
31
35
  ###Version 2.3.14
32
36
 
33
37
  * Updated device profiles for iPhone 7 (iOS 10) with MS Edge browser.
@@ -132,6 +136,11 @@ use the [parallel_tests gem](https://rubygems.org/gems/parallel_tests) to decrea
132
136
 
133
137
 
134
138
  ## What's Fixed
139
+
140
+ ###Version 2.3.15
141
+
142
+ * Fixed bug in `UIElement.get_object_type` method that could result in a `NoMethodError obj not defined` error.
143
+
135
144
  ###Version 2.3.8
136
145
 
137
146
  * Fixed locator resolution for **Indexed PageSection Objects**.
@@ -77,7 +77,7 @@
77
77
  :css_width: 375
78
78
  :css_height: 667
79
79
  :default_orientation: portrait
80
- :user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.0 EdgiOS/41.10.1.0 Mobile/14G60 Safari/603.3.8"
80
+ :user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.0 EdgiOS/41.11.0.0 Mobile/14G60 Safari/603.3.8"
81
81
  :iphone8:
82
82
  :name: "iPhone 8"
83
83
  :os: ios
@@ -458,6 +458,36 @@ module TestCentricity
458
458
  Capybara.default_max_wait_time = saved_wait_time
459
459
  end
460
460
 
461
+ # Wait until the page object exists, or until the specified wait time has expired. If the wait time is nil, then the wait
462
+ # time will be Capybara.default_max_wait_time.
463
+ #
464
+ # @param seconds [Integer or Float] wait time in seconds
465
+ # @example
466
+ # home_page.wait_until_exists(15)
467
+ #
468
+ def wait_until_exists(seconds = nil)
469
+ timeout = seconds.nil? ? Capybara.default_max_wait_time : seconds
470
+ wait = Selenium::WebDriver::Wait.new(timeout: timeout)
471
+ wait.until { exists? }
472
+ rescue
473
+ raise "Page object #{self.class.name} not found after #{timeout} seconds" unless exists?
474
+ end
475
+
476
+ # Wait until the page object no longer exists, or until the specified wait time has expired. If the wait time is nil, then
477
+ # the wait time will be Capybara.default_max_wait_time.
478
+ #
479
+ # @param seconds [Integer or Float] wait time in seconds
480
+ # @example
481
+ # verifying_page.wait_until_gone(15)
482
+ #
483
+ def wait_until_gone(seconds = nil)
484
+ timeout = seconds.nil? ? Capybara.default_max_wait_time : seconds
485
+ wait = Selenium::WebDriver::Wait.new(timeout: timeout)
486
+ wait.until { !exists? }
487
+ rescue
488
+ raise "Page object #{self.class.name} remained visible after #{timeout} seconds" if exists?
489
+ end
490
+
461
491
  # Is current Page object URL secure?
462
492
  #
463
493
  # @return [Boolean]
@@ -1,3 +1,3 @@
1
1
  module TestCentricityWeb
2
- VERSION = '2.3.14.1'
2
+ VERSION = '2.3.15'
3
3
  end
@@ -68,10 +68,14 @@ module TestCentricity
68
68
  def get_object_type
69
69
  if @type
70
70
  @type
71
- elsif obj.tag_name
72
- obj.tag_name
73
- elsif obj.native.attribute('type')
74
- obj.native.attribute('type')
71
+ else
72
+ obj, type = find_element
73
+ object_not_found_exception(obj, type)
74
+ if obj.tag_name
75
+ obj.tag_name
76
+ elsif obj.native.attribute('type')
77
+ obj.native.attribute('type')
78
+ end
75
79
  end
76
80
  end
77
81
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testcentricity_web
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.14.1
4
+ version: 2.3.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - A.J. Mrozinski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-28 00:00:00.000000000 Z
11
+ date: 2018-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler