bddfire 2.0.4 → 2.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 950fbe5285e3fdc75a409fe698e6b9db4c707060
4
- data.tar.gz: 5b0940e3ed1de52b5a7db9e24c1705ad20dd9ce2
3
+ metadata.gz: 28795caaa4b6cb09f488ab7f19563ec04655965b
4
+ data.tar.gz: 3ec92026af9864cadc98c7bb874fe0839c4e4cc7
5
5
  SHA512:
6
- metadata.gz: c5488fe86536da67b6605fa29cbce5ce7364e93afd33081095137ce0c6379732ca5cc731ecfc03f26710686cf6d193b7b76ff7b628a16ced299460da8a770bbb
7
- data.tar.gz: 76fdaff5b194422d6f354603c44729380b2399107bb633aba69ee5877a3cc85d9fcb8ee37e66c674c5b5425ec63d7ec90d73c69171559309c4313ff9455bc5fa
6
+ metadata.gz: eaa510e053292ee65cff179b481213c7d2d2a1b6845a498747d58d4abfd9c4562c7dabfa4cf039a19a32343ccd9e65bd60bb912d4d4bbc42316142fa0d41a304
7
+ data.tar.gz: ff0f88c1a900076624386aa6164562027912e437169630afd50791fc5544e8e56a290459bf28cac4fb7ec9fbfb9ac9587454236f216e67c522fa7f80b464c60b
data/.gitignore CHANGED
@@ -4,5 +4,7 @@ doc/*
4
4
  *.gem
5
5
  .bundle
6
6
  .yardoc
7
+ *.DS_Store
8
+ .DS_Store
7
9
 
8
10
 
data/.travis.yml ADDED
@@ -0,0 +1,13 @@
1
+ language: ruby
2
+ cache: bundler
3
+
4
+ rvm:
5
+ - 2.3.0
6
+
7
+ before_script: 'bundle install'
8
+ script: 'bundle exec cucumber'
9
+
10
+ branches:
11
+ only:
12
+ - master
13
+ - develop
data/Gemfile.lock ADDED
@@ -0,0 +1,205 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ bddfire (2.0.5)
5
+ axe-matchers
6
+ be_valid_asset
7
+ bundler
8
+ capybara
9
+ chromedriver-helper
10
+ cucumber
11
+ cuke_sniffer
12
+ json
13
+ magic_encoding
14
+ nokogiri
15
+ poltergeist
16
+ rake
17
+ redcarpet
18
+ relish
19
+ require_all (~> 1.3.1, >= 1.3.0)
20
+ rest-client
21
+ rspec
22
+ rubocop
23
+ rubocop-checkstyle_formatter
24
+ selenium-webdriver
25
+ site_prism
26
+ yard-cucumber
27
+
28
+ GEM
29
+ remote: http://rubygems.org/
30
+ specs:
31
+ activesupport (5.0.1)
32
+ concurrent-ruby (~> 1.0, >= 1.0.2)
33
+ i18n (~> 0.7)
34
+ minitest (~> 5.1)
35
+ tzinfo (~> 1.1)
36
+ addressable (2.5.0)
37
+ public_suffix (~> 2.0, >= 2.0.2)
38
+ archive-tar-minitar (0.5.2)
39
+ archive-zip (0.7.0)
40
+ io-like (~> 0.3.0)
41
+ aruba (0.14.2)
42
+ childprocess (~> 0.5.6)
43
+ contracts (~> 0.9)
44
+ cucumber (>= 1.3.19)
45
+ ffi (~> 1.9.10)
46
+ rspec-expectations (>= 2.99)
47
+ thor (~> 0.19)
48
+ ast (2.3.0)
49
+ axe-matchers (1.3.2)
50
+ dumb_delegator (~> 0.8)
51
+ virtus (~> 1.0)
52
+ axiom-types (0.1.1)
53
+ descendants_tracker (~> 0.0.4)
54
+ ice_nine (~> 0.11.0)
55
+ thread_safe (~> 0.3, >= 0.3.1)
56
+ be_valid_asset (1.3.1)
57
+ rspec
58
+ builder (3.2.2)
59
+ capybara (2.11.0)
60
+ addressable
61
+ mime-types (>= 1.16)
62
+ nokogiri (>= 1.3.3)
63
+ rack (>= 1.0.0)
64
+ rack-test (>= 0.5.4)
65
+ xpath (~> 2.0)
66
+ childprocess (0.5.9)
67
+ ffi (~> 1.0, >= 1.0.11)
68
+ chromedriver-helper (1.0.0)
69
+ archive-zip (~> 0.7.0)
70
+ nokogiri (~> 1.6)
71
+ cliver (0.3.2)
72
+ coercible (1.0.0)
73
+ descendants_tracker (~> 0.0.1)
74
+ concurrent-ruby (1.0.4)
75
+ contracts (0.14.0)
76
+ cucumber (2.4.0)
77
+ builder (>= 2.1.2)
78
+ cucumber-core (~> 1.5.0)
79
+ cucumber-wire (~> 0.0.1)
80
+ diff-lcs (>= 1.1.3)
81
+ gherkin (~> 4.0)
82
+ multi_json (>= 1.7.5, < 2.0)
83
+ multi_test (>= 0.1.2)
84
+ cucumber-core (1.5.0)
85
+ gherkin (~> 4.0)
86
+ cucumber-wire (0.0.1)
87
+ cuke_sniffer (1.0.1)
88
+ nokogiri (~> 1.6, >= 1.6.8)
89
+ roxml (~> 3.3, >= 3.3.1)
90
+ descendants_tracker (0.0.4)
91
+ thread_safe (~> 0.3, >= 0.3.1)
92
+ diff-lcs (1.2.5)
93
+ domain_name (0.5.20161129)
94
+ unf (>= 0.0.5, < 1.0.0)
95
+ dumb_delegator (0.8.0)
96
+ equalizer (0.0.11)
97
+ ffi (1.9.14)
98
+ gherkin (4.0.0)
99
+ http-cookie (1.0.3)
100
+ domain_name (~> 0.5)
101
+ i18n (0.7.0)
102
+ ice_nine (0.11.2)
103
+ io-like (0.3.0)
104
+ json (2.0.2)
105
+ magic_encoding (0.0.2)
106
+ mime-types (3.1)
107
+ mime-types-data (~> 3.2015)
108
+ mime-types-data (3.2016.0521)
109
+ mini_portile2 (2.1.0)
110
+ minitest (5.10.1)
111
+ multi_json (1.12.1)
112
+ multi_test (0.1.2)
113
+ netrc (0.11.0)
114
+ nokogiri (1.7.0.1)
115
+ mini_portile2 (~> 2.1.0)
116
+ parser (2.3.3.1)
117
+ ast (~> 2.2)
118
+ poltergeist (1.12.0)
119
+ capybara (~> 2.1)
120
+ cliver (~> 0.3.1)
121
+ websocket-driver (>= 0.2.0)
122
+ powerpack (0.1.1)
123
+ public_suffix (2.0.5)
124
+ rack (2.0.1)
125
+ rack-test (0.6.3)
126
+ rack (>= 1.0)
127
+ rainbow (2.2.1)
128
+ rake (12.0.0)
129
+ redcarpet (3.4.0)
130
+ relish (0.7.1)
131
+ archive-tar-minitar (>= 0.5.2)
132
+ json (>= 1.4.6)
133
+ rest-client (>= 1.7.2)
134
+ require_all (1.3.3)
135
+ rest-client (2.0.0)
136
+ http-cookie (>= 1.0.2, < 2.0)
137
+ mime-types (>= 1.16, < 4.0)
138
+ netrc (~> 0.8)
139
+ roxml (3.3.1)
140
+ activesupport (>= 2.3.0)
141
+ nokogiri (>= 1.3.3)
142
+ rspec (3.5.0)
143
+ rspec-core (~> 3.5.0)
144
+ rspec-expectations (~> 3.5.0)
145
+ rspec-mocks (~> 3.5.0)
146
+ rspec-core (3.5.4)
147
+ rspec-support (~> 3.5.0)
148
+ rspec-expectations (3.5.0)
149
+ diff-lcs (>= 1.2.0, < 2.0)
150
+ rspec-support (~> 3.5.0)
151
+ rspec-mocks (3.5.0)
152
+ diff-lcs (>= 1.2.0, < 2.0)
153
+ rspec-support (~> 3.5.0)
154
+ rspec-support (3.5.0)
155
+ rubocop (0.46.0)
156
+ parser (>= 2.3.1.1, < 3.0)
157
+ powerpack (~> 0.1)
158
+ rainbow (>= 1.99.1, < 3.0)
159
+ ruby-progressbar (~> 1.7)
160
+ unicode-display_width (~> 1.0, >= 1.0.1)
161
+ rubocop-checkstyle_formatter (0.3.0)
162
+ rubocop (>= 0.30.1)
163
+ ruby-progressbar (1.8.1)
164
+ rubyzip (1.2.0)
165
+ selenium-webdriver (3.0.5)
166
+ childprocess (~> 0.5)
167
+ rubyzip (~> 1.0)
168
+ websocket (~> 1.0)
169
+ site_prism (2.9)
170
+ addressable (>= 2.3.3, < 3.0)
171
+ capybara (>= 2.1, < 3.0)
172
+ thor (0.19.4)
173
+ thread_safe (0.3.5)
174
+ tzinfo (1.2.2)
175
+ thread_safe (~> 0.1)
176
+ unf (0.1.4)
177
+ unf_ext
178
+ unf_ext (0.0.7.2)
179
+ unicode-display_width (1.1.2)
180
+ virtus (1.0.5)
181
+ axiom-types (~> 0.1)
182
+ coercible (~> 1.0)
183
+ descendants_tracker (~> 0.0, >= 0.0.3)
184
+ equalizer (~> 0.0, >= 0.0.9)
185
+ websocket (1.2.3)
186
+ websocket-driver (0.6.4)
187
+ websocket-extensions (>= 0.1.0)
188
+ websocket-extensions (0.1.2)
189
+ xpath (2.0.0)
190
+ nokogiri (~> 1.3)
191
+ yard (0.9.5)
192
+ yard-cucumber (3.1.0)
193
+ cucumber (~> 2)
194
+ gherkin (~> 4.0)
195
+ yard (~> 0.8, >= 0.8.1)
196
+
197
+ PLATFORMS
198
+ ruby
199
+
200
+ DEPENDENCIES
201
+ aruba (~> 0.14.1)
202
+ bddfire!
203
+
204
+ BUNDLED WITH
205
+ 1.13.7
data/README.markdown CHANGED
@@ -1,3 +1,6 @@
1
+
2
+ <a href="https://travis-ci.org/Shashikant86/bddfire/"><img src="https://img.shields.io/travis/Shashikant86/bddfire.svg" /></a>
3
+
1
4
  # bddfire
2
5
 
3
6
  BDDfire: Automate Mobile & Web apps with less code. An instant Ruby-Cucumber BDD framework which supports various popular open-source libraries like Capybara, Selenium-WebDriver, Poltergeist, Relish, Cuke_sniffer, Rubocop, Appium, Saucelabs, Browserstack. Generate default toolkit around BDD with cucumber and friends. BDDfire can do API testing with RestClient. It also added support for Docker, Gatling, Axe Accessibility Engine
data/bddfire.gemspec CHANGED
@@ -14,15 +14,28 @@ Gem::Specification.new do |s|
14
14
  s.summary = 'BDDfire: Automate Mobile & Web apps with less code. An instant Ruby-Cucumber BDD framework'
15
15
  s.description = 'A Wholesale framework for web, mobile, api, load, accessibility testing. Get you going in a minute. An instant setup of Ruby, Cucumber, Capybara, selenium, REST API Appium, Docker, Gatling and Axe Engine'
16
16
  s.add_runtime_dependency "bundler"
17
- s.add_runtime_dependency "cucumber", '~> 2.3', '>= 2.3'
18
- s.add_runtime_dependency "capybara", '~> 2.6', '>= 2.4'
19
- s.add_runtime_dependency "rspec", '~> 3.4', '>= 3.0.0'
20
- s.add_runtime_dependency "selenium-webdriver", '~> 2.52', '>= 2.52'
21
- s.add_runtime_dependency "axe-matchers", '~> 1.1.1', '>= 1.0.0'
22
- s.add_runtime_dependency 'rest-client', '~> 1.8.0', '>= 1.7.3'
23
- s.add_runtime_dependency 'json', '~> 1.8.3', '>= 1.7.3'
24
- s.add_runtime_dependency 'be_valid_asset', '~> 1.3', '>= 1.3.0'
17
+ s.add_runtime_dependency "nokogiri"
18
+ s.add_runtime_dependency "cucumber"
19
+ s.add_runtime_dependency "capybara"
20
+ s.add_runtime_dependency "poltergeist"
21
+ s.add_runtime_dependency "rake"
22
+ s.add_runtime_dependency "yard-cucumber"
23
+ s.add_runtime_dependency "rspec"
24
+ s.add_runtime_dependency "selenium-webdriver"
25
+ s.add_runtime_dependency "axe-matchers"
26
+ s.add_runtime_dependency 'rest-client'
27
+ s.add_runtime_dependency 'json'
28
+ s.add_runtime_dependency 'redcarpet'
29
+ s.add_runtime_dependency 'rubocop'
30
+ s.add_runtime_dependency 'cuke_sniffer'
31
+ s.add_runtime_dependency 'relish'
32
+ s.add_runtime_dependency 'rubocop-checkstyle_formatter'
33
+ s.add_runtime_dependency 'site_prism'
34
+ s.add_runtime_dependency 'chromedriver-helper'
35
+ s.add_runtime_dependency 'magic_encoding'
36
+ s.add_runtime_dependency 'be_valid_asset'
25
37
  s.add_runtime_dependency 'require_all', '~> 1.3.1', '>= 1.3.0'
38
+ s.add_development_dependency 'aruba', '~> 0.14.1'
26
39
  s.files = `git ls-files`.split("\n")
27
40
  s.test_files = `git ls-files -- {features}/*`.split("\n")
28
41
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
@@ -0,0 +1,16 @@
1
+ Feature: Install bddfire
2
+
3
+
4
+ Scenario: Print version
5
+ Given I successfully run `bddfire version`
6
+ Then output should be
7
+ """
8
+ 2.0.4
9
+ """
10
+
11
+ Scenario: Using rubygems
12
+ Given I successfully run `bddfire`
13
+ Then the output should contain:
14
+ """
15
+ Usage: bddfire <command-name> [parameters] [options]
16
+ """
@@ -0,0 +1,8 @@
1
+ Feature: Install bddfire
2
+
3
+
4
+ Scenario: Using rubygems
5
+ Given I successfully run `gem install bddfire`
6
+ Then bddfire should be installed on the local system
7
+
8
+
@@ -0,0 +1,13 @@
1
+
2
+ Then(/^bddfire should be installed on the local system$/) do
3
+ run('gem list bddfire')
4
+ expect(last_command_started).to have_output(/bddfire/)
5
+ end
6
+
7
+ Then(/^output should be$/) do |output|
8
+ expect(last_command_started).to have_output(output)
9
+ end
10
+
11
+ Then(/^output should be contain$/) do |string|
12
+ expect(last_command_started).to include?(output)
13
+ end
@@ -0,0 +1 @@
1
+ require 'aruba/cucumber'
data/homebrew/bddfire ADDED
@@ -0,0 +1,198 @@
1
+ #!/usr/bin/env ruby
2
+ require 'fileutils'
3
+ require 'tempfile'
4
+
5
+ lib_dir = File.expand_path('../lib', File.dirname(__FILE__))
6
+ $LOAD_PATH.unshift lib_dir unless $LOAD_PATH.include?(lib_dir)
7
+
8
+ @root_dir = File.join(FileUtils.pwd, 'cucumber')
9
+ @root_feature_dir = File.join(@root_dir, 'features')
10
+ @root_scripts_dir = File.join(@root_dir, 'script')
11
+ @root_accessibility_dir = File.join(@root_dir, 'accessibility')
12
+ @root_load_dir = File.join(@root_dir, 'load')
13
+ @source_dir = File.join(File.dirname(__FILE__), '..', 'scaffold')
14
+ @source_feature_dir = File.join(@source_dir, 'features')
15
+ @source_scripts_dir = File.join(@source_dir, 'scripts')
16
+ @source_config_dir = File.join(@source_dir, 'config_files')
17
+ @source_load_dir = File.join(@source_dir, 'load')
18
+ @source_accessibility_dir = File.join(@source_dir, 'accessibility')
19
+
20
+ def bddfire_scaffold
21
+ if File.exist?(@root_dir)
22
+ puts 'There is already cucumber directory. Please move existing cucumber directory to carry on '
23
+ exit 1
24
+ end
25
+
26
+ FileUtils.cp_r(@source_config_dir, @root_dir)
27
+ msg ('Info') do
28
+ puts "=======BDDfire is creating 'cucumber' framework. Please have a look which files are being created============\n"
29
+ end
30
+
31
+ msg('Gemfile') do
32
+ puts "=======BDDfire created Gemfile containing all required Gems============\n"
33
+ end
34
+ msg('cucumber.yml') do
35
+ puts "=======BDDfire created cucumber.yml file with profiles of all Capybara Drivers============\n"
36
+ end
37
+ msg('package.json') do
38
+ puts "=======BDDfire created pakage.json file with required npm dependencies============\n"
39
+ end
40
+ msg('README.md') do
41
+ puts "=======BDDfire created README.md file with template usage============\n"
42
+ end
43
+ msg('browser.json') do
44
+ puts "=======BDDfire created browser.json file with browsers and devices config for cloud testng============\n"
45
+ end
46
+ msg('.relish') do
47
+ puts "=======BDDfire created .relish file, you need to add your relish api key============\n"
48
+ end
49
+ msg('.rubocop.yml') do
50
+ puts "=======BDDfire created .rubocop.yml file to check Ruby code============\n"
51
+ end
52
+ msg('Dockerfile') do
53
+ puts "=======BDDfire created Dockerfile===========\n"
54
+ end
55
+ msg('docker.sh') do
56
+ puts "=======BDDfire created script for Docker ============\n"
57
+ end
58
+ msg('.yard.yml') do
59
+ puts "=======BDDfire created .yard.yml to generate YARD documentation for your project============\n"
60
+ end
61
+ msg('Rakefile') do
62
+ puts "=======BDDfire created Rakefile to generate Rake tasks ============\n"
63
+ end
64
+ msg('Info') do
65
+ puts "All Config files created. \n"
66
+ end
67
+
68
+ FileUtils.cp_r(@source_feature_dir, @root_feature_dir)
69
+ msg('feature directory') do
70
+ puts "=======BDDfire created features and support directories for cucumber projects============\n"
71
+ end
72
+
73
+ FileUtils.cp_r(@source_scripts_dir, @root_scripts_dir)
74
+
75
+ msg('Scripts') do
76
+ puts "Scripts subdirectory created. \n"
77
+ end
78
+
79
+ msg('Thanks for installing Cucumber functional test framework !') do
80
+ puts "=====BDDfire recommend you to install LOAD and Accessibility Frameworks as well====== \n"
81
+ puts "=====Just Run 'bddfire fire_load' and 'bddfire fire_accessibility' command now====== \n"
82
+ end
83
+
84
+
85
+ end
86
+
87
+ def msg(title, &_block)
88
+ puts "\n" + '-' * 10 + title + '-' * 10
89
+ yield
90
+ puts '-' * 10 + '-------' + '-' * 10 + "\n"
91
+ sleep 1
92
+ end
93
+
94
+ def install
95
+ msg('Installing BDDfire Dependencies') do
96
+ puts "Wait till bundler finish installtions. \n"
97
+ end
98
+ cmd = 'bundle install --gemfile=$(pwd)/cucumber/Gemfile --path=$(pwd)/cucumber/vendor/'
99
+ system(cmd)
100
+ end
101
+
102
+ def accessibility
103
+ if File.exist?(@root_dir)
104
+ FileUtils.cp_r(@source_accessibility_dir, @root_accessibility_dir)
105
+ msg('Accessibility Setup') do
106
+ puts "Accessibility Setup to run accessibility tests \n"
107
+ end
108
+ else
109
+ msg('BDDfire Voilation') do
110
+ puts "Please run 'fire_cucumber' before 'fire_accessibility' \n"
111
+ end
112
+ end
113
+ end
114
+
115
+ def load
116
+ if File.exist?(@root_dir)
117
+ FileUtils.cp_r(@source_load_dir, @root_load_dir)
118
+ msg('Gatling') do
119
+ puts "Gatling setup to run load tests. \n"
120
+ end
121
+ else
122
+ msg('BDDfire Voilation') do
123
+ puts "Please run 'fire_cucumber' before 'fire_load' \n"
124
+ end
125
+ end
126
+ end
127
+
128
+ def print_usage
129
+ puts <<EOF
130
+
131
+ Usage: bddfire <command-name> [parameters] [options]
132
+
133
+ <command-name> can be one of
134
+ help
135
+ prints more detailed help information.
136
+ fire_cucumber
137
+ generate a features folder structure.
138
+ fire_accessibility
139
+ setup accessibility checks with axe-matchers
140
+ fire_load
141
+ setup load and performance tests using Gatling
142
+ version
143
+ prints the gem version
144
+
145
+
146
+ <options> can be
147
+ -v, --verbose Turns on verbose logging
148
+ EOF
149
+ end
150
+
151
+ def print_help
152
+ puts <<EOF
153
+
154
+ Usage: bddfire <command-name> [parameters] [options]
155
+
156
+ <command-name> can be one of
157
+ help
158
+ fire_cucumber
159
+ fire_accessibility
160
+ fire_load
161
+ version
162
+
163
+ Commands:
164
+ help : prints more detailed help information.
165
+
166
+ fire_cucumber : creates a skeleton features dir. This is usually used once when
167
+ setting up project to ensure that the features folder contains
168
+ the right step definitions and environment to run with cucumber.
169
+
170
+ fire_accessibility : setup accessibility checks with axe-matchers
171
+
172
+ fire_load : setup load and performance tests using Gatling
173
+
174
+ version : prints the gem version
175
+
176
+ <Options>
177
+ -v, --verbose Turns on verbose logging
178
+ EOF
179
+ end
180
+
181
+ if ARGV.length == 0
182
+ print_usage
183
+ else
184
+ cmd = ARGV.shift
185
+ if cmd == 'help'
186
+ print_help
187
+ elsif cmd == 'fire_cucumber'
188
+ bddfire_scaffold
189
+ elsif cmd == 'version'
190
+ puts "2.x"
191
+ elsif cmd == 'fire_accessibility'
192
+ accessibility
193
+ elsif cmd == 'fire_load'
194
+ load
195
+ else
196
+ print_usage
197
+ end
198
+ end
@@ -1,3 +1,3 @@
1
1
  module BDDfire
2
- VERSION = '2.0.4'.freeze
2
+ VERSION = '2.0.5'.freeze
3
3
  end
@@ -1,23 +1,3 @@
1
1
  source 'http://rubygems.org'
2
- gem 'nokogiri', '1.5.9'
3
- gem 'cucumber'
4
- gem 'capybara'
2
+
5
3
  gem 'bddfire'
6
- gem 'selenium-webdriver'
7
- gem 'poltergeist'
8
- gem 'rake'
9
- gem 'yard-cucumber'
10
- gem 'redcarpet'
11
- gem 'rubocop'
12
- gem 'cuke_sniffer'
13
- gem 'json'
14
- gem 'rspec'
15
- gem 'relish'
16
- gem 'rubocop-checkstyle_formatter'
17
- gem 'parallel_tests'
18
- gem 'axe-matchers'
19
- gem 'site_prism'
20
- gem 'chromedriver-helper', '0.0.6'
21
- gem 'magic_encoding'
22
- gem 'be_valid_asset'
23
- gem 'rest-client'
@@ -0,0 +1,23 @@
1
+ source 'http://rubygems.org'
2
+ gem 'nokogiri'
3
+ gem 'cucumber'
4
+ gem 'capybara'
5
+ gem 'bddfire'
6
+ gem 'selenium-webdriver'
7
+ gem 'poltergeist'
8
+ gem 'rake'
9
+ gem 'yard-cucumber'
10
+ gem 'redcarpet'
11
+ gem 'rubocop'
12
+ gem 'cuke_sniffer'
13
+ gem 'json'
14
+ gem 'rspec'
15
+ gem 'relish'
16
+ gem 'rubocop-checkstyle_formatter'
17
+ gem 'parallel_tests'
18
+ gem 'axe-matchers'
19
+ gem 'site_prism'
20
+ gem 'chromedriver-helper'
21
+ gem 'magic_encoding'
22
+ gem 'be_valid_asset'
23
+ gem 'rest-client'
@@ -1,4 +1,4 @@
1
- default: -p selenium
1
+ default: -p poltergeist
2
2
  html: --format --out reports/test-report.html
3
3
  bvt: --tags @test
4
4
  browserstack : DRIVER=browserstack
@@ -12,4 +12,4 @@ sauce : DRIVER=sauce
12
12
  chrome: DRIVER=chrome
13
13
  parallel_html: --format html --out reports/process<%= ENV['TEST_ENV_NUMBER'] %>.html
14
14
  pretty: -f pretty
15
- parallel: --format pretty --profile parallel_html --format ParallelTests::Cucumber::FailuresLogger --out cucumber_failures.log
15
+ parallel: --format pretty -p poltergeist --profile parallel_html --format ParallelTests::Cucumber::FailuresLogger --out cucumber_failures.log
data/spec/file_spec.rb ADDED
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ # These are just demo test, please contribue to the cucumber tests in the features directories
4
+
5
+ RSpec.describe 'False positive test to check if bddfire has created Cucumber directoey', :type => :aruba do
6
+ let(:directory) { 'cucumber' }
7
+
8
+ before(:each) { create_directory(directory) }
9
+
10
+ it { expect(exist?(directory)).to be true }
11
+ end
@@ -0,0 +1,9 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+
3
+ if RUBY_VERSION < '1.9.3'
4
+ ::Dir.glob(::File.expand_path('../support/*.rb', __FILE__)).each { |f| require File.join(File.dirname(f), File.basename(f, '.rb')) }
5
+ ::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require File.join(File.dirname(f), File.basename(f, '.rb')) }
6
+ else
7
+ ::Dir.glob(::File.expand_path('../support/*.rb', __FILE__)).each { |f| require_relative f }
8
+ ::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
9
+ end
@@ -0,0 +1 @@
1
+ require 'aruba/rspec'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bddfire
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shashikant Jagtap
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-30 00:00:00.000000000 Z
11
+ date: 2017-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -25,165 +25,285 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: cucumber
28
+ name: nokogiri
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '2.3'
34
31
  - - ">="
35
32
  - !ruby/object:Gem::Version
36
- version: '2.3'
33
+ version: '0'
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
- - - "~>"
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: cucumber
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
42
46
  - !ruby/object:Gem::Version
43
- version: '2.3'
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
44
52
  - - ">="
45
53
  - !ruby/object:Gem::Version
46
- version: '2.3'
54
+ version: '0'
47
55
  - !ruby/object:Gem::Dependency
48
56
  name: capybara
49
57
  requirement: !ruby/object:Gem::Requirement
50
58
  requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '2.6'
54
59
  - - ">="
55
60
  - !ruby/object:Gem::Version
56
- version: '2.4'
61
+ version: '0'
57
62
  type: :runtime
58
63
  prerelease: false
59
64
  version_requirements: !ruby/object:Gem::Requirement
60
65
  requirements:
61
- - - "~>"
66
+ - - ">="
62
67
  - !ruby/object:Gem::Version
63
- version: '2.6'
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: poltergeist
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
64
73
  - - ">="
65
74
  - !ruby/object:Gem::Version
66
- version: '2.4'
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
67
83
  - !ruby/object:Gem::Dependency
68
- name: rspec
84
+ name: rake
69
85
  requirement: !ruby/object:Gem::Requirement
70
86
  requirements:
71
- - - "~>"
87
+ - - ">="
72
88
  - !ruby/object:Gem::Version
73
- version: '3.4'
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: yard-cucumber
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
74
101
  - - ">="
75
102
  - !ruby/object:Gem::Version
76
- version: 3.0.0
103
+ version: '0'
77
104
  type: :runtime
78
105
  prerelease: false
79
106
  version_requirements: !ruby/object:Gem::Requirement
80
107
  requirements:
81
- - - "~>"
108
+ - - ">="
82
109
  - !ruby/object:Gem::Version
83
- version: '3.4'
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
84
115
  - - ">="
85
116
  - !ruby/object:Gem::Version
86
- version: 3.0.0
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
87
125
  - !ruby/object:Gem::Dependency
88
126
  name: selenium-webdriver
89
127
  requirement: !ruby/object:Gem::Requirement
90
128
  requirements:
91
- - - "~>"
92
- - !ruby/object:Gem::Version
93
- version: '2.52'
94
129
  - - ">="
95
130
  - !ruby/object:Gem::Version
96
- version: '2.52'
131
+ version: '0'
97
132
  type: :runtime
98
133
  prerelease: false
99
134
  version_requirements: !ruby/object:Gem::Requirement
100
135
  requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '2.52'
104
136
  - - ">="
105
137
  - !ruby/object:Gem::Version
106
- version: '2.52'
138
+ version: '0'
107
139
  - !ruby/object:Gem::Dependency
108
140
  name: axe-matchers
109
141
  requirement: !ruby/object:Gem::Requirement
110
142
  requirements:
111
- - - "~>"
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
112
151
  - !ruby/object:Gem::Version
113
- version: 1.1.1
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rest-client
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
114
157
  - - ">="
115
158
  - !ruby/object:Gem::Version
116
- version: 1.0.0
159
+ version: '0'
117
160
  type: :runtime
118
161
  prerelease: false
119
162
  version_requirements: !ruby/object:Gem::Requirement
120
163
  requirements:
121
- - - "~>"
164
+ - - ">="
122
165
  - !ruby/object:Gem::Version
123
- version: 1.1.1
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: json
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
124
178
  - - ">="
125
179
  - !ruby/object:Gem::Version
126
- version: 1.0.0
180
+ version: '0'
127
181
  - !ruby/object:Gem::Dependency
128
- name: rest-client
182
+ name: redcarpet
129
183
  requirement: !ruby/object:Gem::Requirement
130
184
  requirements:
131
- - - "~>"
185
+ - - ">="
132
186
  - !ruby/object:Gem::Version
133
- version: 1.8.0
187
+ version: '0'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: rubocop
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
134
199
  - - ">="
135
200
  - !ruby/object:Gem::Version
136
- version: 1.7.3
201
+ version: '0'
137
202
  type: :runtime
138
203
  prerelease: false
139
204
  version_requirements: !ruby/object:Gem::Requirement
140
205
  requirements:
141
- - - "~>"
206
+ - - ">="
142
207
  - !ruby/object:Gem::Version
143
- version: 1.8.0
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: cuke_sniffer
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
144
213
  - - ">="
145
214
  - !ruby/object:Gem::Version
146
- version: 1.7.3
215
+ version: '0'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
147
223
  - !ruby/object:Gem::Dependency
148
- name: json
224
+ name: relish
149
225
  requirement: !ruby/object:Gem::Requirement
150
226
  requirements:
151
- - - "~>"
227
+ - - ">="
152
228
  - !ruby/object:Gem::Version
153
- version: 1.8.3
229
+ version: '0'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
154
234
  - - ">="
155
235
  - !ruby/object:Gem::Version
156
- version: 1.7.3
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: rubocop-checkstyle_formatter
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
157
244
  type: :runtime
158
245
  prerelease: false
159
246
  version_requirements: !ruby/object:Gem::Requirement
160
247
  requirements:
161
- - - "~>"
248
+ - - ">="
162
249
  - !ruby/object:Gem::Version
163
- version: 1.8.3
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: site_prism
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
164
255
  - - ">="
165
256
  - !ruby/object:Gem::Version
166
- version: 1.7.3
257
+ version: '0'
258
+ type: :runtime
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
167
265
  - !ruby/object:Gem::Dependency
168
- name: be_valid_asset
266
+ name: chromedriver-helper
169
267
  requirement: !ruby/object:Gem::Requirement
170
268
  requirements:
171
- - - "~>"
269
+ - - ">="
172
270
  - !ruby/object:Gem::Version
173
- version: '1.3'
271
+ version: '0'
272
+ type: :runtime
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
174
276
  - - ">="
175
277
  - !ruby/object:Gem::Version
176
- version: 1.3.0
278
+ version: '0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: magic_encoding
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
177
286
  type: :runtime
178
287
  prerelease: false
179
288
  version_requirements: !ruby/object:Gem::Requirement
180
289
  requirements:
181
- - - "~>"
290
+ - - ">="
182
291
  - !ruby/object:Gem::Version
183
- version: '1.3'
292
+ version: '0'
293
+ - !ruby/object:Gem::Dependency
294
+ name: be_valid_asset
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
184
297
  - - ">="
185
298
  - !ruby/object:Gem::Version
186
- version: 1.3.0
299
+ version: '0'
300
+ type: :runtime
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - ">="
305
+ - !ruby/object:Gem::Version
306
+ version: '0'
187
307
  - !ruby/object:Gem::Dependency
188
308
  name: require_all
189
309
  requirement: !ruby/object:Gem::Requirement
@@ -204,6 +324,20 @@ dependencies:
204
324
  - - ">="
205
325
  - !ruby/object:Gem::Version
206
326
  version: 1.3.0
327
+ - !ruby/object:Gem::Dependency
328
+ name: aruba
329
+ requirement: !ruby/object:Gem::Requirement
330
+ requirements:
331
+ - - "~>"
332
+ - !ruby/object:Gem::Version
333
+ version: 0.14.1
334
+ type: :development
335
+ prerelease: false
336
+ version_requirements: !ruby/object:Gem::Requirement
337
+ requirements:
338
+ - - "~>"
339
+ - !ruby/object:Gem::Version
340
+ version: 0.14.1
207
341
  description: A Wholesale framework for web, mobile, api, load, accessibility testing.
208
342
  Get you going in a minute. An instant setup of Ruby, Cucumber, Capybara, selenium,
209
343
  REST API Appium, Docker, Gatling and Axe Engine
@@ -215,16 +349,19 @@ extensions: []
215
349
  extra_rdoc_files: []
216
350
  files:
217
351
  - ".gitignore"
352
+ - ".travis.yml"
218
353
  - Gemfile
354
+ - Gemfile.lock
219
355
  - LICENSE
220
356
  - README.markdown
221
357
  - Rakefile
222
358
  - bddfire.gemspec
223
359
  - bin/bddfire
224
- - features/cucumber_template.feature
225
- - features/step_definitions/all_steps.rb
226
- - features/support/env.rb
227
- - features/support/support_code.rb
360
+ - features/bddfire_cli.feature
361
+ - features/install.feature
362
+ - features/step_definition/install.rb
363
+ - features/support/aruba.rb
364
+ - homebrew/bddfire
228
365
  - lib/bddfire.rb
229
366
  - lib/bddfire/accessibility/axe.rb
230
367
  - lib/bddfire/api/rest-api.rb
@@ -273,6 +410,7 @@ files:
273
410
  - scaffold/config_files/.yard.yml
274
411
  - scaffold/config_files/Dockerfile
275
412
  - scaffold/config_files/Gemfile
413
+ - scaffold/config_files/Gemfile-raw
276
414
  - scaffold/config_files/README.md
277
415
  - scaffold/config_files/Rakefile
278
416
  - scaffold/config_files/browser.json
@@ -306,6 +444,9 @@ files:
306
444
  - scaffold/scripts/ci_script
307
445
  - scaffold/scripts/load
308
446
  - scaffold/scripts/run_appium
447
+ - spec/file_spec.rb
448
+ - spec/spec_helper.rb
449
+ - spec/support/aruba.rb
309
450
  homepage: https://github.com/Shashikant86/bddfire
310
451
  licenses:
311
452
  - MIT
@@ -327,10 +468,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
327
468
  version: '0'
328
469
  requirements: []
329
470
  rubyforge_project:
330
- rubygems_version: 2.4.6
471
+ rubygems_version: 2.6.8
331
472
  signing_key:
332
473
  specification_version: 4
333
474
  summary: 'BDDfire: Automate Mobile & Web apps with less code. An instant Ruby-Cucumber
334
475
  BDD framework'
335
476
  test_files: []
336
- has_rdoc:
@@ -1,7 +0,0 @@
1
- Feature: Generate cucumber template
2
-
3
- Scenario: Generate Cucumber
4
-
5
- Given I have empty directory
6
- When I run BDDfire
7
- Then I shouls see all the files and directories are created
@@ -1,8 +0,0 @@
1
- Given(/^I have empty directory$/) do
2
- end
3
-
4
- When(/^I run BDDfire$/) do
5
- end
6
-
7
- Then(/^I shouls see all the files and directories are created$/) do
8
- end
@@ -1,6 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler/setup'
3
-
4
- require 'aruba'
5
-
6
- require 'bddfire'
File without changes