acceptance_test 1.1.3 → 1.1.4
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 +8 -8
- data/CHANGES +5 -1
- data/lib/acceptance_test/acceptance_test.rb +12 -25
- data/lib/acceptance_test/screenshot_maker.rb +30 -0
- data/lib/acceptance_test/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NmE1MDc5ZWE4ZTg1OGE1M2E5ODM5NzRlNWRlZGZlMmY5YTAzZjQ2ZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MWY5NWVmNzAwYWViNjExZmVjNWYxNmY5ODU4OWI1Nzc2MTk2Y2NkNg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YjUxNWYwYzNhNmI5MTJkMTc2MGZlZWE1MjdmYTQzNGMxODZlY2JhZTMyZjYy
|
10
|
+
ZDJkOWQ0YmM2NzQwMDVkYjA0YWRhY2Q1ZmYzNzQxMTI4ZjFiMjBmODdkNjFi
|
11
|
+
YWNjMjMyMzRkMTY0OWVmNjMyMzY3ZjVhYzI0ZDBiMGJhNTlkNDY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MGQ4ZDNiZWZhMWIwN2NiMjBkNWJmMmZmMmNmNDUyZmRiYTVhNDk5N2JjMjk1
|
14
|
+
OWExYTIyYjZlMDZjYzQzMDVlNDRiMDViNzA3MDZkYmI1MTJlOTJjYjQxODE4
|
15
|
+
NGVkMDI5NTFiOTQ5NzUyNjlhMzgwMWFjYTIxMWJkYTNjZTUxZTY=
|
data/CHANGES
CHANGED
@@ -7,10 +7,11 @@ require 'active_support/hash_with_indifferent_access'
|
|
7
7
|
require 'acceptance_test/acceptance_test_helper'
|
8
8
|
|
9
9
|
class AcceptanceTest
|
10
|
-
attr_accessor :app_host
|
10
|
+
attr_accessor :app_host, :project_root, :screenshot_dir
|
11
11
|
|
12
|
-
def initialize project_root
|
12
|
+
def initialize project_root, screenshot_dir
|
13
13
|
@project_root = File.expand_path(project_root.to_s)
|
14
|
+
@screenshot_dir = File.expand_path(screenshot_dir.to_s)
|
14
15
|
|
15
16
|
@app_host = default_app_host
|
16
17
|
|
@@ -39,12 +40,17 @@ class AcceptanceTest
|
|
39
40
|
setup_app_host app_host
|
40
41
|
end
|
41
42
|
|
42
|
-
def after page,
|
43
|
-
if
|
43
|
+
def after page, exception=nil, metadata={}
|
44
|
+
if exception
|
44
45
|
driver = driver(metadata)
|
45
46
|
|
46
47
|
if driver and not [:webkit].include? driver
|
47
|
-
|
48
|
+
screenshot_maker = ScreenshotMaker.new screenshot_dir
|
49
|
+
|
50
|
+
screenshot_maker.make page, metadata
|
51
|
+
|
52
|
+
puts metadata[:full_description]
|
53
|
+
puts "Screenshot: #{screenshot_maker.screenshot_url(metadata)}"
|
48
54
|
end
|
49
55
|
end
|
50
56
|
|
@@ -79,7 +85,7 @@ class AcceptanceTest
|
|
79
85
|
require "capybara"
|
80
86
|
require "capybara/dsl"
|
81
87
|
|
82
|
-
# try to load capybara
|
88
|
+
# try to load capybara-related rspec library
|
83
89
|
begin
|
84
90
|
require 'capybara/rspec'
|
85
91
|
rescue
|
@@ -209,25 +215,6 @@ class AcceptanceTest
|
|
209
215
|
"#{uri.scheme}://#{uri.host}:#{uri.port}"
|
210
216
|
end
|
211
217
|
|
212
|
-
def save_screenshot example, page
|
213
|
-
file_path = example.metadata[:file_path]
|
214
|
-
line_number = example.metadata[:line_number]
|
215
|
-
full_description = example.metadata[:full_description]
|
216
|
-
|
217
|
-
filename = File.basename(file_path)
|
218
|
-
|
219
|
-
screenshot_name = "screenshot-#{filename}-#{line_number}.png"
|
220
|
-
screenshot_path = "#{@project_root}/tmp/#{screenshot_name}"
|
221
|
-
|
222
|
-
page.save_screenshot(screenshot_path)
|
223
|
-
|
224
|
-
project_url = ENV['BUILD_URL'].nil? ? "file:///#{@project_root}" : "#{ENV['BUILD_URL']}../ws"
|
225
|
-
|
226
|
-
screenshot_url = "#{project_url}/tmp/#{screenshot_name}"
|
227
|
-
|
228
|
-
puts full_description + "\n Screenshot: #{screenshot_url}"
|
229
|
-
end
|
230
|
-
|
231
218
|
def acceptance_config_exist?
|
232
219
|
not @acceptance_config.nil? and @acceptance_config.size > 0
|
233
220
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
class ScreenshotMaker
|
2
|
+
attr_reader :basedir
|
3
|
+
|
4
|
+
def initialize basedir
|
5
|
+
@basedir = basedir
|
6
|
+
end
|
7
|
+
|
8
|
+
def make page, options
|
9
|
+
page.save_screenshot(screenshot_path(options))
|
10
|
+
end
|
11
|
+
|
12
|
+
def screenshot_path options
|
13
|
+
"#{basedir}/#{screenshot_name(options)}"
|
14
|
+
end
|
15
|
+
|
16
|
+
def screenshot_name options
|
17
|
+
filename = File.basename(options[:file_path])
|
18
|
+
line_number = options[:line_number]
|
19
|
+
|
20
|
+
name = "screenshot-#{filename}"
|
21
|
+
name += "-#{line_number}" if line_number
|
22
|
+
|
23
|
+
"#{name}.png"
|
24
|
+
end
|
25
|
+
|
26
|
+
def screenshot_url options
|
27
|
+
"file:///#{screenshot_path(options)}"
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acceptance_test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Shvets
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gemspec_deps_gen
|
@@ -67,6 +67,7 @@ files:
|
|
67
67
|
- lib/acceptance_test/acceptance_shared_context.rb
|
68
68
|
- lib/acceptance_test/acceptance_test.rb
|
69
69
|
- lib/acceptance_test/acceptance_test_helper.rb
|
70
|
+
- lib/acceptance_test/screenshot_maker.rb
|
70
71
|
- lib/acceptance_test/version.rb
|
71
72
|
- spec/features/features_spec_helper.rb
|
72
73
|
- spec/features/google_search_spec.rb
|