testnow 0.0.4 → 0.0.5
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.
- 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
|