webdrone 0.8.4 → 0.9.0
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 +4 -4
- data/lib/webdrone/browser.rb +2 -1
- data/lib/webdrone/conf.rb +9 -1
- data/lib/webdrone/ctxt.rb +18 -1
- data/lib/webdrone/error.rb +13 -11
- data/lib/webdrone/open.rb +6 -0
- data/lib/webdrone/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 61c793edbf7d6662b79f4f592da8880a52cbdfa1
|
|
4
|
+
data.tar.gz: 4d4741dd41ae4fcbba0d78e925f86611e687831b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0e3ae4aae152bcb9964330b789ad386c5a6034db4eca402f7ed777988818e270034c0146409c3f6265cf1ad709bee58806c8267fc442c65717f67ef55db47c4a
|
|
7
|
+
data.tar.gz: 93f3359c20cd90e8b5c16dfb45318ae0f5e434b1554af73d6335e94d53b54e2b8cd3e4b033fe12859e6a39c8853d35189cf369ab19734ebfd64218e8d517b8ac
|
data/lib/webdrone/browser.rb
CHANGED
|
@@ -25,7 +25,7 @@ module Webdrone
|
|
|
25
25
|
@@chrome_prefs
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
def initialize(browser: 'chrome', create_outdir: true, outdir: nil, timeout:, maximize: true, chrome_prefs: nil, firefox_profile: nil)
|
|
28
|
+
def initialize(browser: 'chrome', create_outdir: true, outdir: nil, timeout:, maximize: true, error: :raise_report, chrome_prefs: nil, firefox_profile: nil)
|
|
29
29
|
if create_outdir or outdir
|
|
30
30
|
outdir ||= File.join("webdrone_output", Time.new.strftime('%Y%m%d_%H%M%S'))
|
|
31
31
|
self.conf.outdir = outdir
|
|
@@ -49,6 +49,7 @@ module Webdrone
|
|
|
49
49
|
else
|
|
50
50
|
@driver = Selenium::WebDriver.for browser.to_sym
|
|
51
51
|
end
|
|
52
|
+
self.conf.error = error
|
|
52
53
|
self.conf.timeout = timeout if timeout
|
|
53
54
|
self.maximize if maximize
|
|
54
55
|
end
|
data/lib/webdrone/conf.rb
CHANGED
|
@@ -6,11 +6,12 @@ module Webdrone
|
|
|
6
6
|
end
|
|
7
7
|
|
|
8
8
|
class Conf
|
|
9
|
-
attr_accessor :a0, :timeout, :outdir
|
|
9
|
+
attr_accessor :a0, :timeout, :outdir, :error
|
|
10
10
|
|
|
11
11
|
def initialize(a0)
|
|
12
12
|
@a0 = a0
|
|
13
13
|
@outdir = "."
|
|
14
|
+
@error = :raise_report
|
|
14
15
|
end
|
|
15
16
|
|
|
16
17
|
def timeout=(val)
|
|
@@ -26,5 +27,12 @@ module Webdrone
|
|
|
26
27
|
rescue => exception
|
|
27
28
|
Webdrone.report_error(@a0, exception, Kernel.caller_locations)
|
|
28
29
|
end
|
|
30
|
+
|
|
31
|
+
def error=(val)
|
|
32
|
+
raise "Invalid value '#{val}' for error" if not [:raise_report, :raise, :ignore].include? val
|
|
33
|
+
@error = val
|
|
34
|
+
rescue => exception
|
|
35
|
+
Webdrone.report_error(@a0, exception, Kernel.caller_locations)
|
|
36
|
+
end
|
|
29
37
|
end
|
|
30
38
|
end
|
data/lib/webdrone/ctxt.rb
CHANGED
|
@@ -46,7 +46,7 @@ module Webdrone
|
|
|
46
46
|
|
|
47
47
|
def reset
|
|
48
48
|
@a0.driver.switch_to.default_content
|
|
49
|
-
@
|
|
49
|
+
@framestack = []
|
|
50
50
|
rescue => exception
|
|
51
51
|
Webdrone.report_error(@a0, exception, Kernel.caller_locations)
|
|
52
52
|
end
|
|
@@ -64,5 +64,22 @@ module Webdrone
|
|
|
64
64
|
rescue => exception
|
|
65
65
|
Webdrone.report_error(@a0, exception, Kernel.caller_locations)
|
|
66
66
|
end
|
|
67
|
+
|
|
68
|
+
def with_conf(new_config)
|
|
69
|
+
current_config = {}
|
|
70
|
+
|
|
71
|
+
new_config.each do |k, v|
|
|
72
|
+
current_config[k] = @a0.conf.send k
|
|
73
|
+
@a0.conf.send "#{k}=", v
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
yield
|
|
77
|
+
rescue => exception
|
|
78
|
+
Webdrone.report_error(@a0, exception, Kernel.caller_locations)
|
|
79
|
+
ensure
|
|
80
|
+
current_config.each do |k, v|
|
|
81
|
+
@a0.conf.send "#{k}=", v
|
|
82
|
+
end
|
|
83
|
+
end
|
|
67
84
|
end
|
|
68
85
|
end
|
data/lib/webdrone/error.rb
CHANGED
|
@@ -10,17 +10,14 @@ module Webdrone
|
|
|
10
10
|
|
|
11
11
|
begin
|
|
12
12
|
# find location of user error
|
|
13
|
-
@caller_locations[
|
|
14
|
-
if
|
|
13
|
+
@caller_locations[0..-1].each do |location|
|
|
14
|
+
if Gem.path.none? { |path| location.path.include? path }
|
|
15
15
|
@location = location
|
|
16
16
|
break
|
|
17
17
|
end
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
report_screenshot
|
|
22
|
-
report_exception
|
|
23
|
-
report_time
|
|
20
|
+
report if a0.conf.error == :raise_report
|
|
24
21
|
rescue
|
|
25
22
|
end
|
|
26
23
|
end
|
|
@@ -47,6 +44,13 @@ module Webdrone
|
|
|
47
44
|
@buffer = []
|
|
48
45
|
end
|
|
49
46
|
|
|
47
|
+
def report
|
|
48
|
+
report_script
|
|
49
|
+
report_screenshot
|
|
50
|
+
report_exception
|
|
51
|
+
report_time
|
|
52
|
+
end
|
|
53
|
+
|
|
50
54
|
def report_script
|
|
51
55
|
begin
|
|
52
56
|
ini, fin = [@location.lineno - 10 - 1, @location.lineno + 10 - 1]
|
|
@@ -104,10 +108,8 @@ module Webdrone
|
|
|
104
108
|
end
|
|
105
109
|
|
|
106
110
|
def self.report_error(a0, exception, caller_locations)
|
|
107
|
-
if exception.class
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
raise WebdroneError.new(exception.message, exception, a0, caller_locations)
|
|
111
|
+
exception = WebdroneError.new(exception.message, exception, a0, caller_locations) if exception.class != WebdroneError
|
|
112
|
+
|
|
113
|
+
raise exception if a0.conf.error == :raise or a0.conf.error == :raise_report
|
|
112
114
|
end
|
|
113
115
|
end
|
data/lib/webdrone/open.rb
CHANGED
|
@@ -17,5 +17,11 @@ module Webdrone
|
|
|
17
17
|
rescue => exception
|
|
18
18
|
Webdrone.report_error(@a0, exception, Kernel.caller_locations)
|
|
19
19
|
end
|
|
20
|
+
|
|
21
|
+
def reload
|
|
22
|
+
@a0.driver.navigate.refresh
|
|
23
|
+
rescue => exception
|
|
24
|
+
Webdrone.report_error(@a0, exception, Kernel.caller_locations)
|
|
25
|
+
end
|
|
20
26
|
end
|
|
21
27
|
end
|
data/lib/webdrone/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: webdrone
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Aldrin Martoq
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-03-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|