selenium-cucumber 0.0.2
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/bin/generate.rb +20 -0
- data/bin/helper.rb +51 -0
- data/bin/selenium-cucumber +23 -0
- data/doc/canned_steps.md +76 -0
- data/doc/installation.md +13 -0
- data/doc/selenium-cucumber-help.txt +16 -0
- data/features-skeleton/my_first.feature +5 -0
- data/features-skeleton/step_definitions/custom_steps.rb +4 -0
- data/features-skeleton/support/env.rb +29 -0
- data/lib/selenium-cucumber/assertion_steps.rb +58 -0
- data/lib/selenium-cucumber/enter_text_steps.rb +27 -0
- data/lib/selenium-cucumber/methods/assertion_methods.rb +35 -0
- data/lib/selenium-cucumber/methods/enter_text_methods.rb +14 -0
- data/lib/selenium-cucumber/methods/navigate_methods.rb +11 -0
- data/lib/selenium-cucumber/methods/press_button_methods.rb +6 -0
- data/lib/selenium-cucumber/methods/progress_methods.rb +7 -0
- data/lib/selenium-cucumber/navigation_steps.rb +9 -0
- data/lib/selenium-cucumber/press_button_steps.rb +13 -0
- data/lib/selenium-cucumber/progress_step.rb +17 -0
- data/lib/selenium-cucumber/screenshot_step.rb +8 -0
- data/lib/selenium-cucumber/version.rb +5 -0
- data/lib/selenium-cucumber.rb +7 -0
- metadata +99 -0
data/bin/generate.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
|
2
|
+
def selenium_cucumber_scaffold
|
3
|
+
if File.exists?(@features_dir)
|
4
|
+
puts "A features directory already exists. Stopping..."
|
5
|
+
exit 1
|
6
|
+
end
|
7
|
+
msg("Question") do
|
8
|
+
puts "I'm about to create a subdirectory called features."
|
9
|
+
puts "features will contain all your project tests."
|
10
|
+
puts "Please hit return to confirm that's what you want."
|
11
|
+
end
|
12
|
+
exit 2 unless STDIN.gets.chomp == ''
|
13
|
+
|
14
|
+
FileUtils.cp_r(@source_dir, @features_dir)
|
15
|
+
|
16
|
+
msg("Info") do
|
17
|
+
puts "features subdirectory created. \n"
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
data/bin/helper.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'tempfile'
|
2
|
+
require 'json'
|
3
|
+
require "rubygems"
|
4
|
+
|
5
|
+
def msg(title, &block)
|
6
|
+
puts "\n" + "-"*10 + title + "-"*10
|
7
|
+
block.call
|
8
|
+
puts "-"*10 + "-------" + "-"*10 + "\n"
|
9
|
+
end
|
10
|
+
|
11
|
+
def print_usage
|
12
|
+
puts <<EOF
|
13
|
+
|
14
|
+
Usage: selenium-cucumber <command-name> [parameters] [options]
|
15
|
+
|
16
|
+
<command-name> can be one of
|
17
|
+
help
|
18
|
+
prints more detailed help information.
|
19
|
+
gen
|
20
|
+
generate a features folder structure.
|
21
|
+
version
|
22
|
+
prints the gem version
|
23
|
+
|
24
|
+
<options> can be
|
25
|
+
-v, --verbose Turns on verbose logging
|
26
|
+
EOF
|
27
|
+
end
|
28
|
+
|
29
|
+
def print_help
|
30
|
+
puts <<EOF
|
31
|
+
|
32
|
+
Usage: selenium-cucumber <command-name> [parameters] [options]
|
33
|
+
|
34
|
+
<command-name> can be one of
|
35
|
+
help
|
36
|
+
gen
|
37
|
+
version
|
38
|
+
|
39
|
+
Commands:
|
40
|
+
help : prints more detailed help information.
|
41
|
+
|
42
|
+
gen : creates a skeleton features dir. This is usually used once when
|
43
|
+
setting up selnium-cucumber to ensure that the features folder contains
|
44
|
+
the right step definitions and environment to run with cucumber.
|
45
|
+
|
46
|
+
version : prints the gem version
|
47
|
+
|
48
|
+
<Options>
|
49
|
+
-v, --verbose Turns on verbose logging
|
50
|
+
EOF
|
51
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require_relative 'helper.rb'
|
4
|
+
require_relative 'generate.rb'
|
5
|
+
require 'selenium-cucumber/version'
|
6
|
+
|
7
|
+
@features_dir = File.join(FileUtils.pwd, "features")
|
8
|
+
@support_dir = File.join(@features_dir, "support")
|
9
|
+
@source_dir = File.join(File.dirname(__FILE__), '..', 'features-skeleton')
|
10
|
+
|
11
|
+
if (ARGV.length == 0)
|
12
|
+
print_usage
|
13
|
+
end
|
14
|
+
|
15
|
+
cmd = ARGV.shift
|
16
|
+
|
17
|
+
if cmd == 'help'
|
18
|
+
print_help
|
19
|
+
elsif cmd == 'gen'
|
20
|
+
selenium_cucumber_scaffold
|
21
|
+
elsif cmd == 'version'
|
22
|
+
puts Selenium::Cucumber::VERSION
|
23
|
+
end
|
data/doc/canned_steps.md
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
Canned Steps
|
2
|
+
============
|
3
|
+
selenium-cucumber comes with the following set of predefined steps.
|
4
|
+
You can add your own steps or change the ones you see here.
|
5
|
+
|
6
|
+
Assertion Steps
|
7
|
+
---------------
|
8
|
+
To assert that page title can be found use following step.
|
9
|
+
|
10
|
+
Then(/^I see page title as "(.*?)"$/)
|
11
|
+
|
12
|
+
To assert that value of element can be found use any of the following steps.
|
13
|
+
|
14
|
+
Then /^I should see element value as "([^\"]*)" where element id is "([^\"]*)"$/
|
15
|
+
Then /^I should see element value as "([^\"]*)" where element name is "([^\"]*)"$/
|
16
|
+
Then /^I should see element value as "([^\"]*)" where element xpath is "([^\"]*)"$/
|
17
|
+
|
18
|
+
|
19
|
+
To assert that value of element cannot be found use any of the following steps.
|
20
|
+
|
21
|
+
Then /^I should not see element value as "([^\"]*)" where element id is "([^\"]*)"$/
|
22
|
+
Then /^I should not see element value as "([^\"]*)" where element name is "([^\"]*)"$/
|
23
|
+
Then /^I should not see element value as "([^\"]*)" where element xpath is "([^\"]*)"$/
|
24
|
+
|
25
|
+
|
26
|
+
To assert that element is enabled use any of the following steps.
|
27
|
+
|
28
|
+
Then /^element with id "([^\"]*)" should enable$/
|
29
|
+
Then /^element with name "([^\"]*)" should enable$/
|
30
|
+
Then /^element with xpath "([^\"]*)" should enable$/
|
31
|
+
|
32
|
+
To assert that element is disabled use any of the following steps.
|
33
|
+
|
34
|
+
Then /^element with id "([^\"]*)" should disable$/
|
35
|
+
Then /^element with name "([^\"]*)" should disable$/
|
36
|
+
Then /^element with xpath "([^\"]*)" should disable$/
|
37
|
+
|
38
|
+
Input Steps
|
39
|
+
-----------
|
40
|
+
To enter text into input field use following steps
|
41
|
+
|
42
|
+
Then /^I enter "([^\"]*)" into input field with id "([^\"]*)"$/
|
43
|
+
Then /^I enter "([^\"]*)" into input field with name "([^\"]*)"$/
|
44
|
+
Then /^I enter "([^\"]*)" into input field with xpath "([^\"]*)"$/
|
45
|
+
|
46
|
+
To clear input field use following steps
|
47
|
+
|
48
|
+
Then /^I clear input field with id "([^\"]*)"$/
|
49
|
+
Then /^I clear input field with name "([^\"]*)"$/
|
50
|
+
Then /^I clear input field with xpath "([^\"]*)"$/
|
51
|
+
|
52
|
+
Navigation Steps
|
53
|
+
----------------
|
54
|
+
|
55
|
+
Then(/^I navigate to "([^\"]*)"$/)
|
56
|
+
Then(/^I close browser$/)
|
57
|
+
|
58
|
+
Click Steps
|
59
|
+
-----------
|
60
|
+
|
61
|
+
Then(/^I click on element with id "(.*?)"$/)
|
62
|
+
Then(/^I click on element with name "(.*?)"$/)
|
63
|
+
Then(/^I click on element with xpath "(.*?)"$/)
|
64
|
+
|
65
|
+
Progress Steps
|
66
|
+
--------------
|
67
|
+
|
68
|
+
Then(/^I wait for (\d+) sec$/)
|
69
|
+
Then(/^I wait "(.*?)" second for element having id "(.*?)"$/)
|
70
|
+
Then(/^I wait "(.*?)" second for element having name "(.*?)"$/)
|
71
|
+
Then(/^I wait "(.*?)" second for element having xpath "(.*?)"$/)
|
72
|
+
|
73
|
+
Screenshot Steps
|
74
|
+
----------------
|
75
|
+
|
76
|
+
Then(/^I take screenshot$/)
|
data/doc/installation.md
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
Installation
|
2
|
+
============
|
3
|
+
### Prerequisites
|
4
|
+
You need to have Ruby installed. Verify your installation by running ruby -v in a terminal - it should print "ruby 1.8.7" (or higher).
|
5
|
+
|
6
|
+
If you are on Windows you can get Ruby from [RubyInstaller.org](http://rubyinstaller.org/)
|
7
|
+
|
8
|
+
### Installation
|
9
|
+
|
10
|
+
Install `selenium-cucumber` by running
|
11
|
+
|
12
|
+
- `gem install selenium-cucumber`
|
13
|
+
- You might have to run `sudo gem install selenium-cucumber` if you do not have the right permissions.
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Usage: selenium-cucumber <command-name> [parameters] [options]
|
2
|
+
<command-name> can be one of
|
3
|
+
help
|
4
|
+
gen
|
5
|
+
version
|
6
|
+
|
7
|
+
Commands:
|
8
|
+
help : prints more detailed help information.
|
9
|
+
|
10
|
+
gen : creates a skeleton features dir. This is usually used once when
|
11
|
+
setting up selnium-cucumber to ensure that the features folder contains
|
12
|
+
the right step definitions and environment to run with cucumber.
|
13
|
+
|
14
|
+
version : prints the gem version
|
15
|
+
|
16
|
+
Options: -v, --verbose Turns on verbose logging
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'selenium-webdriver'
|
3
|
+
|
4
|
+
$BASE_URL = ENV["URL"] || "ff"
|
5
|
+
|
6
|
+
case ENV['BROWSER']
|
7
|
+
when 'ie'
|
8
|
+
browser_type = :ie
|
9
|
+
when 'ff'
|
10
|
+
browser_type = :ff
|
11
|
+
when 'chrome'
|
12
|
+
browser_type = :chrome
|
13
|
+
when 'opera'
|
14
|
+
browser_type = :opera
|
15
|
+
else
|
16
|
+
browser_type = :ff
|
17
|
+
end
|
18
|
+
|
19
|
+
browser = Selenium::WebDriver.for(browser_type)
|
20
|
+
#puts browser_type.to_s
|
21
|
+
Before do
|
22
|
+
$driver = browser
|
23
|
+
$driver.manage().window().maximize()
|
24
|
+
# $driver.get $BASE_URL
|
25
|
+
end
|
26
|
+
|
27
|
+
at_exit() do
|
28
|
+
$driver.close
|
29
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require_relative 'methods/assertion_methods'
|
2
|
+
|
3
|
+
#Page title checking
|
4
|
+
Then(/^I see page title as "(.*?)"$/) do |title|
|
5
|
+
check_title(title)
|
6
|
+
end
|
7
|
+
|
8
|
+
#Element Value checking - Positive Case
|
9
|
+
Then /^I should see element value as "([^\"]*)" where element id is "([^\"]*)"$/ do |element_value, element_id|
|
10
|
+
check_element_value("id",element_value,element_id,true)
|
11
|
+
end
|
12
|
+
|
13
|
+
Then /^I should see element value as "([^\"]*)" where element name is "([^\"]*)"$/ do |element_value, element_name|
|
14
|
+
check_element_value("name",element_value,element_name,true)
|
15
|
+
end
|
16
|
+
|
17
|
+
Then /^I should see element value as "([^\"]*)" where element xpath is "([^\"]*)"$/ do |element_value, element_xpath|
|
18
|
+
check_element_value("xpath",element_value,element_xpath,true)
|
19
|
+
end
|
20
|
+
|
21
|
+
#Element Value checking - Negative Case
|
22
|
+
Then /^I should not see element value as "([^\"]*)" where element id is "([^\"]*)"$/ do |element_value, element_id|
|
23
|
+
check_element_value("id",element_value,element_id,false)
|
24
|
+
end
|
25
|
+
|
26
|
+
Then /^I should not see element value as "([^\"]*)" where element name is "([^\"]*)"$/ do |element_value, element_name|
|
27
|
+
check_element_value("name",element_value,element_name,false)
|
28
|
+
end
|
29
|
+
|
30
|
+
Then /^I should not see element value as "([^\"]*)" where element xpath is "([^\"]*)"$/ do |element_value, element_xpath|
|
31
|
+
check_element_value("xpath",element_value,element_xpath,false)
|
32
|
+
end
|
33
|
+
|
34
|
+
#Element enabled checking - Positive Case
|
35
|
+
Then /^element with id "([^\"]*)" should enable$/ do |element_id|
|
36
|
+
check_element_enable("id", element_id, true)
|
37
|
+
end
|
38
|
+
|
39
|
+
Then /^element with name "([^\"]*)" should enable$/ do |element_name|
|
40
|
+
check_element_enable("name", element_name, true)
|
41
|
+
end
|
42
|
+
|
43
|
+
Then /^element with xpath "([^\"]*)" should enable$/ do |element_xpath|
|
44
|
+
check_element_enable("xpath", element_xpath, true)
|
45
|
+
end
|
46
|
+
|
47
|
+
#Element disabled checking - Positive Case
|
48
|
+
Then /^element with id "([^\"]*)" should disable$/ do |element_id|
|
49
|
+
check_element_enable("id", element_id, false)
|
50
|
+
end
|
51
|
+
|
52
|
+
Then /^element with name "([^\"]*)" should disable$/ do |element_name|
|
53
|
+
check_element_enable("name", element_name, false)
|
54
|
+
end
|
55
|
+
|
56
|
+
Then /^element with xpath "([^\"]*)" should disable$/ do |element_xpath|
|
57
|
+
check_element_enable("xpath", element_xpath, false)
|
58
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require_relative 'methods/enter_text_methods'
|
2
|
+
|
3
|
+
#input field
|
4
|
+
Then /^I enter "([^\"]*)" into input field with id "([^\"]*)"$/ do |text, id|
|
5
|
+
enter_text("id",text,id)
|
6
|
+
end
|
7
|
+
|
8
|
+
Then /^I enter "([^\"]*)" into input field with name "([^\"]*)"$/ do |text, name|
|
9
|
+
enter_text("name",text,name)
|
10
|
+
end
|
11
|
+
|
12
|
+
Then /^I enter "([^\"]*)" into input field with xpath "([^\"]*)"$/ do |text, xpath|
|
13
|
+
enter_text("xpath",text,xpath)
|
14
|
+
end
|
15
|
+
|
16
|
+
Then /^I clear input field with id "([^\"]*)"$/ do |id|
|
17
|
+
clear_text("id",id)
|
18
|
+
end
|
19
|
+
|
20
|
+
Then /^I clear input field with name "([^\"]*)"$/ do |name|
|
21
|
+
clear_text("name",name)
|
22
|
+
end
|
23
|
+
|
24
|
+
Then /^I clear input field with xpath "([^\"]*)"$/ do |xpath|
|
25
|
+
clear_text("xpath",xpath)
|
26
|
+
end
|
27
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require "selenium-webdriver"
|
3
|
+
|
4
|
+
#Page title checking
|
5
|
+
def check_title(title)
|
6
|
+
if($driver.title!=title)
|
7
|
+
raise "Page Title Not Matched"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
#Element Value checking
|
12
|
+
def check_element_value(access_type, actual_value, access_name, test_case)
|
13
|
+
if test_case
|
14
|
+
if($driver.find_element(:"#{access_type}" => "#{access_name}").attribute("value")!=actual_value)
|
15
|
+
raise "Value Not Matched"
|
16
|
+
end
|
17
|
+
else
|
18
|
+
if($driver.find_element(:"#{access_type}" => "#{access_name}").attribute("value")==actual_value)
|
19
|
+
raise "Value Matched"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
#Element enabled checking
|
25
|
+
def check_element_enable(access_type, access_name, test_case)
|
26
|
+
if test_case
|
27
|
+
if(!$driver.find_element(:"#{access_type}" => "#{access_name}").enabled?)
|
28
|
+
raise "Element not enabled"
|
29
|
+
end
|
30
|
+
else
|
31
|
+
if($driver.find_element(:"#{access_type}" => "#{access_name}").enabled?)
|
32
|
+
raise "Element enabled"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require "selenium-webdriver"
|
3
|
+
|
4
|
+
|
5
|
+
def enter_text(access_type,text,access_name)
|
6
|
+
element = $driver.find_element(:"#{access_type}" => "#{access_name}").send_keys text
|
7
|
+
end
|
8
|
+
|
9
|
+
def clear_text(access_type,access_name)
|
10
|
+
element = $driver.find_element(:"#{access_type}" => "#{access_name}").clear
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require_relative 'methods/press_button_methods'
|
2
|
+
|
3
|
+
When(/^I click on element with id "(.*?)"$/) do |element_id|
|
4
|
+
click("id",element_id)
|
5
|
+
end
|
6
|
+
|
7
|
+
When(/^I click on element with name "(.*?)"$/) do |element_name|
|
8
|
+
click("name",element_name)
|
9
|
+
end
|
10
|
+
|
11
|
+
When(/^I click on element with xpath "(.*?)"$/) do |element_xpath|
|
12
|
+
click("xpath",element_xpath)
|
13
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require_relative 'methods/progress_methods'
|
2
|
+
|
3
|
+
Then(/^I wait for (\d+) sec$/) do |time|
|
4
|
+
sleep time.to_i
|
5
|
+
end
|
6
|
+
|
7
|
+
Then(/^I wait "(.*?)" second for element having id "(.*?)"$/) do |duration, id|
|
8
|
+
wait_for_element("id",id,duration)
|
9
|
+
end
|
10
|
+
|
11
|
+
Then(/^I wait "(.*?)" second for element having name "(.*?)"$/) do |duration, name|
|
12
|
+
wait_for_element("name",name,duration)
|
13
|
+
end
|
14
|
+
|
15
|
+
Then(/^I wait "(.*?)" second for element having xpath "(.*?)"$/) do |duration, xpath|
|
16
|
+
wait_for_element("xpath",xpath,duration)
|
17
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
|
2
|
+
require 'selenium-cucumber/assertion_steps'
|
3
|
+
require 'selenium-cucumber/enter_text_steps'
|
4
|
+
require 'selenium-cucumber/navigation_steps'
|
5
|
+
require 'selenium-cucumber/press_button_steps'
|
6
|
+
require 'selenium-cucumber/progress_step'
|
7
|
+
require 'selenium-cucumber/screenshot_step'
|
metadata
ADDED
@@ -0,0 +1,99 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: selenium-cucumber
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Sameer Sawant
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2014-06-15 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: cucumber
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: selenium-webdriver
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
description: A BDD approch to write automated test script for testing web application.
|
47
|
+
email: sameersawant1992@gmail.com
|
48
|
+
executables:
|
49
|
+
- selenium-cucumber
|
50
|
+
extensions: []
|
51
|
+
extra_rdoc_files: []
|
52
|
+
files:
|
53
|
+
- lib/selenium-cucumber.rb
|
54
|
+
- lib/selenium-cucumber/assertion_steps.rb
|
55
|
+
- lib/selenium-cucumber/enter_text_steps.rb
|
56
|
+
- lib/selenium-cucumber/navigation_steps.rb
|
57
|
+
- lib/selenium-cucumber/press_button_steps.rb
|
58
|
+
- lib/selenium-cucumber/progress_step.rb
|
59
|
+
- lib/selenium-cucumber/screenshot_step.rb
|
60
|
+
- lib/selenium-cucumber/version.rb
|
61
|
+
- lib/selenium-cucumber/methods/assertion_methods.rb
|
62
|
+
- lib/selenium-cucumber/methods/enter_text_methods.rb
|
63
|
+
- lib/selenium-cucumber/methods/navigate_methods.rb
|
64
|
+
- lib/selenium-cucumber/methods/press_button_methods.rb
|
65
|
+
- lib/selenium-cucumber/methods/progress_methods.rb
|
66
|
+
- bin/generate.rb
|
67
|
+
- bin/helper.rb
|
68
|
+
- features-skeleton/my_first.feature
|
69
|
+
- features-skeleton/step_definitions/custom_steps.rb
|
70
|
+
- features-skeleton/support/env.rb
|
71
|
+
- doc/canned_steps.md
|
72
|
+
- doc/installation.md
|
73
|
+
- doc/selenium-cucumber-help.txt
|
74
|
+
- bin/selenium-cucumber
|
75
|
+
homepage: http://sameersawant1992.wordpress.com/
|
76
|
+
licenses: []
|
77
|
+
post_install_message:
|
78
|
+
rdoc_options: []
|
79
|
+
require_paths:
|
80
|
+
- lib
|
81
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
83
|
+
requirements:
|
84
|
+
- - ! '>='
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
87
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
|
+
none: false
|
89
|
+
requirements:
|
90
|
+
- - ! '>='
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '0'
|
93
|
+
requirements: []
|
94
|
+
rubyforge_project:
|
95
|
+
rubygems_version: 1.8.28
|
96
|
+
signing_key:
|
97
|
+
specification_version: 3
|
98
|
+
summary: SELENIUM WEBDRIVER 2.0 WITH RUBY & CUCUMBER
|
99
|
+
test_files: []
|