browser_shooter 0.2.3 → 0.3.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.
@@ -0,0 +1,51 @@
1
+ require_relative "test_helper"
2
+
3
+ class LoggerTest < Test::Unit::TestCase
4
+ def test_verbose
5
+ BrowserShooter::Logger.verbose = true
6
+ assert_equal( true, BrowserShooter::Logger.verbose )
7
+
8
+ BrowserShooter::Logger.verbose = false
9
+ assert_equal( false, BrowserShooter::Logger.verbose )
10
+ end
11
+
12
+ def test_log_when_verbose
13
+ BrowserShooter::Logger.unstub( :log )
14
+ Kernel.expects( :puts )
15
+
16
+ BrowserShooter::Logger.verbose = true
17
+ BrowserShooter::Logger.log( "message" )
18
+ end
19
+
20
+ def test_log_when_no_verbose
21
+ BrowserShooter::Logger.unstub( :log )
22
+ Kernel.expects( :puts ).never
23
+
24
+ BrowserShooter::Logger.verbose = false
25
+ BrowserShooter::Logger.log( "message" )
26
+ end
27
+
28
+ def test_command_result_when_true
29
+ command_result = { :success => true }
30
+ Kernel.expects( :print ).with( "." )
31
+ BrowserShooter::Logger.command_result( command_result )
32
+ end
33
+
34
+ def test_command_result_when_false
35
+ command_result = { :success => false }
36
+ Kernel.expects( :print ).with( "F" )
37
+ BrowserShooter::Logger.command_result( command_result )
38
+ end
39
+
40
+ def test_test_result_when_true
41
+ test_result = [{ :success => true }]
42
+ Kernel.expects( :puts ).with( " (success)" )
43
+ BrowserShooter::Logger.test_result( test_result )
44
+ end
45
+
46
+ def test_test_result_when_false
47
+ test_result = [{ :success => false }]
48
+ Kernel.expects( :puts ).with( " (fail)" )
49
+ BrowserShooter::Logger.test_result( test_result )
50
+ end
51
+ end
@@ -0,0 +1,10 @@
1
+ require_relative "../test_helper"
2
+
3
+ class BrowserTest < Test::Unit::TestCase
4
+ def test_initialize
5
+ browser = BrowserShooter::Models::Browser.new( "name", "url", "type")
6
+ assert_equal( "name", browser.name )
7
+ assert_equal( "url", browser.url )
8
+ assert_equal( "type", browser.type )
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require_relative "../test_helper"
2
+
3
+ class SuiteTest < Test::Unit::TestCase
4
+ def test_initialize
5
+ suite = BrowserShooter::Models::Suite.new( "name", "tests", "browsers" )
6
+ assert_equal( "name", suite.name )
7
+ assert_equal( "tests", suite.tests )
8
+ assert_equal( "browsers", suite.browsers )
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ require_relative "../test_helper"
2
+
3
+ class TestTest < Test::Unit::TestCase
4
+ def test_initialize
5
+ test = BrowserShooter::Models::Test.new( "name", "commands" )
6
+ assert_equal( "name", test.name )
7
+ assert_equal( "commands", test.commands )
8
+ end
9
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: browser_shooter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-21 00:00:00.000000000Z
12
+ date: 2012-03-20 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- requirement: &70198251398260 !ruby/object:Gem::Requirement
16
+ requirement: &70234217808280 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.0.0.rc.6
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70198251398260
24
+ version_requirements: *70234217808280
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70198251397760 !ruby/object:Gem::Requirement
27
+ requirement: &70234217807780 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - =
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.9.2.2
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70198251397760
35
+ version_requirements: *70234217807780
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: mocha
38
- requirement: &70198251397380 !ruby/object:Gem::Requirement
38
+ requirement: &70234217807400 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70198251397380
46
+ version_requirements: *70234217807400
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: selenium-webdriver
49
- requirement: &70198251396920 !ruby/object:Gem::Requirement
49
+ requirement: &70234217837900 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70198251396920
57
+ version_requirements: *70234217837900
58
58
  - !ruby/object:Gem::Dependency
59
- name: selenium
60
- requirement: &70198251396500 !ruby/object:Gem::Requirement
59
+ name: mixlib-cli
60
+ requirement: &70234217837480 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,18 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70198251396500
69
- - !ruby/object:Gem::Dependency
70
- name: selenium-client
71
- requirement: &70198251396080 !ruby/object:Gem::Requirement
72
- none: false
73
- requirements:
74
- - - ! '>='
75
- - !ruby/object:Gem::Version
76
- version: '0'
77
- type: :runtime
78
- prerelease: false
79
- version_requirements: *70198251396080
68
+ version_requirements: *70234217837480
80
69
  description: Selenium RC wraper to create browser screenshots
81
70
  email:
82
71
  - fguillen.mail@gmail.com
@@ -93,26 +82,33 @@ files:
93
82
  - Rakefile
94
83
  - bin/browser_shooter
95
84
  - browser_shoter.gemspec
85
+ - examples/config0.yml
96
86
  - examples/config1.yml
97
87
  - examples/config2.yml
98
88
  - lib/browser_shooter.rb
89
+ - lib/browser_shooter/argv_parser.rb
90
+ - lib/browser_shooter/base.rb
99
91
  - lib/browser_shooter/commander.rb
100
92
  - lib/browser_shooter/configurator.rb
101
- - lib/browser_shooter/driver.rb
102
93
  - lib/browser_shooter/log_exporter.rb
103
94
  - lib/browser_shooter/logger.rb
95
+ - lib/browser_shooter/models/browser.rb
96
+ - lib/browser_shooter/models/suite.rb
97
+ - lib/browser_shooter/models/test.rb
104
98
  - lib/browser_shooter/version.rb
105
- - test/browser_shooter_test.rb
99
+ - test/argv_parser_test.rb
100
+ - test/base_test.rb
106
101
  - test/commander_test.rb
107
102
  - test/configurator_test.rb
108
- - test/driver_test.rb
109
103
  - test/fixtures/config.yml
110
104
  - test/fixtures/config_simple.yml
111
- - test/fixtures/logs/logs.json
112
- - test/fixtures/logs/script1.csv
113
- - test/fixtures/logs/script2.csv
105
+ - test/fixtures/logs/log.csv
114
106
  - test/fixtures/screenshot.base64
115
107
  - test/log_exporter_test.rb
108
+ - test/logger_test.rb
109
+ - test/models/browser_test.rb
110
+ - test/models/suite_test.rb
111
+ - test/models/test_test.rb
116
112
  - test/test_helper.rb
117
113
  homepage: https://github.com/fguillen/BrowserShooter
118
114
  licenses: []
@@ -139,15 +135,17 @@ signing_key:
139
135
  specification_version: 3
140
136
  summary: Selenium RC wraper to create browser screenshots
141
137
  test_files:
142
- - test/browser_shooter_test.rb
138
+ - test/argv_parser_test.rb
139
+ - test/base_test.rb
143
140
  - test/commander_test.rb
144
141
  - test/configurator_test.rb
145
- - test/driver_test.rb
146
142
  - test/fixtures/config.yml
147
143
  - test/fixtures/config_simple.yml
148
- - test/fixtures/logs/logs.json
149
- - test/fixtures/logs/script1.csv
150
- - test/fixtures/logs/script2.csv
144
+ - test/fixtures/logs/log.csv
151
145
  - test/fixtures/screenshot.base64
152
146
  - test/log_exporter_test.rb
147
+ - test/logger_test.rb
148
+ - test/models/browser_test.rb
149
+ - test/models/suite_test.rb
150
+ - test/models/test_test.rb
153
151
  - test/test_helper.rb
@@ -1,33 +0,0 @@
1
- class BrowserShooter
2
- module Driver
3
- def self.run_script_on_browser(script, browser, shots_path)
4
- client = nil
5
-
6
- begin
7
- BrowserShooter::Logger.log "Runing script '#{script["name"]}' in browser '#{browser["name"]}'"
8
-
9
- client =
10
- Selenium::WebDriver.for(
11
- :remote,
12
- :url => browser["url"],
13
- :desired_capabilities => browser["browser"].to_sym
14
- )
15
-
16
- logs =
17
- script["commands"].lines.map do |command|
18
- BrowserShooter::Commander.wrapper_execute(
19
- command.strip,
20
- client,
21
- "#{shots_path}/#{script["name"]}_#{browser["name"]}"
22
- )
23
- end
24
-
25
- logs
26
-
27
- ensure
28
- client.quit if client
29
-
30
- end
31
- end
32
- end
33
- end
@@ -1,23 +0,0 @@
1
- require_relative "test_helper"
2
-
3
- class BrowserScreenshotTest < Test::Unit::TestCase
4
- def test_initialize
5
- assert_equal( "filepath", BrowserShooter.new( "filepath" ).config_file_path )
6
- end
7
-
8
- def test_run
9
- config_file_path = "#{FIXTURES}/config_simple.yml"
10
- BrowserShooter::Configurator.expects( :load_config ).with( config_file_path ).returns( YAML.load_file( config_file_path ) )
11
-
12
- BrowserShooter::Driver.expects( :run_script_on_browser).with( "script-one", "browser-one", "/output_path/shots" )
13
- BrowserShooter::Driver.expects( :run_script_on_browser).with( "script-one", "browser-two", "/output_path/shots" )
14
- BrowserShooter::Driver.expects( :run_script_on_browser).with( "script-one", "browser-three", "/output_path/shots" )
15
- BrowserShooter::Driver.expects( :run_script_on_browser).with( "script-two", "browser-one", "/output_path/shots" )
16
- BrowserShooter::Driver.expects( :run_script_on_browser).with( "script-two", "browser-two", "/output_path/shots" )
17
- BrowserShooter::Driver.expects( :run_script_on_browser).with( "script-two", "browser-three", "/output_path/shots" )
18
-
19
- BrowserShooter::LogExporter.expects( :export_to_csv )
20
-
21
- BrowserShooter.new( config_file_path ).run
22
- end
23
- end
data/test/driver_test.rb DELETED
@@ -1,34 +0,0 @@
1
- require_relative "test_helper"
2
-
3
- class DriverTest < Test::Unit::TestCase
4
-
5
- def test_run_script_on_browser
6
- browser = {
7
- "name" => "browser-name",
8
- "url" => "url",
9
- "browser" => "browser-browser"
10
- }
11
-
12
- script = {
13
- "name" => "script-name",
14
- "url" => "script-url",
15
- "commands" => "one\ntwo\nthree"
16
- }
17
-
18
- expected_opts = {
19
- :url => "url",
20
- :desired_capabilities => "browser-browser".to_sym
21
- }
22
-
23
- client = mock()
24
- client.expects( :quit )
25
-
26
- Selenium::WebDriver.expects( :for ).with( :remote, expected_opts ).returns( client )
27
-
28
- BrowserShooter::Commander.expects( :execute ).with( "one", client, "shoots-path/script-name_browser-name")
29
- BrowserShooter::Commander.expects( :execute ).with( "two", client, "shoots-path/script-name_browser-name")
30
- BrowserShooter::Commander.expects( :execute ).with( "three", client, "shoots-path/script-name_browser-name")
31
-
32
- BrowserShooter::Driver.run_script_on_browser(script, browser, "shoots-path")
33
- end
34
- end
@@ -1,24 +0,0 @@
1
- {
2
- "script1": [
3
- {
4
- "time": "the time 1",
5
- "success": true,
6
- "command": "the command 1",
7
- "message": "the message 1"
8
- },
9
- {
10
- "time": "the time 2",
11
- "success": false,
12
- "command": "the command 2",
13
- "message": "the message 2"
14
- }
15
- ],
16
- "script2": [
17
- {
18
- "time": "the time 3",
19
- "success": true,
20
- "command": "the command 3",
21
- "message": "the message 3"
22
- }
23
- ]
24
- }
@@ -1,2 +0,0 @@
1
- time | success | command | message
2
- the time 3 | true | the command 3 | the message 3