watirsplash 2.2.0 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -1
- data/Gemfile.lock +10 -8
- data/History.rdoc +4 -0
- data/lib/watirsplash/browser.rb +28 -0
- data/lib/watirsplash/frameworks/watir.rb +0 -9
- data/lib/watirsplash/version.rb +1 -1
- data/spec/browser_spec.rb +15 -0
- metadata +4 -4
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
watirsplash (2.
|
4
|
+
watirsplash (2.2.0)
|
5
5
|
bundler (~> 1.0)
|
6
6
|
rake (= 0.8.7)
|
7
7
|
require_all
|
@@ -12,17 +12,18 @@ GEM
|
|
12
12
|
remote: http://rubygems.org/
|
13
13
|
specs:
|
14
14
|
builder (3.0.0)
|
15
|
-
childprocess (0.2.
|
15
|
+
childprocess (0.2.2)
|
16
16
|
ffi (~> 1.0.6)
|
17
17
|
commonwatir (2.0.1)
|
18
18
|
user-choices
|
19
19
|
diff-lcs (1.1.2)
|
20
20
|
ffi (1.0.9-x86-mingw32)
|
21
|
-
firewatir (1.9.
|
21
|
+
firewatir (1.9.4)
|
22
22
|
commonwatir (>= 1.9.2)
|
23
23
|
hoe (2.12.0)
|
24
24
|
rake (~> 0.8)
|
25
|
-
json_pure (1.5.
|
25
|
+
json_pure (1.5.4)
|
26
|
+
spruz (~> 0.2.8)
|
26
27
|
mini_magick (3.2.1)
|
27
28
|
subexec (~> 0.0.4)
|
28
29
|
nokogiri (1.5.0-x86-mingw32)
|
@@ -40,13 +41,14 @@ GEM
|
|
40
41
|
rubyzip (0.9.4)
|
41
42
|
s4t-utils (1.0.4)
|
42
43
|
hoe (>= 1.3.0)
|
43
|
-
selenium-webdriver (2.
|
44
|
+
selenium-webdriver (2.5.0)
|
44
45
|
childprocess (>= 0.2.1)
|
45
46
|
ffi (>= 1.0.7)
|
46
47
|
json_pure
|
47
48
|
rubyzip
|
48
49
|
spork (0.9.0.rc9-x86-mingw32)
|
49
50
|
win32-process
|
51
|
+
spruz (0.2.13)
|
50
52
|
subexec (0.0.4)
|
51
53
|
syntax (1.0.0)
|
52
54
|
thor (0.14.6)
|
@@ -61,7 +63,7 @@ GEM
|
|
61
63
|
rautomation (~> 0.6.3)
|
62
64
|
win32-process (>= 0.5.5)
|
63
65
|
windows-pr (>= 0.6.6)
|
64
|
-
watir-webdriver (0.3.
|
66
|
+
watir-webdriver (0.3.3)
|
65
67
|
selenium-webdriver (>= 0.2.2)
|
66
68
|
win32-api (1.4.8-x86-mingw32)
|
67
69
|
win32-process (0.6.5)
|
@@ -81,10 +83,10 @@ PLATFORMS
|
|
81
83
|
x86-mingw32
|
82
84
|
|
83
85
|
DEPENDENCIES
|
84
|
-
firewatir (>= 1.9.
|
86
|
+
firewatir (>= 1.9.4)
|
85
87
|
rspec (~> 2.6.0)
|
86
88
|
spork (~> 0.9.0.rc9)
|
87
89
|
watir (= 2.0.1)
|
88
|
-
watir-webdriver (~> 0.3.
|
90
|
+
watir-webdriver (~> 0.3.3)
|
89
91
|
watirsplash!
|
90
92
|
win32screenshot (~> 1.0.5)
|
data/History.rdoc
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
=== Version 2.3.0 / 2011-09-10
|
2
|
+
|
3
|
+
* add JavaScript errors detection for all supported frameworks & browsers - read more from wiki: https://github.com/jarmo/WatirSplash/wiki/Detecting-JavaScript-Errors
|
4
|
+
|
1
5
|
=== Version 2.2.0 / 2011-09-10
|
2
6
|
|
3
7
|
* watir-webdriver/firefox is now the default framework under Linux and OS X
|
data/lib/watirsplash/browser.rb
CHANGED
@@ -1,5 +1,32 @@
|
|
1
1
|
module WatirSplash
|
2
|
+
class JavaScriptError < RuntimeError; end
|
3
|
+
|
2
4
|
class Browser
|
5
|
+
# raises an error if any JavaScript errors were found
|
6
|
+
JAVASCRIPT_ERRORS_CHECKER = lambda do |browser|
|
7
|
+
error_message = browser.execute_script "#{browser.respond_to?(:driver) ? "return ": nil}window.__browserErrorMessage"
|
8
|
+
|
9
|
+
if error_message && !error_message.empty?
|
10
|
+
browser.execute_script "window.__browserErrorMessage = undefined"
|
11
|
+
raise JavaScriptError, "JavaScript error: #{error_message}"
|
12
|
+
end
|
13
|
+
|
14
|
+
browser.execute_script %q[
|
15
|
+
if (!window.onErrorFn) {
|
16
|
+
window.onErrorFn = function(errorMsg, url, lineNumber) {
|
17
|
+
window.__browserErrorMessage = errorMsg + " @ " + url + ":" + lineNumber;
|
18
|
+
|
19
|
+
if (window.__onErrorFn)
|
20
|
+
window.__onErrorFn(errorMsg, url, lineNumber);
|
21
|
+
|
22
|
+
return false;
|
23
|
+
};
|
24
|
+
|
25
|
+
window.__onErrorFn = window.onerror;
|
26
|
+
window.onerror = window.onErrorFn;
|
27
|
+
}]
|
28
|
+
end
|
29
|
+
|
3
30
|
class << self
|
4
31
|
|
5
32
|
attr_accessor :current
|
@@ -12,6 +39,7 @@ module WatirSplash
|
|
12
39
|
|
13
40
|
def prepare browser
|
14
41
|
self.current = browser
|
42
|
+
browser.add_checker JAVASCRIPT_ERRORS_CHECKER
|
15
43
|
browser
|
16
44
|
end
|
17
45
|
|
@@ -2,13 +2,6 @@ WatirSplash::Frameworks::Helper.load_gems "watir", "win32/screenshot"
|
|
2
2
|
require "watirsplash/mini_magick_patch"
|
3
3
|
require "watir/ie"
|
4
4
|
|
5
|
-
module Watir
|
6
|
-
module PageCheckers
|
7
|
-
# raises an error if javascript error was found
|
8
|
-
JAVASCRIPT_ERRORS_CHECKER = lambda {|ie| raise "Expected no JavaScript errors to appear on page, but having some!" if ie.status =~ /Error on page/}
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
5
|
# patches for Watir
|
13
6
|
module Watir
|
14
7
|
class IE #:nodoc:all
|
@@ -17,8 +10,6 @@ module Watir
|
|
17
10
|
def initialize suppress_new_window=nil
|
18
11
|
_initialize suppress_new_window
|
19
12
|
self.speed = :fast
|
20
|
-
@error_checkers ||= []
|
21
|
-
add_checker Watir::PageCheckers::JAVASCRIPT_ERRORS_CHECKER
|
22
13
|
end
|
23
14
|
|
24
15
|
def save_screenshot(params)
|
data/lib/watirsplash/version.rb
CHANGED
data/spec/browser_spec.rb
CHANGED
@@ -16,6 +16,21 @@ describe WatirSplash::Browser do
|
|
16
16
|
browser.should == WatirSplash::Browser.current
|
17
17
|
end
|
18
18
|
|
19
|
+
it "detects JavaScript errors" do
|
20
|
+
browser = WatirSplash::Browser.new
|
21
|
+
browser.goto "http://dl.dropbox.com/u/2731643/WatirSplash/test.html"
|
22
|
+
browser.execute_script("window.originalOnErrorExecuted").should_not be_true
|
23
|
+
|
24
|
+
expect {
|
25
|
+
browser.link(:id => "errorLink").click
|
26
|
+
}.to raise_error(WatirSplash::JavaScriptError, /JavaScript error:.*unexistingVar/)
|
27
|
+
browser.execute_script("window.originalOnErrorExecuted").should be_true
|
28
|
+
|
29
|
+
expect {
|
30
|
+
browser.link(:id => "toggle").click
|
31
|
+
}.not_to raise_error
|
32
|
+
end
|
33
|
+
|
19
34
|
after :each do
|
20
35
|
WatirSplash::Browser.current.close
|
21
36
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: watirsplash
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 3
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 2
|
8
|
-
-
|
8
|
+
- 3
|
9
9
|
- 0
|
10
|
-
version: 2.
|
10
|
+
version: 2.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jarmo Pertman
|
@@ -173,7 +173,7 @@ rubyforge_project:
|
|
173
173
|
rubygems_version: 1.8.4
|
174
174
|
signing_key:
|
175
175
|
specification_version: 3
|
176
|
-
summary: watirsplash 2.
|
176
|
+
summary: watirsplash 2.3.0
|
177
177
|
test_files:
|
178
178
|
- spec/browser_spec.rb
|
179
179
|
- spec/page_spec.rb
|