howitzer 0.0.1 → 0.0.3
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.
- 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
|
+
[](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
|