bddfire 1.7.7 → 1.7.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/README.markdown +24 -3
- data/bddfire.gemspec +1 -1
- data/bin/bddfire +2 -0
- data/lib/bddfire/assert.rb +45 -0
- data/lib/bddfire/version.rb +1 -1
- data/pre-defined-steps/capybara_steps.md +45 -0
- data/scaffold/config_files/Gemfile +1 -0
- data/scaffold/config_files/Rakefile +24 -0
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZDU1MzIwNzRhOGNjZTAyZTFjMzQ1NzI4YzNkYWE2YWM0MmUyN2MzMQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZjYzYWQxZDdkZjhjMTUzYWIyODcxMWM2MGM5ODIwMDllNjM5NGNkNg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NjU2ZDI2NWY4YzY4ZTY5OWNlMzRiYWM3MDhjM2Y2ZWVmZDE0NGFmZmE5OTk5
|
10
|
+
ZGZkNmU0YjYyNmRkMzJkMWZmZDk1ODg5ZmNkMmVhMzFjNjQyZDA5YWRjNWFi
|
11
|
+
NmRhMGMyYTgxZGQ4MjA1Mjc5NDdkMjBmNTI1NmIzZDdjMTI4OWQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NmNmY2FlZmNjMzgzYzQ0ODNkMDk3MjA4NTg5ZjJhYWEyMWQ4YjljYjhiY2Zk
|
14
|
+
YzhlZTU5MjNiM2RjYTc1ZDVlMWY4ZDg5ZGU3OWZhOTA3Y2VkZmZhNjFmYTA0
|
15
|
+
YzFjZjgzZGFkYjhlNjg1ZjE5YjkyODJmZThlMzc4MGI3NDBkNzg=
|
data/README.markdown
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# bddfire
|
2
2
|
|
3
|
-
Generate default toolkit around BDD with cucumber and friends
|
3
|
+
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
|
4
4
|
## Installation
|
5
5
|
|
6
6
|
The usual:
|
@@ -19,7 +19,7 @@ In your project's root directory...
|
|
19
19
|
|
20
20
|
$ bddfire fire_cucumber
|
21
21
|
|
22
|
-
One command will install Ruby Cucumber framework with all possibly supported tools. This will create all the directories and files to support following tools
|
22
|
+
One command will install Ruby Cucumber framework with all possibly supported tools in the 'cucumber' directory. This will create all the directories and files to support following tools
|
23
23
|
* Capybara
|
24
24
|
* Selenium-Webdriver
|
25
25
|
* Poltergeist: PhantomJS based headless driver for capybara
|
@@ -101,7 +101,28 @@ You need pass rake rask to the script
|
|
101
101
|
$ ./ci_script features
|
102
102
|
|
103
103
|
|
104
|
-
##
|
104
|
+
## Use Rake
|
105
|
+
You can also use Rake taks created automatically for you
|
106
|
+
|
107
|
+
$ bundle exec rake features
|
108
|
+
|
109
|
+
You can run Cuke_sniffer report on your project
|
110
|
+
|
111
|
+
$ bundle exec rake cuke_sniffer
|
112
|
+
|
113
|
+
You can run rubocop report on your project
|
114
|
+
|
115
|
+
$ bundle exec rake rubocop
|
116
|
+
|
117
|
+
|
118
|
+
## Don't waste time writing steps. Use predefined
|
119
|
+
|
120
|
+
You can use pre-defined steps here
|
121
|
+
|
122
|
+
# TODO
|
123
|
+
|
124
|
+
* Add more and more steps so that user won't need to write more code
|
125
|
+
* Add examples to show use of native app automation
|
105
126
|
|
106
127
|
|
107
128
|
## LICENSE
|
data/bddfire.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.homepage = "https://github.com/Shashikant86/bddfire"
|
12
12
|
s.license = 'MIT'
|
13
13
|
s.required_ruby_version = '>= 1.9.3'
|
14
|
-
s.summary =
|
14
|
+
s.summary = "BDDfire: Automate Mobile & Web apps with less code. An instant Ruby-Cucumber BDD framework"
|
15
15
|
s.description = %q{Instant BDD Framework - Ruby, Cucumber, Capybara, selenium, Appium, Saucelabs, Browserstack, Testingbot, poltergeist, cuke_sniffer, rubocop, relish, yard and many more awesome libraries}
|
16
16
|
s.add_runtime_dependency "cucumber", '~> 1.3', '>= 1.3.18'
|
17
17
|
s.add_runtime_dependency "capybara", '~> 2.4.4', '>= 2.4.1'
|
data/bin/bddfire
CHANGED
@@ -47,6 +47,8 @@ def bddfire_scaffold
|
|
47
47
|
sleep (2)
|
48
48
|
puts "=======Copying .yard.yml to generate YARD documentation for your project============\n"
|
49
49
|
sleep (2)
|
50
|
+
puts "=======Copying Rakefile to generate Rake tasks ============\n"
|
51
|
+
sleep (2)
|
50
52
|
end
|
51
53
|
|
52
54
|
FileUtils.cp_r(@source_config_dir, @root_dir)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require_relative 'web/web_methods'
|
2
|
+
|
3
|
+
Then(/^page should have title "(.*?)"$/) do |title|
|
4
|
+
page.shaould have_title(title)
|
5
|
+
end
|
6
|
+
|
7
|
+
Then(/^I should see element "(.*?)" having text "(.*?)"$/) do |element, text|
|
8
|
+
page.should have_css(element, :text => text)
|
9
|
+
end
|
10
|
+
|
11
|
+
Then(/^page should have element "(.*?)"$/) do |element|
|
12
|
+
page.should have_css(element)
|
13
|
+
end
|
14
|
+
|
15
|
+
Then(/^I should see element "(.*?)" having count "(.*?)"$/) do |element, count|
|
16
|
+
page.should have_css(element, :count => count)
|
17
|
+
end
|
18
|
+
|
19
|
+
Then(/^page should have button "(.*?)"$/) do |button|
|
20
|
+
page.should have_buttton(button)
|
21
|
+
end
|
22
|
+
|
23
|
+
Then(/^page should have field "(.*?)"$/) do |field|
|
24
|
+
page.should have_field(field)
|
25
|
+
end
|
26
|
+
|
27
|
+
Then(/^page should have link "(.*?)"$/) do |link|
|
28
|
+
page.should have_link(link)
|
29
|
+
end
|
30
|
+
|
31
|
+
Then(/^page should have table "(.*?)"$/) do |table|
|
32
|
+
page.should have_table(table)
|
33
|
+
end
|
34
|
+
|
35
|
+
Then(/^I should see an element "(.*?)" with checked field$/) do |element|
|
36
|
+
page.should have_checked_field(element)
|
37
|
+
end
|
38
|
+
|
39
|
+
Then(/^I should see an element "(.*?)" with unchecked field$/) do |element|
|
40
|
+
page.should have_unchecked_field(element)
|
41
|
+
end
|
42
|
+
|
43
|
+
Then(/^I should see content "(.*?)" in the page$/) do |content|
|
44
|
+
page.should have_content(content)
|
45
|
+
end
|
data/lib/bddfire/version.rb
CHANGED
@@ -0,0 +1,45 @@
|
|
1
|
+
# Pre-defined Steps
|
2
|
+
|
3
|
+
### Browser Actions
|
4
|
+
|
5
|
+
|
6
|
+
When I navigate to another page ""
|
7
|
+
When I go forward using browser
|
8
|
+
When I go back using browser
|
9
|
+
When browser is refreshed
|
10
|
+
When I have switched to another window ""
|
11
|
+
When browser window is resized to width "" and height ""
|
12
|
+
When browser window is maximized
|
13
|
+
When I closed browser window
|
14
|
+
When page is zoomed in
|
15
|
+
When page is zoomed out
|
16
|
+
When I scrolled to element with selector ""
|
17
|
+
When element with selector is hovered over
|
18
|
+
|
19
|
+
### User Actions
|
20
|
+
|
21
|
+
Given I am on “url”
|
22
|
+
When I filling “element” with “text”
|
23
|
+
When I click on “link”
|
24
|
+
When I click on “button”
|
25
|
+
When I click on element having text “text"
|
26
|
+
When I checked “checkbox”
|
27
|
+
When I unchecked “checkbox”
|
28
|
+
When I choose “radio button”
|
29
|
+
When I select option “” from dropdown “”
|
30
|
+
When I attach file “file_path"to field “locator”
|
31
|
+
When I hover over element “locator “
|
32
|
+
|
33
|
+
### Assertions
|
34
|
+
|
35
|
+
Then page should have title “"
|
36
|
+
Then I should see element “element” having text “text”
|
37
|
+
Then page should have element “element”
|
38
|
+
Then I should see element “element” having count “count”
|
39
|
+
Then page should have link “”
|
40
|
+
Then page should have button “”
|
41
|
+
Then page should have field “”
|
42
|
+
Then page should have table “”
|
43
|
+
Then I should see element “” with checked field
|
44
|
+
Then I should see element “” with unchecked field
|
45
|
+
Then I should see content “” in the page
|
@@ -0,0 +1,24 @@
|
|
1
|
+
equire 'rubygems'
|
2
|
+
require 'cucumber'
|
3
|
+
require 'cucumber/rake/task'
|
4
|
+
require 'parallel'
|
5
|
+
require 'json'
|
6
|
+
require 'yard'
|
7
|
+
|
8
|
+
|
9
|
+
YARD::Rake::YardocTask.new(:yard) do |t|
|
10
|
+
t.files = ['features/**/*.feature', 'features/**/*.rb']
|
11
|
+
#t.options = ['--any', '--extra', '--opts'] # optional
|
12
|
+
end
|
13
|
+
|
14
|
+
Cucumber::Rake::Task.new(:cucumber) do |t|
|
15
|
+
t.cucumber_opts = "features --format pretty"
|
16
|
+
end
|
17
|
+
|
18
|
+
task :parallel_cucumber do
|
19
|
+
sh "bundle exec parallel_cucumber features/"
|
20
|
+
end
|
21
|
+
|
22
|
+
task :rubocop do
|
23
|
+
sh "bundle exec rubocop features/"
|
24
|
+
end
|
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: 1.7.
|
4
|
+
version: 1.7.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shashikant Jagtap
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
@@ -112,6 +112,7 @@ files:
|
|
112
112
|
- features/support/env.rb
|
113
113
|
- features/support/support_code.rb
|
114
114
|
- lib/bddfire.rb
|
115
|
+
- lib/bddfire/assert.rb
|
115
116
|
- lib/bddfire/browser_actions.rb
|
116
117
|
- lib/bddfire/mobile/mobile_methods.rb
|
117
118
|
- lib/bddfire/mobile/required_files.rb
|
@@ -120,6 +121,7 @@ files:
|
|
120
121
|
- lib/bddfire/web/required_files.rb
|
121
122
|
- lib/bddfire/web/web_methods.rb
|
122
123
|
- lib/bddfire/web_steps.rb
|
124
|
+
- pre-defined-steps/capybara_steps.md
|
123
125
|
- scaffold/config_files/.relish
|
124
126
|
- scaffold/config_files/.rubocop.yml
|
125
127
|
- scaffold/config_files/.ruby-version
|
@@ -127,6 +129,7 @@ files:
|
|
127
129
|
- scaffold/config_files/.yard.yml
|
128
130
|
- scaffold/config_files/Gemfile
|
129
131
|
- scaffold/config_files/README.md
|
132
|
+
- scaffold/config_files/Rakefile
|
130
133
|
- scaffold/config_files/browser.json
|
131
134
|
- scaffold/config_files/ci_script
|
132
135
|
- scaffold/config_files/cucumber.yml
|
@@ -172,6 +175,7 @@ rubyforge_project:
|
|
172
175
|
rubygems_version: 2.4.5
|
173
176
|
signing_key:
|
174
177
|
specification_version: 4
|
175
|
-
summary:
|
178
|
+
summary: ! 'BDDfire: Automate Mobile & Web apps with less code. An instant Ruby-Cucumber
|
179
|
+
BDD framework'
|
176
180
|
test_files: []
|
177
181
|
has_rdoc:
|