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.
@@ -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
@@ -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'
@@ -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[:query] && params[:query].split('&').each do |param|
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[:query] ||= uri.query && URI::decode(uri.query)
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
@@ -1,5 +1,5 @@
1
1
  module Gridinit
2
2
  module Jmeter
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  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.0
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-22 00:00:00.000000000 Z
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