browser_shooter 0.2.3 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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