gridinit-jmeter 0.1.0 → 0.1.1
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/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
|