gridinit-jmeter 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/examples/basic_results.rb +22 -0
- data/lib/gridinit-jmeter.rb +2 -0
- data/lib/gridinit-jmeter/dsl.rb +15 -0
- data/lib/gridinit-jmeter/http_sampler.rb +2 -2
- data/lib/gridinit-jmeter/response_time_graph_visualizer.rb +53 -0
- data/lib/gridinit-jmeter/stat_visualizer.rb +52 -0
- data/lib/gridinit-jmeter/version.rb +1 -1
- metadata +5 -2
@@ -0,0 +1,22 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
+
require 'gridinit-jmeter'
|
3
|
+
|
4
|
+
test do
|
5
|
+
threads 1, { loops: 10 } do
|
6
|
+
visit 'Google Search', 'http://google.com'
|
7
|
+
end
|
8
|
+
|
9
|
+
#
|
10
|
+
# About response_graph
|
11
|
+
#
|
12
|
+
# Too few samples in this example.
|
13
|
+
# Please change interval(ms) by hand when you display results.
|
14
|
+
#
|
15
|
+
table_visualizer 'Table Visualizer'
|
16
|
+
graph_visualizer 'Graph Visualizer'
|
17
|
+
stat_visualizer 'Stat Visualizer'
|
18
|
+
response_graph 'response_graph'
|
19
|
+
summary_report 'Summary Report'
|
20
|
+
view_results 'View Results Tree'
|
21
|
+
|
22
|
+
end.jmx
|
data/lib/gridinit-jmeter.rb
CHANGED
@@ -27,5 +27,7 @@ require 'gridinit-jmeter/response_assertion'
|
|
27
27
|
require 'gridinit-jmeter/view_results_full_visualizer'
|
28
28
|
require 'gridinit-jmeter/table_visualizer'
|
29
29
|
require 'gridinit-jmeter/graph_visualizer'
|
30
|
+
require 'gridinit-jmeter/response_time_graph_visualizer'
|
31
|
+
require 'gridinit-jmeter/stat_visualizer'
|
30
32
|
require 'gridinit-jmeter/summary_report'
|
31
33
|
require 'gridinit-jmeter/ldap_ext_sampler'
|
data/lib/gridinit-jmeter/dsl.rb
CHANGED
@@ -203,6 +203,21 @@ module Gridinit
|
|
203
203
|
self.instance_exec(&block) if block
|
204
204
|
end
|
205
205
|
|
206
|
+
def stat_visualizer(name="Stat Results", params={}, &block)
|
207
|
+
node = Gridinit::Jmeter::StatVisualizer.new(name, params)
|
208
|
+
last_node_from(caller) << node.doc.children << hash_tree
|
209
|
+
self.instance_exec(&block) if block
|
210
|
+
end
|
211
|
+
|
212
|
+
def response_time_graph_visualizer(name="Reponse Time Graph", params={}, &block)
|
213
|
+
node = Gridinit::Jmeter::ResponseTimeGraphVisualizer.new(name, params)
|
214
|
+
last_node_from(caller) << node.doc.children << hash_tree
|
215
|
+
self.instance_exec(&block) if block
|
216
|
+
end
|
217
|
+
|
218
|
+
alias_method :response_graph, :response_time_graph_visualizer
|
219
|
+
|
220
|
+
|
206
221
|
def summary_report(name="Summary Report", params={}, &block)
|
207
222
|
node = Gridinit::Jmeter::SummaryReport.new(name, params)
|
208
223
|
last_node_from(caller) << node.doc.children << hash_tree
|
@@ -31,7 +31,7 @@ module Gridinit
|
|
31
31
|
parse_url(url, params) unless url.empty?
|
32
32
|
fill_in(params) if params[:fill_in]
|
33
33
|
raw_body(params) if params[:raw_body]
|
34
|
-
params[:
|
34
|
+
params[:params] && params[:params].split('&').each do |param|
|
35
35
|
name,value = param.split('=')
|
36
36
|
fill_in({ fill_in: { "#{name}" => value }, always_encode: params[:always_encode] })
|
37
37
|
end
|
@@ -54,7 +54,7 @@ module Gridinit
|
|
54
54
|
params[:protocol] ||= uri.scheme unless URI.parse(URI::encode(url)).scheme.nil?
|
55
55
|
params[:domain] ||= uri.host
|
56
56
|
params[:path] ||= uri.path && URI::decode(uri.path)
|
57
|
-
params[:
|
57
|
+
params[:params] ||= uri.query && URI::decode(uri.query)
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class ResponseTimeGraphVisualizer
|
5
|
+
attr_accessor :doc
|
6
|
+
def initialize(name, params={})
|
7
|
+
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
|
+
|
9
|
+
<ResultCollector guiclass="RespTimeGraphVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
|
10
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
11
|
+
<objProp>
|
12
|
+
<name>saveConfig</name>
|
13
|
+
<value class="SampleSaveConfiguration">
|
14
|
+
<time>true</time>
|
15
|
+
<latency>true</latency>
|
16
|
+
<timestamp>true</timestamp>
|
17
|
+
<success>true</success>
|
18
|
+
<label>true</label>
|
19
|
+
<code>true</code>
|
20
|
+
<message>true</message>
|
21
|
+
<threadName>true</threadName>
|
22
|
+
<dataType>true</dataType>
|
23
|
+
<encoding>false</encoding>
|
24
|
+
<assertions>true</assertions>
|
25
|
+
<subresults>true</subresults>
|
26
|
+
<responseData>false</responseData>
|
27
|
+
<samplerData>false</samplerData>
|
28
|
+
<xml>true</xml>
|
29
|
+
<fieldNames>false</fieldNames>
|
30
|
+
<responseHeaders>false</responseHeaders>
|
31
|
+
<requestHeaders>false</requestHeaders>
|
32
|
+
<responseDataOnError>false</responseDataOnError>
|
33
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
34
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
35
|
+
<bytes>true</bytes>
|
36
|
+
</value>
|
37
|
+
</objProp>
|
38
|
+
<stringProp name="filename"></stringProp>
|
39
|
+
</ResultCollector>
|
40
|
+
|
41
|
+
EOF
|
42
|
+
params.each do |name, value|
|
43
|
+
node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
|
44
|
+
node.first.content = value unless node.empty?
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
private
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class StatVisualizer
|
5
|
+
attr_accessor :doc
|
6
|
+
def initialize(name, params={})
|
7
|
+
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
|
+
<ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
|
9
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
10
|
+
<objProp>
|
11
|
+
<name>saveConfig</name>
|
12
|
+
<value class="SampleSaveConfiguration">
|
13
|
+
<time>true</time>
|
14
|
+
<latency>true</latency>
|
15
|
+
<timestamp>true</timestamp>
|
16
|
+
<success>true</success>
|
17
|
+
<label>true</label>
|
18
|
+
<code>true</code>
|
19
|
+
<message>true</message>
|
20
|
+
<threadName>true</threadName>
|
21
|
+
<dataType>true</dataType>
|
22
|
+
<encoding>false</encoding>
|
23
|
+
<assertions>true</assertions>
|
24
|
+
<subresults>true</subresults>
|
25
|
+
<responseData>false</responseData>
|
26
|
+
<samplerData>false</samplerData>
|
27
|
+
<xml>true</xml>
|
28
|
+
<fieldNames>false</fieldNames>
|
29
|
+
<responseHeaders>false</responseHeaders>
|
30
|
+
<requestHeaders>false</requestHeaders>
|
31
|
+
<responseDataOnError>false</responseDataOnError>
|
32
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
33
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
34
|
+
<bytes>true</bytes>
|
35
|
+
</value>
|
36
|
+
</objProp>
|
37
|
+
<stringProp name="filename"></stringProp>
|
38
|
+
</ResultCollector>
|
39
|
+
|
40
|
+
EOF
|
41
|
+
params.each do |name, value|
|
42
|
+
node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
|
43
|
+
node.first.content = value unless node.empty?
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gridinit-jmeter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-01-
|
12
|
+
date: 2013-01-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
@@ -73,6 +73,7 @@ files:
|
|
73
73
|
- examples/basic_post.rb
|
74
74
|
- examples/basic_proxy.rb
|
75
75
|
- examples/basic_query_params.rb
|
76
|
+
- examples/basic_results.rb
|
76
77
|
- examples/basic_run.rb
|
77
78
|
- examples/basic_stdout.rb
|
78
79
|
- examples/basic_test_data.rb
|
@@ -98,6 +99,8 @@ files:
|
|
98
99
|
- lib/gridinit-jmeter/regex_extractor.rb
|
99
100
|
- lib/gridinit-jmeter/request_defaults.rb
|
100
101
|
- lib/gridinit-jmeter/response_assertion.rb
|
102
|
+
- lib/gridinit-jmeter/response_time_graph_visualizer.rb
|
103
|
+
- lib/gridinit-jmeter/stat_visualizer.rb
|
101
104
|
- lib/gridinit-jmeter/strip-heredoc.rb
|
102
105
|
- lib/gridinit-jmeter/summary_report.rb
|
103
106
|
- lib/gridinit-jmeter/table_visualizer.rb
|