howitzer 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,9 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- howitzer (0.0.1)
5
- activeresource (= 3.2.8)
6
- capybara
4
+ howitzer (0.0.3)
7
5
  cucumber
8
6
  i18n
9
7
  launchy
@@ -15,31 +13,23 @@ PATH
15
13
  rest-client
16
14
  rspec (~> 2.0)
17
15
  rubigen
18
- selenium-webdriver
19
16
  sexy_settings
20
17
 
21
18
  GEM
22
19
  remote: https://rubygems.org/
23
20
  specs:
24
- activemodel (3.2.8)
25
- activesupport (= 3.2.8)
26
- builder (~> 3.0.0)
27
- activeresource (3.2.8)
28
- activemodel (= 3.2.8)
29
- activesupport (= 3.2.8)
30
- activesupport (3.2.8)
31
- i18n (~> 0.6)
32
- multi_json (~> 1.0)
21
+ activesupport (3.1.8)
22
+ multi_json (>= 1.0, < 1.3)
33
23
  addressable (2.3.2)
34
- builder (3.0.3)
35
- capybara (1.1.2)
24
+ builder (3.1.3)
25
+ capybara (1.1.3)
36
26
  mime-types (>= 1.16)
37
27
  nokogiri (>= 1.3.3)
38
28
  rack (>= 1.0.0)
39
29
  rack-test (>= 0.5.4)
40
30
  selenium-webdriver (~> 2.0)
41
31
  xpath (~> 0.1.4)
42
- childprocess (0.3.5)
32
+ childprocess (0.3.6)
43
33
  ffi (~> 1.0, >= 1.0.6)
44
34
  cucumber (1.2.1)
45
35
  builder (>= 2.1.2)
@@ -50,25 +40,25 @@ GEM
50
40
  eventmachine (1.0.0)
51
41
  faye-websocket (0.4.6)
52
42
  eventmachine (>= 0.12.0)
53
- ffi (1.1.5)
54
- gherkin (2.11.2)
43
+ ffi (1.2.0)
44
+ gherkin (2.11.5)
55
45
  json (>= 1.4.6)
56
46
  http_parser.rb (0.5.3)
57
47
  i18n (0.6.1)
58
48
  json (1.7.5)
59
49
  launchy (2.1.2)
60
50
  addressable (~> 2.3)
61
- libwebsocket (0.1.5)
62
- addressable
51
+ libwebsocket (0.1.6.1)
52
+ websocket
63
53
  log4r (1.1.10)
64
- mail (2.4.4)
54
+ mail (2.5.2)
65
55
  i18n (>= 0.4.0)
66
56
  mime-types (~> 1.16)
67
57
  treetop (~> 1.4.8)
68
58
  mime-types (1.19)
69
- multi_json (1.3.6)
59
+ multi_json (1.2.0)
70
60
  nokogiri (1.5.5)
71
- poltergeist (0.7.0)
61
+ poltergeist (1.0.2)
72
62
  capybara (~> 1.1)
73
63
  childprocess (~> 0.3)
74
64
  faye-websocket (~> 0.4, >= 0.4.4)
@@ -78,31 +68,31 @@ GEM
78
68
  rack (1.4.1)
79
69
  rack-test (0.6.2)
80
70
  rack (>= 1.0)
81
- rake (0.9.2.2)
71
+ rake (10.0.2)
82
72
  repeater (0.0.1)
83
73
  rest-client (1.6.7)
84
74
  mime-types (>= 1.16)
85
- rspec (2.11.0)
86
- rspec-core (~> 2.11.0)
87
- rspec-expectations (~> 2.11.0)
88
- rspec-mocks (~> 2.11.0)
89
- rspec-core (2.11.1)
90
- rspec-expectations (2.11.3)
75
+ rspec (2.12.0)
76
+ rspec-core (~> 2.12.0)
77
+ rspec-expectations (~> 2.12.0)
78
+ rspec-mocks (~> 2.12.0)
79
+ rspec-core (2.12.0)
80
+ rspec-expectations (2.12.0)
91
81
  diff-lcs (~> 1.1.3)
92
- rspec-mocks (2.11.3)
93
- rubigen (1.5.7)
94
- activesupport (>= 2.3.5)
95
- i18n
82
+ rspec-mocks (2.12.0)
83
+ rubigen (1.5.8)
84
+ activesupport (>= 2.3.5, < 3.2.0)
96
85
  rubyzip (0.9.9)
97
- selenium-webdriver (2.25.0)
86
+ selenium-webdriver (2.26.0)
98
87
  childprocess (>= 0.2.5)
99
88
  libwebsocket (~> 0.1.3)
100
89
  multi_json (~> 1.0)
101
90
  rubyzip
102
91
  sexy_settings (0.0.1)
103
- treetop (1.4.10)
92
+ treetop (1.4.12)
104
93
  polyglot
105
94
  polyglot (>= 0.3.1)
95
+ websocket (1.0.4)
106
96
  xpath (0.1.4)
107
97
  nokogiri (~> 1.3)
108
98
 
data/History.md ADDED
@@ -0,0 +1,20 @@
1
+ ## In git
2
+
3
+ ### New Features
4
+
5
+ ### Bugfixes
6
+
7
+
8
+ ## [v0.0.3](https://github.com/romikoops/howitzer/compare/v0.0.1...v0.0.3)
9
+
10
+ ### New Features
11
+
12
+ * Added supporting poltergeist driver
13
+
14
+ ### Bugfixes
15
+
16
+ * Fixed problem with dependencies
17
+
18
+ ## [v0.0.1](https://github.com/romikoops/howitzer/tree/v0.0.1)
19
+
20
+ Initial version
data/README.md CHANGED
@@ -1,19 +1,38 @@
1
1
  # Howitzer
2
2
 
3
- TODO: Write a gem description
3
+ [![Dependency Status](https://gemnasium.com/romikoops/howitzer.png)](https://gemnasium.com/romikoops/howitzer)
4
4
 
5
- ## Installation
6
- Install it yourself as:
5
+ Howitzer is Ruby based framework for acceptance testing.
7
6
 
8
- $ gem install howitzer
7
+ Initially it was developed for testing of web applications, but it is applicable to testing of web services or some API as well.
8
+ The framework uses modern patterns, techniques and tools in automated testing area. For details, please see [Test Framework Design](https://github.com/romikoops/howitzer/wiki/Test-Framework-Design).
9
9
 
10
- ## Usage
10
+ ## Key benefits
11
+ - Independent of test web application, its technologies and lanquage.
12
+ - Deploy all test infrastructure for 5 minutes.
13
+ - Flexible test framework configuration.
14
+ - Ability to choose desired BDD tool (Cucumber for now only, but RSpec is coming soon)
15
+ - Itegration with SauceLabs, Mailgun web services.
16
+ - Easy to support tests in actual state.
17
+ - Ability to execute tests against to both browserless driver and actual browsers with no changes in your tests.
18
+
19
+ ## Setup
20
+ To install, type
21
+
22
+ ```bash
23
+ sudo gem install howitzer
24
+ ```
11
25
 
12
- Write command in command line:
26
+ ## Usage
27
+ To deploy the framework, type:
13
28
 
14
- $ howitzer install --cucumber
29
+ ```bash
30
+ mkdir test_automation
31
+ cd test_automation
32
+ howitzer install --cucumber
33
+ ```
15
34
 
16
- ### This command will generate next folders and files:
35
+ This command will generate next folders and files:
17
36
  ```
18
37
  config/
19
38
  cucumber.yml
@@ -34,6 +53,16 @@ Gemfile
34
53
  Rakefile
35
54
  .gitignore
36
55
  ```
56
+ ### Configuration
57
+ Learn and specify correct default settings in `config/default.yml` file. For details, please see original [sexy_settings](https://github.com/romikoops/sexy_settings) gem.
58
+
59
+ ## Test implementation workflow
60
+
61
+ - Prepare some feature with scenarios in `features/some.feature` file.
62
+ - Implement step definitions in `features/step_definitions/common_steps.rb` file.
63
+ - Implement appropriate pages in `pages` folder. For details, see [Page Object Pattern](https://github.com/romikoops/howitzer/wiki/PageObject-pattern).
64
+ - Debug feature.
65
+ - Enjoy it!
37
66
 
38
67
  ## Contributing
39
68
 
@@ -26,6 +26,10 @@
26
26
  sel_firebug_version: 1.9.1
27
27
  sel_firepath_version: 0.9.7
28
28
 
29
+ # -PhantomJS-
30
+ # specify settings for poltergeist
31
+ poltergeist_settings: {js_errors: false}
32
+
29
33
  # -SauceLabs-
30
34
  sl_user: some_user
31
35
  sl_api_key: some_api_key
data/howitzer.gemspec CHANGED
@@ -24,13 +24,9 @@ Gem::Specification.new do |gem|
24
24
  gem.add_runtime_dependency 'rspec', '~> 2.0'
25
25
  gem.add_runtime_dependency 'sexy_settings'
26
26
  gem.add_runtime_dependency 'repeater'
27
- gem.add_runtime_dependency 'selenium-webdriver'
28
- gem.add_runtime_dependency 'capybara'
29
27
  gem.add_runtime_dependency 'launchy'
30
28
  gem.add_runtime_dependency 'log4r'
31
29
  gem.add_runtime_dependency 'mail'
32
30
  gem.add_runtime_dependency 'rest-client'
33
31
  gem.add_runtime_dependency 'poltergeist'
34
- gem.add_runtime_dependency 'activeresource', '3.2.8'
35
-
36
32
  end
@@ -25,6 +25,15 @@ def ff_browser?
25
25
  end
26
26
  end
27
27
 
28
+ def chrome_browser?
29
+ chrome_browser = :chrome
30
+ if sauce_driver?
31
+ settings.sl_browser_name.to_sym == chrome_browser
32
+ elsif
33
+ settings.sel_browser.to_sym == chrome_browser
34
+ end
35
+ end
36
+
28
37
 
29
38
  def duration(time_in_numeric)
30
39
  secs = time_in_numeric.to_i
@@ -45,6 +45,9 @@ module CapybaraSettings
45
45
  require 'capybara-webkit'
46
46
  when :poltergeist
47
47
  require 'capybara/poltergeist'
48
+ Capybara.register_driver :poltergeist do |app|
49
+ Capybara::Poltergeist::Driver.new(app, settings.poltergeist_settings)
50
+ end
48
51
  when :sauce
49
52
  caps_opts = {
50
53
  platform: settings.sl_platform,
@@ -1,3 +1,3 @@
1
1
  module Howitzer
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -0,0 +1,8 @@
1
+ require "spec_helper"
2
+
3
+ describe 'Version' do
4
+ it 'should contains VERSION constant with correct format' do
5
+ Howitzer.constants.should include(:VERSION)
6
+ Howitzer::VERSION.should match(/^\d+\.\d+\.\d+$/)
7
+ end
8
+ end
@@ -0,0 +1 @@
1
+ require 'howitzer'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: howitzer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-30 00:00:00.000000000 Z
12
+ date: 2012-11-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -123,38 +123,6 @@ dependencies:
123
123
  - - ! '>='
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: selenium-webdriver
128
- requirement: !ruby/object:Gem::Requirement
129
- none: false
130
- requirements:
131
- - - ! '>='
132
- - !ruby/object:Gem::Version
133
- version: '0'
134
- type: :runtime
135
- prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: '0'
142
- - !ruby/object:Gem::Dependency
143
- name: capybara
144
- requirement: !ruby/object:Gem::Requirement
145
- none: false
146
- requirements:
147
- - - ! '>='
148
- - !ruby/object:Gem::Version
149
- version: '0'
150
- type: :runtime
151
- prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: '0'
158
126
  - !ruby/object:Gem::Dependency
159
127
  name: launchy
160
128
  requirement: !ruby/object:Gem::Requirement
@@ -235,22 +203,6 @@ dependencies:
235
203
  - - ! '>='
236
204
  - !ruby/object:Gem::Version
237
205
  version: '0'
238
- - !ruby/object:Gem::Dependency
239
- name: activeresource
240
- requirement: !ruby/object:Gem::Requirement
241
- none: false
242
- requirements:
243
- - - '='
244
- - !ruby/object:Gem::Version
245
- version: 3.2.8
246
- type: :runtime
247
- prerelease: false
248
- version_requirements: !ruby/object:Gem::Requirement
249
- none: false
250
- requirements:
251
- - - '='
252
- - !ruby/object:Gem::Version
253
- version: 3.2.8
254
206
  description: The framework is based on Page Object pattern, Capybara and Rspec/Cucumber
255
207
  libraries
256
208
  email:
@@ -262,6 +214,7 @@ extra_rdoc_files: []
262
214
  files:
263
215
  - Gemfile
264
216
  - Gemfile.lock
217
+ - History.md
265
218
  - LICENSE
266
219
  - README.md
267
220
  - Rakefile
@@ -304,6 +257,8 @@ files:
304
257
  - lib/howitzer/utils/logger.rb
305
258
  - lib/howitzer/version.rb
306
259
  - lib/howitzer/web_page.rb
260
+ - spec/howitzer/version_spec.rb
261
+ - spec/spec_helper.rb
307
262
  homepage: https://github.com/romikoops/howitzer
308
263
  licenses: []
309
264
  post_install_message:
@@ -324,11 +279,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
324
279
  version: '0'
325
280
  segments:
326
281
  - 0
327
- hash: 549866793313446351
282
+ hash: 3255020963715686887
328
283
  requirements: []
329
284
  rubyforge_project:
330
285
  rubygems_version: 1.8.24
331
286
  signing_key:
332
287
  specification_version: 3
333
288
  summary: Universal Ruby Test Framework for black box testing
334
- test_files: []
289
+ test_files:
290
+ - spec/howitzer/version_spec.rb
291
+ - spec/spec_helper.rb