testnow 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/testnow +94 -18
- data/data/showtime/Gemfile +0 -1
- data/data/showtime/Gemfile_rspec +6 -0
- data/data/showtime/Rakefile_rspec +7 -0
- data/data/showtime/github_spec.rb +18 -0
- data/data/showtime/spec_helper.rb +20 -0
- data/lib/testnow/version +1 -1
- metadata +30 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 14794c0fbef9669ae635509c4366bc16d95135b6
|
4
|
+
data.tar.gz: 06271a0aa763817c7166c242e52895c164c837ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5cfceab1c8ba33e733de91bd3243ccb839e2288c9c769f6369c0946fe3de1a67a631cab5fbf5828bbb08c220695f2a5b05214076197613e35a09fb7a5174bb3f
|
7
|
+
data.tar.gz: 9703853dc59c68d6cbe4fc49f21801762704882185eb4a8d1d45768b8daac324ecc953f495f3e3ab95c028c5446268e12bc72d128d6ef903a6950247c6513ae8
|
data/bin/testnow
CHANGED
@@ -2,16 +2,17 @@
|
|
2
2
|
|
3
3
|
require 'fileutils'
|
4
4
|
|
5
|
-
@root_dir = File.join(FileUtils.pwd, "cucumber_now")
|
6
|
-
@feature_dir = File.join(@root_dir,'features')
|
7
|
-
@scenario_dir = File.join(@feature_dir, 'scenarios')
|
8
|
-
@steps_dir = File.join(@feature_dir,'step_definition')
|
9
|
-
@page_dir = File.join(@feature_dir, 'pages')
|
10
|
-
@support_dir = File.join(@feature_dir,'support')
|
11
|
-
@report_dir = File.join(@root_dir, 'reports')
|
12
5
|
@showtime_dir = File.join(File.dirname(__FILE__) + "/../data/showtime")
|
13
6
|
|
14
7
|
def cucumber_now
|
8
|
+
@root_dir = File.join(FileUtils.pwd, "cucumber_now")
|
9
|
+
@feature_dir = File.join(@root_dir,'features')
|
10
|
+
@scenario_dir = File.join(@feature_dir, 'scenarios')
|
11
|
+
@steps_dir = File.join(@feature_dir,'step_definition')
|
12
|
+
@page_dir = File.join(@feature_dir, 'pages')
|
13
|
+
@support_dir = File.join(@feature_dir,'support')
|
14
|
+
@report_dir = File.join(@root_dir, 'reports')
|
15
|
+
|
15
16
|
if File.exist?(@root_dir)
|
16
17
|
print 'There is already cucumber_now directory. Either delete it or try running the command from some other directory.'
|
17
18
|
exit 1
|
@@ -41,10 +42,9 @@ def cucumber_now
|
|
41
42
|
print "Creating the reports directory where the reports will be save after execution."
|
42
43
|
FileUtils.makedirs(@report_dir)
|
43
44
|
|
44
|
-
print "Creating config files
|
45
|
-
print "1. hooks.rb -- used for setup and teardown purpose."
|
45
|
+
print "Creating config files -- hooks.rb -- used for setup and teardown purpose."
|
46
46
|
FileUtils.copy(@showtime_dir+"/hooks.rb", @support_dir)
|
47
|
-
print "
|
47
|
+
print "Creating config files -- env.rb -- used as cucumber config"
|
48
48
|
FileUtils.copy(@showtime_dir+"/env.rb", @support_dir)
|
49
49
|
|
50
50
|
print "Creating feature file inside scenarios directory."
|
@@ -66,23 +66,91 @@ def cucumber_now
|
|
66
66
|
puts "* TestNow completed framework creation. A sample scenario is also created for your reference. *"
|
67
67
|
puts "*"*97
|
68
68
|
|
69
|
-
puts "\n Would you like to continue with dependency(gems) installation? (Y/n)"
|
69
|
+
puts "\n Would you like to continue with dependency(gems) installation? (Y/n) :"
|
70
70
|
ans=gets
|
71
71
|
if ans.chomp.downcase == "y"
|
72
72
|
print "TestNow is installing gems using bundler. Please wait till process completed."
|
73
|
-
system('gem install bundler')
|
74
73
|
system('bundle install --gemfile=$(pwd)/cucumber_now/Gemfile')
|
75
74
|
print "Dependency installation completed successfully.\n"
|
76
75
|
else
|
76
|
+
print "You can do this later also. Just cd into cucumber_now directory and run 'bundle install'\n"
|
77
77
|
exit 1
|
78
78
|
end
|
79
79
|
|
80
80
|
puts "\n"+"*"*80
|
81
81
|
puts "* Congratulations!!! Your WenDriver-Ruby-Cucumber framework is ready to use. *"
|
82
|
-
puts "*"
|
82
|
+
puts "* To run the sample reference test, please cd into cucumber_now directory *"
|
83
|
+
puts "* and run the command 'cucumber features' or 'rake cucumber_now' *"
|
84
|
+
puts "* A beautiful screenshot embedded report will be created in reports directory. *"
|
85
|
+
puts "* !!! HAPPY AUTOMATION !!! *"
|
86
|
+
puts "*"*80+"\n"
|
87
|
+
|
88
|
+
end
|
89
|
+
|
90
|
+
|
91
|
+
def rspec_now
|
92
|
+
@root_dir = File.join(FileUtils.pwd, "rspec_now")
|
93
|
+
@spec_dir = File.join(@root_dir, "spec")
|
94
|
+
@scenario_dir = File.join(@spec_dir, "scenarios")
|
95
|
+
@pages_dir = File.join(@root_dir, "pages")
|
96
|
+
|
97
|
+
if File.exist?(@root_dir)
|
98
|
+
print 'There is already rspec_now directory. Either delete it or try running the command from some other directory.'
|
99
|
+
exit 1
|
100
|
+
end
|
101
|
+
puts "\n"+"*"*67
|
102
|
+
puts "* TestNow is creating a WebDriver-Ruby-RSpec framework for you. *"
|
103
|
+
puts "*"*67
|
104
|
+
|
105
|
+
print "Creating project directory."
|
106
|
+
FileUtils.makedirs(@root_dir)
|
107
|
+
|
108
|
+
print "Creating spec directory."
|
109
|
+
FileUtils.makedirs(@spec_dir)
|
110
|
+
|
111
|
+
print "Creating the scenarios directory to contain the spec files."
|
112
|
+
FileUtils.makedirs(@scenario_dir)
|
113
|
+
|
114
|
+
print "Creating the page directory just in case if you want to use page object pattern."
|
115
|
+
FileUtils.makedirs(@pages_dir)
|
116
|
+
|
117
|
+
print "Creating config file -- spec_helper.rb -- used for dependency declaration and global setup-teardown"
|
118
|
+
FileUtils.copy(@showtime_dir+"/spec_helper.rb", @spec_dir)
|
119
|
+
|
120
|
+
print "Creating Gemfile -- used to contain all required gems information."
|
121
|
+
FileUtils.copy(@showtime_dir+"/Gemfile", @root_dir)
|
122
|
+
|
123
|
+
print "Creating Rakefile -- used to create automation execution tasks."
|
124
|
+
FileUtils.copy(@showtime_dir+"/Rakefile_rspec", @root_dir+"/Rakefile")
|
125
|
+
|
126
|
+
print "Creating spec file inside the scenarios directory."
|
127
|
+
FileUtils.copy(@showtime_dir+"/github_spec.rb", @scenario_dir)
|
128
|
+
|
129
|
+
print "Creating page class file inside the pages directory."
|
130
|
+
FileUtils.copy(@showtime_dir+"/github_page.rb", @pages_dir)
|
131
|
+
|
132
|
+
puts "\n Would you like to continue with dependency(gems) installation? (Y/n) :"
|
133
|
+
ans=gets
|
134
|
+
if ans.chomp.downcase == "y"
|
135
|
+
print "TestNow is installing gems using bundler. Please wait till process completed."
|
136
|
+
system('bundle install --gemfile=$(pwd)/rspec_now/Gemfile')
|
137
|
+
print "Dependency installation completed successfully.\n"
|
138
|
+
else
|
139
|
+
print "You can do this later. Just cd into rspec_now directory and run 'bundle install'\n"
|
140
|
+
exit 1
|
141
|
+
end
|
142
|
+
|
143
|
+
puts "\n"+"*"*77
|
144
|
+
puts "* Congratulations!!! Your WenDriver-Ruby-RSpec framework is ready to use. *"
|
145
|
+
puts "* To run the sample reference test, please cd into rspec_now directory *"
|
146
|
+
puts "* and run the command 'rake rspec_now'. Enjoy the show!!! *"
|
147
|
+
puts "* A beautiful descriptive report will be created in reports directory. *"
|
148
|
+
puts "* !!! HAPPY AUTOMATION !!! *"
|
149
|
+
puts "*"*77+"\n"
|
83
150
|
|
84
151
|
end
|
85
152
|
|
153
|
+
|
86
154
|
def print(msg)
|
87
155
|
puts "\n"
|
88
156
|
puts "=>=>=>=>=> " + msg
|
@@ -97,16 +165,22 @@ def print_help
|
|
97
165
|
<command-name> can be one of
|
98
166
|
help
|
99
167
|
cucumber_now
|
168
|
+
rspec_now
|
100
169
|
version
|
101
170
|
|
102
171
|
|
103
172
|
Command descriptions :
|
104
173
|
help : Prints help information in detail.
|
105
174
|
|
106
|
-
cucumber_now : Creates a framework for cross
|
107
|
-
|
108
|
-
|
109
|
-
|
175
|
+
cucumber_now : Creates a WebDriver-Ruby-Cucumber skeleton framework for cross
|
176
|
+
browser automation testing. Also creates a sample scenario for
|
177
|
+
reference which can be used to add more features(tests). This
|
178
|
+
framework is compatible with TestNow platform.
|
179
|
+
|
180
|
+
rspec_now : Creates a WebDriver-Ruby-RSpec skeleton framework for cross
|
181
|
+
browser automation testing. Also creates a sample scenario for
|
182
|
+
reference which can be used to add more specs(tests). This
|
183
|
+
framework is compatible with TestNow platform.
|
110
184
|
|
111
185
|
version : Prints the gem version
|
112
186
|
|
@@ -121,9 +195,11 @@ else
|
|
121
195
|
print_help
|
122
196
|
elsif cmd == 'cucumber_now'
|
123
197
|
cucumber_now
|
198
|
+
elsif cmd == 'rspec_now'
|
199
|
+
rspec_now
|
124
200
|
elsif cmd == 'version'
|
125
201
|
puts File.read(File.expand_path("../../lib/testnow/version", __FILE__))
|
126
202
|
else
|
127
|
-
|
203
|
+
print_help
|
128
204
|
end
|
129
205
|
end
|
data/data/showtime/Gemfile
CHANGED
@@ -0,0 +1,18 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__),'/../spec_helper')
|
2
|
+
|
3
|
+
describe "As a github user, my public profile" do
|
4
|
+
|
5
|
+
before(:each) do
|
6
|
+
@driver.get(ENV['TEST_URL'])
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should display my name" do
|
10
|
+
git = GithubPage.new(@driver)
|
11
|
+
git.search_github("Kaushal Rupani")
|
12
|
+
git.click_tab("Users")
|
13
|
+
git.verify_text_presence("Kaushal Rupani")
|
14
|
+
git.visit_profile
|
15
|
+
git.verify_text_presence("Kaushal Rupani")
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'selenium-webdriver'
|
3
|
+
require 'rake'
|
4
|
+
require 'testnow'
|
5
|
+
|
6
|
+
include RSpec::Matchers
|
7
|
+
include TestNow
|
8
|
+
|
9
|
+
require File.dirname(__FILE__) + "/../pages/github_page"
|
10
|
+
|
11
|
+
RSpec.configure do |config|
|
12
|
+
config.before(:all) do
|
13
|
+
ENV['TEST_URL'] = "https://github.com" if ENV['TEST_URL'].nil?
|
14
|
+
@driver = TestNow.init
|
15
|
+
end
|
16
|
+
|
17
|
+
config.after(:all) do
|
18
|
+
@driver.quit
|
19
|
+
end
|
20
|
+
end
|
data/lib/testnow/version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.5
|
metadata
CHANGED
@@ -1,15 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testnow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kaushal Rupani
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.11.2
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.10.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.11.2
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.10.0
|
13
33
|
- !ruby/object:Gem::Dependency
|
14
34
|
name: selenium-webdriver
|
15
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -20,7 +40,7 @@ dependencies:
|
|
20
40
|
- - ">="
|
21
41
|
- !ruby/object:Gem::Version
|
22
42
|
version: '2.52'
|
23
|
-
type: :
|
43
|
+
type: :development
|
24
44
|
prerelease: false
|
25
45
|
version_requirements: !ruby/object:Gem::Requirement
|
26
46
|
requirements:
|
@@ -30,7 +50,8 @@ dependencies:
|
|
30
50
|
- - ">="
|
31
51
|
- !ruby/object:Gem::Version
|
32
52
|
version: '2.52'
|
33
|
-
description: A gem to configure your Ruby
|
53
|
+
description: A gem to configure your WebDriver-Ruby automation suite for TestNow and
|
54
|
+
local
|
34
55
|
email: kushrupani@live.com
|
35
56
|
executables:
|
36
57
|
- testnow
|
@@ -43,12 +64,16 @@ files:
|
|
43
64
|
- data/firebug-2.0.13.xpi
|
44
65
|
- data/netExport-0.8.xpi
|
45
66
|
- data/showtime/Gemfile
|
67
|
+
- data/showtime/Gemfile_rspec
|
68
|
+
- data/showtime/Rakefile_rspec
|
46
69
|
- data/showtime/cucumber.yml
|
47
70
|
- data/showtime/env.rb
|
48
71
|
- data/showtime/github.feature
|
49
72
|
- data/showtime/github_page.rb
|
73
|
+
- data/showtime/github_spec.rb
|
50
74
|
- data/showtime/github_steps.rb
|
51
75
|
- data/showtime/hooks.rb
|
76
|
+
- data/showtime/spec_helper.rb
|
52
77
|
- lib/testnow.rb
|
53
78
|
- lib/testnow/chrome.rb
|
54
79
|
- lib/testnow/firefox.rb
|
@@ -79,7 +104,7 @@ rubyforge_project:
|
|
79
104
|
rubygems_version: 2.5.1
|
80
105
|
signing_key:
|
81
106
|
specification_version: 4
|
82
|
-
summary: TestNow
|
107
|
+
summary: 'TestNow gem : Automate in a BDD + Cross Browser style'
|
83
108
|
test_files:
|
84
109
|
- spec/spec_helper.rb
|
85
110
|
- spec/testnow/testnow_spec.rb
|