angular_webdriver 1.0.0 → 1.0.1
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ebe9dcced61bdcd80e99c422bafb5416a97e142
|
4
|
+
data.tar.gz: b3c166bc7ce00fae03a6dbe77c61c2352edff096
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff7d5236328e971370c1871c6851edbdf468377f1e3fdddbaba2d7ec8fa8c8dc0220eeabc6f5d58a31c22ba7614acf2767dd808824478fc64699ca7ca8df8e7e
|
7
|
+
data.tar.gz: 919f103503af4df1cfe3c306b382594191ad2a9104adbe16d0822e9d3d591e60a22bbf00beafe48e1b0aad4b2457e415c0b51e10bd612acdab719588a8f3cf54
|
data/docs/overview.md
CHANGED
@@ -99,3 +99,7 @@ reimplemented client side to avoid flakiness.
|
|
99
99
|
**driver.set_max_wait(5)** - wait up to 5 seconds for an exception to not be raised
|
100
100
|
when finding an element.
|
101
101
|
**driver.max_wait_seconds** - The max wait amount (default 0) in seconds.
|
102
|
+
**driver.set_max_page_wait(30)** - wait up to 30 seconds for pages to load via
|
103
|
+
protractor.get
|
104
|
+
**driver.max_page_wait_seconds** - The max wait amount (default 30) in seconds
|
105
|
+
for pages to load via protractor.get.
|
@@ -82,9 +82,10 @@ class Protractor
|
|
82
82
|
# expect(browser.getCurrentUrl()).toBe('https://angularjs.org/');
|
83
83
|
#
|
84
84
|
# @param destination [String] The destination URL to load, can be relative if base_url is set
|
85
|
-
# @param opt_timeout [Integer] Number of seconds to wait for Angular to start.
|
85
|
+
# @param opt_timeout [Integer] Number of seconds to wait for Angular to start.
|
86
|
+
# Default 30
|
86
87
|
#
|
87
|
-
def get destination, opt_timeout=
|
88
|
+
def get destination, opt_timeout=driver.max_page_wait_seconds
|
88
89
|
# do not use driver.get because that redirects to this method
|
89
90
|
# instead driver_get is provided.
|
90
91
|
|
@@ -130,7 +131,7 @@ class Protractor
|
|
130
131
|
# now that the url has changed, make sure Angular has loaded
|
131
132
|
# note that the mock module logic is omitted.
|
132
133
|
#
|
133
|
-
waitForAngular
|
134
|
+
waitForAngular description: 'Protractor.get', timeout: timeout
|
134
135
|
end
|
135
136
|
|
136
137
|
# Invokes the underlying driver.get. Does not wait for angular.
|
@@ -318,7 +319,7 @@ class Protractor
|
|
318
319
|
)
|
319
320
|
must_sync = sync_whitelist.include? webdriver_command
|
320
321
|
|
321
|
-
|
322
|
+
waitForAngular if must_sync
|
322
323
|
end
|
323
324
|
|
324
325
|
# Instruct webdriver to wait until Angular has finished rendering and has
|
@@ -326,23 +327,33 @@ class Protractor
|
|
326
327
|
# Note that Protractor automatically applies this command before every
|
327
328
|
# WebDriver action.
|
328
329
|
#
|
329
|
-
#
|
330
|
-
#
|
330
|
+
# Will wait up to driver.max_wait_seconds (set with driver.set_max_wait)
|
331
|
+
#
|
332
|
+
# @param [Hash] opts
|
333
|
+
# @option opts [String] :description An optional description to be added
|
334
|
+
# to webdriver logs.
|
335
|
+
# @option opts [Integer] :timeout Amount of time in seconds to wait for
|
336
|
+
# angular to load. Default driver.max_wait_seconds
|
331
337
|
# @return [WebDriver::Element, Integer, Float, Boolean, NilClass, String, Array]
|
332
338
|
#
|
333
|
-
def waitForAngular
|
339
|
+
def waitForAngular opts={} # Protractor.prototype.waitForAngular
|
334
340
|
return if ignore_sync
|
335
341
|
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
342
|
+
description = opts.fetch(:description, '')
|
343
|
+
timeout = opts.fetch(:timeout, driver.max_wait_seconds)
|
344
|
+
|
345
|
+
wait(timeout: timeout, bubble: true) do
|
346
|
+
begin
|
347
|
+
# the client side script will return a string on error
|
348
|
+
# the string won't be raised as an error unless we explicitly do so here
|
349
|
+
error = executeAsyncScript_(client_side_scripts.wait_for_angular,
|
350
|
+
"Protractor.waitForAngular() #{description}",
|
351
|
+
root_element)
|
352
|
+
raise Selenium::WebDriver::Error::JavascriptError, error if error
|
353
|
+
rescue Exception => e
|
354
|
+
# https://github.com/angular/protractor/blob/master/docs/faq.md
|
355
|
+
raise e.class, "Error while waiting for Protractor to sync with the page: #{e}"
|
356
|
+
end
|
346
357
|
end
|
347
358
|
end
|
348
359
|
|
@@ -37,7 +37,25 @@ module Selenium
|
|
37
37
|
# waiting for angular to load.
|
38
38
|
#
|
39
39
|
def max_wait_seconds
|
40
|
-
@bridge.max_wait_seconds
|
40
|
+
@bridge.max_wait_seconds || 0
|
41
|
+
end
|
42
|
+
|
43
|
+
# Sets the wait time in seconds used when loading pages with protractor.get
|
44
|
+
#
|
45
|
+
# @param value [Numeric] the amount of time to wait in seconds
|
46
|
+
#
|
47
|
+
# @return [Numeric] the wait time in seconds
|
48
|
+
def set_max_page_wait value
|
49
|
+
@max_page_wait = value
|
50
|
+
end
|
51
|
+
|
52
|
+
# Gets the wait time in seconds used when loading pages with protractor.get
|
53
|
+
#
|
54
|
+
# Defaults to 30 seconds
|
55
|
+
#
|
56
|
+
# @return [Numeric] the wait time in seconds
|
57
|
+
def max_page_wait_seconds
|
58
|
+
@max_page_wait || 30
|
41
59
|
end
|
42
60
|
end
|
43
61
|
|
@@ -1,4 +1,4 @@
|
|
1
1
|
module AngularWebdriver
|
2
|
-
VERSION = '1.0.
|
3
|
-
DATE = '2015-06-
|
2
|
+
VERSION = '1.0.1' unless defined? ::AngularWebdriver::VERSION
|
3
|
+
DATE = '2015-06-07' unless defined? ::AngularWebdriver::DATE
|
4
4
|
end
|
data/release_notes.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
#### v1.0.1 2015-06-07
|
2
|
+
|
3
|
+
- [afb8d22](https://github.com/bootstraponline/angular_webdriver/commit/afb8d228f087c897ce35deaeace4adbbe63eac25) Release 1.0.1
|
4
|
+
- [449c605](https://github.com/bootstraponline/angular_webdriver/commit/449c605d9c43972296d6f04a8f860d43813d1b36) Update wait logic and fix tests
|
5
|
+
- [7f133c0](https://github.com/bootstraponline/angular_webdriver/commit/7f133c0a16ca3303f18c0ec99519e066933d85fd) waitForAngular now waits driver.max_wait_seconds
|
6
|
+
- [36a1e1a](https://github.com/bootstraponline/angular_webdriver/commit/36a1e1a8093b4c13db6a7ba2cc551cffecbb00e8) Remove unnecessary include
|
7
|
+
|
8
|
+
|
1
9
|
#### v1.0.0 2015-06-06
|
2
10
|
|
3
11
|
- [8291152](https://github.com/bootstraponline/angular_webdriver/commit/82911526e99411420ef5bde4cc5dba652cc514ed) Release 1.0.0
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: angular_webdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- code@bootstraponline.com
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|