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 +26 -36
- data/History.md +20 -0
- data/README.md +37 -8
- data/generators/config/templates/default.yml +4 -0
- data/howitzer.gemspec +0 -4
- data/lib/howitzer/helpers.rb +9 -0
- data/lib/howitzer/utils/capybara_settings.rb +3 -0
- data/lib/howitzer/version.rb +1 -1
- data/spec/howitzer/version_spec.rb +8 -0
- data/spec/spec_helper.rb +1 -0
- metadata +9 -52
data/Gemfile.lock
CHANGED
@@ -1,9 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
howitzer (0.0.
|
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
|
-
|
25
|
-
|
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.
|
35
|
-
capybara (1.1.
|
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.
|
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.
|
54
|
-
gherkin (2.11.
|
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.
|
62
|
-
|
51
|
+
libwebsocket (0.1.6.1)
|
52
|
+
websocket
|
63
53
|
log4r (1.1.10)
|
64
|
-
mail (2.
|
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.
|
59
|
+
multi_json (1.2.0)
|
70
60
|
nokogiri (1.5.5)
|
71
|
-
poltergeist (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.
|
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.
|
86
|
-
rspec-core (~> 2.
|
87
|
-
rspec-expectations (~> 2.
|
88
|
-
rspec-mocks (~> 2.
|
89
|
-
rspec-core (2.
|
90
|
-
rspec-expectations (2.
|
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.
|
93
|
-
rubigen (1.5.
|
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.
|
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.
|
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
|
-
|
3
|
+
[![Dependency Status](https://gemnasium.com/romikoops/howitzer.png)](https://gemnasium.com/romikoops/howitzer)
|
4
4
|
|
5
|
-
|
6
|
-
Install it yourself as:
|
5
|
+
Howitzer is Ruby based framework for acceptance testing.
|
7
6
|
|
8
|
-
|
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
|
-
##
|
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
|
-
|
26
|
+
## Usage
|
27
|
+
To deploy the framework, type:
|
13
28
|
|
14
|
-
|
29
|
+
```bash
|
30
|
+
mkdir test_automation
|
31
|
+
cd test_automation
|
32
|
+
howitzer install --cucumber
|
33
|
+
```
|
15
34
|
|
16
|
-
|
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
|
|
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
|
data/lib/howitzer/helpers.rb
CHANGED
@@ -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,
|
data/lib/howitzer/version.rb
CHANGED
data/spec/spec_helper.rb
ADDED
@@ -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.
|
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-
|
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:
|
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
|