grid 0.3.1 → 0.3.3
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/Gemfile.lock +1 -1
- data/VERSION +1 -1
- data/bin/grid +5 -0
- data/examples/cucumber/example.feature +11 -0
- data/examples/cucumber/step_definitions/.DS_Store +0 -0
- data/examples/cucumber/step_definitions/example_steps.rb +25 -0
- data/grid.gemspec +6 -2
- data/lib/grid.rb +11 -3
- metadata +8 -4
data/Gemfile.lock
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.3
|
data/bin/grid
CHANGED
@@ -39,6 +39,10 @@ OptionParser.new do |opts|
|
|
39
39
|
"Optional URI of the Gridinit API, default http://gridin.it/api/v0") do |u|
|
40
40
|
options[:uri] = u || nil
|
41
41
|
end
|
42
|
+
opts.on("-a", "--api API", String,
|
43
|
+
"Specify the Watir API to use, default webdriver [watir, firewatir, webdriver_performance]}") do |a|
|
44
|
+
options[:api] = b || 'webdriver'
|
45
|
+
end
|
42
46
|
|
43
47
|
opts.on_tail("-h", "--help", "Show this message") do
|
44
48
|
puts opts
|
@@ -52,6 +56,7 @@ helper = Grid::Helper.new(
|
|
52
56
|
:email => options[:email],
|
53
57
|
:password => options[:password],
|
54
58
|
:uri => options[:uri],
|
59
|
+
:api => options[:api],
|
55
60
|
:args => ARGV
|
56
61
|
)
|
57
62
|
helper.send(ARGV[0])
|
@@ -0,0 +1,11 @@
|
|
1
|
+
@NFR001
|
2
|
+
Feature: User logons
|
3
|
+
In order to use the web applicaion users must be
|
4
|
+
able to logon and access the portal in 3 seconds
|
5
|
+
|
6
|
+
Scenario: Logon with 50 users in 3 minutes
|
7
|
+
Given 200 users open "chrome"
|
8
|
+
And navigate to the portal
|
9
|
+
When they enter their credentials
|
10
|
+
Then they should see their account settings
|
11
|
+
And the response time should be less than 3 seconds
|
Binary file
|
@@ -0,0 +1,25 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', '..', 'lib'))
|
3
|
+
require 'grid'
|
4
|
+
require 'rspec/expectations';
|
5
|
+
|
6
|
+
Given /^(\d+) users open "([^"]*)"$/ do |arg1, arg2|
|
7
|
+
pending # express the regexp above with the code you wish you had
|
8
|
+
end
|
9
|
+
|
10
|
+
Given /^navigate to the portal$/ do
|
11
|
+
pending # express the regexp above with the code you wish you had
|
12
|
+
end
|
13
|
+
|
14
|
+
When /^they enter their credentials$/ do
|
15
|
+
pending # express the regexp above with the code you wish you had
|
16
|
+
end
|
17
|
+
|
18
|
+
Then /^they should see their account settings$/ do
|
19
|
+
pending # express the regexp above with the code you wish you had
|
20
|
+
end
|
21
|
+
|
22
|
+
Then /^the response time should be less than (\d+) seconds$/ do |arg1|
|
23
|
+
pending # express the regexp above with the code you wish you had
|
24
|
+
end
|
25
|
+
|
data/grid.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{grid}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Tim Koopmans"]
|
12
|
-
s.date = %q{2011-04-
|
12
|
+
s.date = %q{2011-04-20}
|
13
13
|
s.default_executable = %q{grid}
|
14
14
|
s.description = %q{Gridinit command line utilities to help you use the Gridinit API}
|
15
15
|
s.email = %q{tim.koops@gmail.com}
|
@@ -28,6 +28,9 @@ Gem::Specification.new do |s|
|
|
28
28
|
"Rakefile",
|
29
29
|
"VERSION",
|
30
30
|
"bin/grid",
|
31
|
+
"examples/cucumber/example.feature",
|
32
|
+
"examples/cucumber/step_definitions/.DS_Store",
|
33
|
+
"examples/cucumber/step_definitions/example_steps.rb",
|
31
34
|
"grid.gemspec",
|
32
35
|
"lib/grid.rb",
|
33
36
|
"spec/grid_spec.rb",
|
@@ -39,6 +42,7 @@ Gem::Specification.new do |s|
|
|
39
42
|
s.rubygems_version = %q{1.4.2}
|
40
43
|
s.summary = %q{Gridinit command line utilities}
|
41
44
|
s.test_files = [
|
45
|
+
"examples/cucumber/step_definitions/example_steps.rb",
|
42
46
|
"spec/grid_spec.rb",
|
43
47
|
"spec/spec_helper.rb"
|
44
48
|
]
|
data/lib/grid.rb
CHANGED
@@ -20,6 +20,9 @@ class Grid
|
|
20
20
|
log.level = params[:loglevel] || Logger::DEBUG
|
21
21
|
grid = Watir::Grid.new(params)
|
22
22
|
grid.start(:take_all => true)
|
23
|
+
if grid.first[:browser_type] =~ /webdriver/
|
24
|
+
webdriver_browser_type = ask('What browser type?') { |q| q.default = "firefox" } unless params[:browser]
|
25
|
+
end
|
23
26
|
log.debug("Grid size : #{grid.size}")
|
24
27
|
log.debug("Grid rampup : #{rampup(grid.size, params)} secs")
|
25
28
|
threads = []
|
@@ -32,7 +35,11 @@ class Grid
|
|
32
35
|
log.debug("Browser #{index+1}##{Thread.current.object_id} architecture : #{browser[:architecture]}")
|
33
36
|
log.debug("Browser #{index+1}##{Thread.current.object_id} type : #{browser[:browser_type]}")
|
34
37
|
log.debug("Browser #{index+1}##{Thread.current.object_id} hostname : #{browser[:hostname]}")
|
35
|
-
|
38
|
+
if browser[:browser_type] =~ /webdriver/
|
39
|
+
@browser = browser[:object].new_browser(webdriver_browser_type.to_sym)
|
40
|
+
else
|
41
|
+
@browser = browser[:object].new_browser
|
42
|
+
end
|
36
43
|
yield @browser, "#{index+1}##{Thread.current.object_id}"
|
37
44
|
log.debug("Browser #{index+1}##{Thread.current.object_id} stop : #{::Time.now}")
|
38
45
|
log.debug("Browser #{index+1}##{Thread.current.object_id} elapsed : #{(::Time.now - start).to_i} secs")
|
@@ -63,6 +70,7 @@ class Grid
|
|
63
70
|
class Helper
|
64
71
|
def initialize(params = {})
|
65
72
|
@grid_id = params[:grid_id]
|
73
|
+
@api = params[:api]
|
66
74
|
@uri = params[:uri] || "http://gridin.it/api/v0"
|
67
75
|
logfile = STDOUT
|
68
76
|
@log = Logger.new(logfile, 'daily')
|
@@ -159,7 +167,7 @@ class Grid
|
|
159
167
|
description = ask("Grid description: ") { |q| q.default = "Grid created #{Time.now}" }
|
160
168
|
nodes = ask("Number of nodes: ") { |q| q.default = 5 }
|
161
169
|
location = ask("Location of nodes: ") { |q| q.default = "us-east" }
|
162
|
-
browser_type = ask("Node type: ") { |q| q.default = "webdriver" }
|
170
|
+
browser_type = ask("Node type: ") { |q| q.default = "webdriver" } unless @api
|
163
171
|
@grid_id = create_grid(name, description)
|
164
172
|
create_intranode(@grid_id, browser_type, location, nodes)
|
165
173
|
show
|
@@ -169,7 +177,7 @@ class Grid
|
|
169
177
|
@grid_id = ask("Grid ID: ") unless @grid_id
|
170
178
|
nodes = ask("Number of nodes: ") { |q| q.default = 5 }
|
171
179
|
location = ask("Location of nodes: ") { |q| q.default = "us-east" }
|
172
|
-
browser_type = ask("Node type: ") { |q| q.default = "webdriver" }
|
180
|
+
browser_type = ask("Node type: ") { |q| q.default = "webdriver" } unless @api
|
173
181
|
create_intranode(@grid_id, browser_type, location, nodes)
|
174
182
|
show
|
175
183
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 3
|
10
|
+
version: 0.3.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Tim Koopmans
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-04-
|
18
|
+
date: 2011-04-20 00:00:00 +10:00
|
19
19
|
default_executable: grid
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -253,6 +253,9 @@ files:
|
|
253
253
|
- Rakefile
|
254
254
|
- VERSION
|
255
255
|
- bin/grid
|
256
|
+
- examples/cucumber/example.feature
|
257
|
+
- examples/cucumber/step_definitions/.DS_Store
|
258
|
+
- examples/cucumber/step_definitions/example_steps.rb
|
256
259
|
- grid.gemspec
|
257
260
|
- lib/grid.rb
|
258
261
|
- spec/grid_spec.rb
|
@@ -292,5 +295,6 @@ signing_key:
|
|
292
295
|
specification_version: 3
|
293
296
|
summary: Gridinit command line utilities
|
294
297
|
test_files:
|
298
|
+
- examples/cucumber/step_definitions/example_steps.rb
|
295
299
|
- spec/grid_spec.rb
|
296
300
|
- spec/spec_helper.rb
|