gridinit-jmeter 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,4 +22,7 @@ require 'gridinit-jmeter/regex_extractor'
22
22
  require 'gridinit-jmeter/xpath_extractor'
23
23
  require 'gridinit-jmeter/user_defined_variable'
24
24
  require 'gridinit-jmeter/gaussian_random_timer'
25
- require 'gridinit-jmeter/response_assertion'
25
+ require 'gridinit-jmeter/response_assertion'
26
+ require 'gridinit-jmeter/table_visualizer'
27
+ require 'gridinit-jmeter/graph_visualizer'
28
+ require 'gridinit-jmeter/summary_report'
@@ -174,6 +174,24 @@ module Gridinit
174
174
  logger.fatal "There was an error: #{e.message}"
175
175
  end
176
176
  end
177
+
178
+ def table_visualizer(name="", params={}, &block)
179
+ node = Gridinit::Jmeter::TableVisualizer.new(name, params)
180
+ last_node_from(caller) << node.doc.children << hash_tree
181
+ self.instance_exec(&block) if block
182
+ end
183
+
184
+ def graph_visualizer(name="", params={}, &block)
185
+ node = Gridinit::Jmeter::GraphVisualizer.new(name, params)
186
+ last_node_from(caller) << node.doc.children << hash_tree
187
+ self.instance_exec(&block) if block
188
+ end
189
+
190
+ def summary_report(name="", params={}, &block)
191
+ node = Gridinit::Jmeter::SummaryReport.new(name, params)
192
+ last_node_from(caller) << node.doc.children << hash_tree
193
+ self.instance_exec(&block) if block
194
+ end
177
195
 
178
196
  private
179
197
 
@@ -234,4 +252,4 @@ def test(&block)
234
252
  t = Gridinit.dsl_eval(Gridinit::Jmeter::DSL.new, &block)
235
253
  t.out
236
254
  t
237
- end
255
+ end
@@ -0,0 +1,52 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class GraphVisualizer
5
+ attr_accessor :doc
6
+ def initialize(name="Graph Results", params={})
7
+ @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
8
+ <ResultCollector guiclass="GraphVisualizer" 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
@@ -0,0 +1,52 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class SummaryReport
5
+ attr_accessor :doc
6
+ def initialize(name="Summary Report", params={})
7
+ @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
8
+ <ResultCollector guiclass="SummaryReport" 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
@@ -0,0 +1,51 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class TableVisualizer
5
+ attr_accessor :doc
6
+ def initialize(name="View Results in Table", params={})
7
+ @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
8
+ <ResultCollector guiclass="TableVisualizer" 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
+ EOF
40
+ params.each do |name, value|
41
+ node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
42
+ node.first.content = value unless node.empty?
43
+ end
44
+ end
45
+
46
+ private
47
+
48
+ end
49
+
50
+ end
51
+ end
@@ -1,5 +1,5 @@
1
1
  module Gridinit
2
2
  module Jmeter
3
- VERSION = "0.0.5"
3
+ VERSION = "0.0.6"
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.0.5
4
+ version: 0.0.6
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: 2012-12-10 00:00:00.000000000 Z
12
+ date: 2013-01-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
@@ -83,6 +83,7 @@ files:
83
83
  - lib/gridinit-jmeter/dsl.rb
84
84
  - lib/gridinit-jmeter/fallback_content_proxy.rb
85
85
  - lib/gridinit-jmeter/gaussian_random_timer.rb
86
+ - lib/gridinit-jmeter/graph_visualizer.rb
86
87
  - lib/gridinit-jmeter/http_sampler.rb
87
88
  - lib/gridinit-jmeter/if_controller.rb
88
89
  - lib/gridinit-jmeter/logger-colors.rb
@@ -91,6 +92,8 @@ files:
91
92
  - lib/gridinit-jmeter/request_defaults.rb
92
93
  - lib/gridinit-jmeter/response_assertion.rb
93
94
  - lib/gridinit-jmeter/strip-heredoc.rb
95
+ - lib/gridinit-jmeter/summary_report.rb
96
+ - lib/gridinit-jmeter/table_visualizer.rb
94
97
  - lib/gridinit-jmeter/test_plan.rb
95
98
  - lib/gridinit-jmeter/thread_group.rb
96
99
  - lib/gridinit-jmeter/transaction.rb